lego_v3.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «lego_v3.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой торгового советника (Expert Advisor) для платформы MetaTrader 4, выполненный в виде гибкой оболочки для реализации собственных торговых стратегий. Советник поддерживает множество встроенных технических индикаторов — скользящие средние, стохастик, RSI, MACD, OsMA, ADX, SAR, Awesome Oscillator, фракталы, ускоритель, Демаркер, CCI, WPR, MFI и ATR — для формирования сигналов на открытие и закрытие позиций. Каждый индикатор можно включать или отключать независимо с помощью соответствующих переключателей.
Продукт предоставляет возможность подключения пользовательских индикаторов через механизм iCustom, а также включает блок управления денежными средствами с тремя режимами: фиксированный лот, мартингейл с множителем и процентное исчисление лота от equity. Для установки стоп-лосса и тейк-профита предусмотрена система на основе индикатора ATR с настраиваемым периодом и множителем.
Советник ограничивает количество открытых ордеров до одного на пару, содержит механизм паузы после закрытия сделки, настраиваемое проскальзывание и встроенную обработку типичных торговых ошибок. Продукт не является готовной стратегией — пользователю необходимо самостоятельно определить логику открытия и закрытия позиций через выбор и настройку индикаторов.
Настройки программы
| Настройка | Описание |
|---|---|
| The_instruction | Инструкция в коде — Указание на то, что инструкция находится в комментариях к коду. |
| General_Paramethers | Общие настройки — Заголовок общей секции настроек советника. |
| StopLoss (StopLoss) | Стоп-лосс — Значение стоп-лосса в пунктах. Может быть заменено автоматическим значением на основе ATR при соответствующей настройке. |
| ?ake?rofit. May be defined by indicators also. (TakeProfit) | Тейк-профит — Значение тейк-профита в пунктах. Может быть заменено автоматическим значением на основе ATR при соответствующей настройке. |
| I hope, theese are really seconds. (SleepBars_about) | Пояснение паузы — Пояснение к паузе — указывает примерное время ожидания в секундах после закрытия позиции. |
| A pause (SleepBars) | Пауза после закрытия — Переключатель паузы (сна) после закрытия ордера. При активации советник ожидает заданное количество баров перед следующей торговой операцией. |
| Slippage. Open a dictionary. (Slippage) | Проскальзывание — Допустимое проскальзывание цены при открытии ордера (в пунктах). |
| ID_of_EA__About | Пояснение идентификатора — Пояснение к Magic Number — идентификатору советника для различения ордеров при одновременной работе нескольких советников. |
| No, not that lame indicator "Zigzag", but a fuct. char. (ID_of_EA) | Идентификатор советника — Идентификатор советника (Magic Number), используемый для различения ордеров, созданных данным советником. Позволяет запускать несколько советников одновременно на одном счёте. |
| Block_of_Stakes | Управление лотом — Заголовок секции настроек управления лотом и денежными средствами. |
| Bl_1 | Режимы управления лотом — Описание режимов управления лотом: 1 — фиксированный лот, 2 — мартингейл, 3 — процентный расчёт. |
| I mean, it waits for new deal for covering the problem. (Bl_2) | Пояснение мартингейла — Пояснение к режиму мартингейла: мартингейл не является догоняющим и ожидает новую сделку для покрытия убытка. |
| Bl_3 | Пояснение множителя IK — Пояснение к параметру IK — множителю, используемому в режиме мартингейла для расчёта размера следующей сделки. |
| StakeMode | Режим управления лотом — Режим управления лотом: 1 — фиксированный размер, 2 — мартингейл с множителем IK, 3 — процент от equity. |
| Fixlot (Lts1) | Фиксированный лот — Фиксированный размер лота, используемый при режиме фиксированного лота (StakeMode = 1). |
| Multiplying Lts1 * IK (if the previous deal was fail). Normally, Martingail is ThisDealLots = PrevDe (IK) | Множитель мартингейла — Множитель для расчёта размера лота в режиме мартингейла. При неудачной сделке размер следующей сделки умножается на этот параметр. |
| Percents | Процент лота от equity — Процентная доля от equity, используемая для расчёта размера лота в процентном режиме (StakeMode = 3). |
| ATR | Настройки ATR — Разделитель секции настроек ATR для установки стоп-лосса и тейк-профита на основе среднего истинного диапазона. |
| Actually, never tuned by me properly. (ATR_s_) | Примечание ATR — Примечание к настройкам ATR. Указывает, что параметры ATR для стоп-лосса и тейк-профита могут быть заменены или скорректированы пользователем. |
| _purpose_is_ | Назначение множителя ATR — Пояснение к назначению параметра ATR_Multiply — определяет чувствительность реакции стоп-лосса или тейк-профита. |
| _stop_management | Управление стопами — Пояснение к управлению стопами: при значении Multiply=0.9 реакция составляет 0.9 пипса на 0.0001 ATR. |
| ATR_Period | Период ATR — Период расчёта индикатора ATR (средний истинный диапазон). |
| ATR_Multiply | Множитель ATR — Множитель ATR, определяющий расстояние стоп-лосса или тейк-профита в пунктах относительно текущего значения индикатора ATR. |
| ATR_Reach | Минимальный порог ATR — Минимальное значение ATR, при котором срабатывает автоматическая установка стоп-лосса или тейк-профита. |
| ATR_SL | Стоп-лосс на ATR — Переключатель для автоматической установки стоп-лосса на основе индикатора ATR. |
| ATR_TP | Тейк-профит на ATR — Переключатель для автоматической установки тейк-профита на основе индикатора ATR. |
| Implemented_Indicators | Встроенные индикаторы — Примечание о встроенных индикаторах, доступных в советнике. |
| Dont_earse | Поиск индикаторов в коде — Подсказка о том, что все используемые индикаторы можно найти с помощью поиска в коде (Ctrl+F). |
| WARNING1 | Предупреждение 1 — Предупреждение о том, что параметры открытия и закрытия позиций должны быть определены пользователем самостоятельно. |
| WARNING2 | Предупреждение 2 — Предупреждение о зависимости логики торговых сигналов от выбранной стратегии. |
| WARNING3 | Предупреждение 3 — Предупреждение о необходимости убедиться, что выбранный индикатор корректно реализует торговую идею. |
| The_List_Of | Список индикаторов — Примечание о списке индикаторов и необходимости использования математических навыков для их настройки. |
| otkr_MA | Включение скользящих средних (открытие) — Переключатель для включения скользящих средних (MA) в качестве условия открытия позиции. |
| zakr_MA | Включение скользящих средних (закрытие) — Переключатель для включения скользящих средних в качестве условия закрытия позиции. |
| MA1 | Период MA1 — Период первой скользящей средней (MA). |
| MA2 | Период MA2 — Период второй скользящей средней (MA). |
| I am too lazy to switch (Shift_ma) | Сдвиг скользящей средней — Сдвиг скользящей средней по барам. |
| 0 - Simple, 1 - Expotential, 2 - Smoothed, 3 - Linear Weighed (MA_sort_avoidit) | Тип скользящей средней — Тип скользящей средней: 0 — простая (SMA), 1 — экспоненциальная (EMA), 2 — сглаженная (SMMA), 3 — линейно взвешенная (LWMA). |
| Stochastic | Настройки стохастика — Разделитель секции настроек индикатора Stochastic (стохастик). |
| otkr_Stoh | Включение стохастика (открытие) — Переключатель для включения стохастика в качестве условия открытия позиции. |
| zakr_Stoh | Включение стохастика (закрытие) — Переключатель для включения стохастика в качестве условия закрытия позиции. |
| per_K | Период K стохастика — Период K для индикатора стохастика (быстрая линия). |
| per_D | Период D стохастика — Период D для индикатора стохастика (медленная линия). |
| slow | Сглаживание стохастика — Параметр сглаживания для индикатора стохастика. |
| zoneBUY | Зона покупки стохастика — Зона покупки для индикатора стохастика — значение, ниже которого линия K считается находящейся в зоне покупки. |
| No, I couldn't fix the levels. (zoneSELL) | Зона продажи стохастика — Зона продажи для индикатора стохастика — значение, выше которого линия K считается находящейся в зоне продажи. |
| Awesome | Настройки Awesome Oscillator — Разделитель секции настроек Awesome Oscillator. |
| otkr_AO | Включение Awesome Oscillator (открытие) — Переключатель для включения Awesome Oscillator в качестве условия открытия позиции. |
| zakr_AO | Включение Awesome Oscillator (закрытие) — Переключатель для включения Awesome Oscillator в качестве условия закрытия позиции. |
| Fractals | Настройки фракталов — Разделитель секции настроек индикатора Fractals (фракталы). |
| otkr_Fractals | Включение фракталов (открытие) — Переключатель для включения индикатора Fractals в качестве условия открытия позиции. |
| zakr_Fractals | Включение фракталов (закрытие) — Переключатель для включения Fractals в качестве условия закрытия позиции. |
| Accelerator | Настройки ускорителя — Разделитель секции настроек ускорителя (Accelerator Oscillator). |
| otkr_AC | Включение ускорителя (открытие) — Переключатель для включения индикатора Accelerator (Accelerator Oscillator) в качестве условия открытия позиции. |
| zakr_AC | Включение ускорителя (закрытие) — Переключатель для включения Accelerator в качестве условия закрытия позиции. |
| Demarker | Настройки Demarker — Разделитель секции настроек индикатора Demarker. |
| otkr_Dema | Включение Demarker (открытие) — Переключатель для включения индикатора Demarker в качестве условия открытия позиции. |
| zakr_Dema | Включение Demarker (закрытие) — Переключатель для включения Demarker в качестве условия закрытия позиции. |
| DeMa_period | Период Demarker — Период расчёта индикатора Demarker. |
| niz_ur | Нижний порог Demarker — Нижний порог индикатора Demarker для формирования сигналов покупки. |
| verx_ur | Верхний порог Demarker — Верхний порог индикатора Demarker для формирования сигналов продажи. |
| CCI | Настройки CCI — Разделитель секции настроек индикатора CCI (Commodity Channel Index). |
| otkr_CCI | Включение CCI (открытие) — Переключатель для включения индикатора CCI в качестве условия открытия позиции. |
| zakr_CCI | Включение CCI (закрытие) — Переключатель для включения CCI в качестве условия закрытия позиции. |
| CCI_period | Период CCI — Период расчёта индикатора CCI. |
| What, if we want 95? (CCI_Level) | Порог CCI — Пороговое значение CCI для формирования сигналов закрытия позиции. |
| RSI | Настройки RSI — Разделитель секции настроек индикатора RSI (Relative Strength Index). |
| otkr_RSI | Включение RSI (открытие) — Переключатель для включения RSI в качестве условия открытия позиции. |
| zakr_RSI | Включение RSI (закрытие) — Переключатель для включения RSI в качестве условия закрытия позиции. |
| RSI_Period | Период RSI — Период расчёта индикатора RSI. |
| RSI_High | Верхний порог RSI — Верхний порог RSI для формирования сигналов. |
| RSI_Low | Нижний порог RSI — Нижний порог RSI для формирования сигналов. |
| MACD | Настройки MACD — Разделитель секции настроек индикатора MACD. |
| otkr_MACD | Включение MACD (открытие) — Переключатель для включения MACD в качестве условия открытия позиции. |
| zakr_MACD | Включение MACD (закрытие) — Переключатель для включения MACD в качестве условия закрытия позиции. |
| MACD_Fast | Быстрый период MACD — Быстрая линия MACD (период). |
| MACD uses SIGNAL line (MACD_Slow) | Медленный период MACD — Медленная линия MACD (период). |
| because you have 2 MA Cross system (MACD_Signal) | Период сигнальной линии MACD — Период сигнальной линии MACD. |
| OsMA | Настройки OsMA — Разделитель секции настроек индикатора OsMA. |
| otkr_OsMA | Включение OsMA (открытие) — Переключатель для включения OsMA в качестве условия открытия позиции. |
| zakr_OsMA | Включение OsMA (закрытие) — Переключатель для включения OsMA в качестве условия закрытия позиции. |
| OsMA_Fast | Быстрый период OsMA — Быстрый период индикатора OsMA. |
| SIGNAL line (Well, you can also try Zignal.com as a platform - expenseful lux look is a sort of guar (OsMA_Slow) | Медленный период OsMA — Медленный период индикатора OsMA. |
| because you have 2 MA Cross system (OsMA_Signal) | Период сигнальной линии OsMA — Период сигнальной линии индикатора OsMA. |
| WPR | Настройки WPR — Разделитель секции настроек индикатора WPR (Williams Percent Range). |
| otkr_WPR | Включение WPR (открытие) — Переключатель для включения WPR в качестве условия открытия позиции. |
| zakr_WPR | Включение WPR (закрытие) — Переключатель для включения WPR в качестве условия закрытия позиции. |
| WPR_Period | Период WPR — Период расчёта индикатора Williams Percent Range. |
| WPR_Shift | Сдвиг WPR — Сдвиг индикатора WPR по барам. |
| MoneyFlow_aka_MFI | Настройки MFI — Разделитель секции настроек индикатора Money Flow Index (MFI). |
| otkr_MFI | Включение MFI (открытие) — Переключатель для включения индикатора Money Flow Index в качестве условия открытия позиции. |
| zakr_MFI | Включение MFI (закрытие) — Переключатель для включения MFI в качестве условия закрытия позиции. |
| MFI_Period | Период MFI — Период расчёта индикатора Money Flow Index. |
| MFI_High | Верхний порог MFI — Верхний порог индикатора Money Flow Index (MFI) для сигналов. |
| MFI_Low | Нижний порог MFI — Нижний порог индикатора Money Flow Index (MFI) для сигналов. |
| ADX | Порог ADX — Пороговое значение линии ADX для определения сильного тренда. Используется как условие для формирования сигналов при включённом индикаторе ADX. |
| otkr_ADX | Включение ADX (открытие) — Переключатель для включения индикатора ADX в качестве условия открытия позиции. |
| zakr_ADX | Включение ADX (закрытие) — Переключатель для включения ADX в качестве условия закрытия позиции. |
| ADX_Period | Период ADX — Период расчёта индикатора ADX (средняя направленного движения). |
| SAR | Настройки Parabolic SAR — Разделитель секции настроек индикатора Parabolic SAR. |
Поиск по коду файла
extern string The_instruction = "...is in code-to comments";
extern string General_Paramethers = "---- General Paramethers ---- ";
extern double StopLoss =0; // StopLoss
extern double TakeProfit =0; // ?ake?rofit. May be defined by indicators also.
extern string SleepBars_about = "A pause. 600 seconds...";// I hope, theese are really seconds.
extern bool SleepBars =false;// A pause
extern double Slippage = 2; // Slippage. Open a dictionary.
extern string ID_of_EA__About = "aka MaigcNumber. What if you need 12 advisors at once?";
extern double ID_of_EA = 219249; // No, not that lame indicator "Zigzag", but a fuct. char.
extern string Block_of_Stakes = "---- Stake tuning ----";
extern string Bl_1 = "1 - FixLot, 2 - Martigail, 3 - Percental";
extern string Bl_2 = "Martingail is not a chaser here. Do you need such?"; // I mean, it waits for new deal for covering the problem.
extern string Bl_3 = "IK is a miltiplies for Martingail-taktic";
extern double StakeMode =1; //
extern double Lts1 =0.1; // Fixlot
extern double IK =2; // Multiplying Lts1 * IK (if the previous deal was fail). Normally, Martingail is ThisDealLots = PrevDealLots * 2, so...
extern double Percents =5; //
extern string ATR = "---- ---- ---- ----";
extern string ATR_s_ = "ATR is for setting TP and SL. May be replaced."; // Actually, never tuned by me properly.
extern string _purpose_is_ = "ATR_Multiply sets perception, for ex ample:";
extern string _stop_management = "if Multiply=0.9, then reaction is 0.9 pips per 0.0001 ATR";
extern double ATR_Period =14;
extern double ATR_Multiply = 0.9;
extern double ATR_Reach =0.0014;
extern bool ATR_SL = false;
extern bool ATR_TP = false;
extern string Implemented_Indicators = "Implemented plant-from indicators";
extern string Dont_earse = "Each may be found with Ctlr+F command";
extern string WARNING1 = "NOTE: THE PARAMETHERS OF OPEN AND CLOSE ARE SUPPOSED TO";
extern string WARNING2 = "BE DEFINED BY YOUR OWN, IT DEPENDS ON SELECTED STRATEGY.";
extern string WARNING3 = "MAKE SURE THE SELECTED INDICATOR USES YOUR IDEAS PROPERLY!";
extern string The_List_Of = "Anyway, the indicators. Use your math abilities.";
extern string Two_??s_Cross = "---- ---- ";
extern bool otkr_MA =false;
extern bool zakr_MA =false;
extern double MA1 =4;
extern double MA2 =67;
extern double Shift_ma =1; // I am too lazy to switch
extern double MA_sort_avoidit=0; //0 - Simple, 1 - Expotential, 2 - Smoothed, 3 - Linear Weighed
extern string Stochastic = " A little note here. You may need to change the code at inequalities";
extern bool otkr_Stoh =false;
extern bool zakr_Stoh =false;
extern double per_K=5;
extern double per_D=3;
extern double slow=3;
extern double zoneBUY=20;
extern double zoneSELL=80; //No, I couldn't fix the levels.
extern string Awesome = "But it is all right! B- of math skills must be enough for you.";
extern bool otkr_AO =false;
extern bool zakr_AO =false;
extern string Fractals = "If you had C- math marks, then ask somebody experienced to help you. You will also save your time.";
extern bool otkr_Fractals =false;
extern bool zakr_Fractals =false;
extern string Accelerator = "---- ---- ";
extern bool otkr_AC =false;
extern bool zakr_AC =false;
extern string Demarker = "---- ---- ";
extern bool otkr_Dema =false;
extern bool zakr_Dema =false;
extern double DeMa_period=14;
extern double niz_ur=0.3;
extern double verx_ur=0.7;
extern string CCI = "---- ---- ";
extern bool otkr_CCI =false;
extern bool zakr_CCI =false;
extern double CCI_period=14;
extern double CCI_Level=100; // What, if we want 95?
extern string RSI = "RSI levels are better to be tuned separately. Just for sure.";
extern bool otkr_RSI =false;
extern bool zakr_RSI =false;
extern double RSI_Period =14;
extern double RSI_High=70;
extern double RSI_Low=30;
extern string MACD = "MACD Signal Line";
extern bool otkr_MACD =false;
extern bool zakr_MACD =false;
extern double MACD_Fast=9;
extern double MACD_Slow=26; // MACD uses SIGNAL line
extern double MACD_Signal=14; // because you have 2 MA Cross system
extern string OsMA = "OsMA - like a second MACD S L";
extern bool otkr_OsMA =false;
extern bool zakr_OsMA =false;
extern double OsMA_Fast=9;
extern double OsMA_Slow=26; // SIGNAL line (Well, you can also try Zignal.com as a platform - expenseful lux look is a sort of guaranty. Yes, I've made an ad here - Anon MMMMMMMMMI)
extern double OsMA_Signal=14; // because you have 2 MA Cross system
extern string WPR = "Williams Percent Range";
extern bool otkr_WPR = false;
extern bool zakr_WPR = false;
extern double WPR_Period = 14;
extern double WPR_Shift = 0;
extern string MoneyFlow_aka_MFI = "---";
extern bool otkr_MFI = false;
extern bool zakr_MFI = false;
extern double MFI_Period=14;
extern double MFI_High =70;
extern double MFI_Low =30;
extern string ADX = "ADX Main Line, ?????? - 30 ? 70";
extern bool otkr_ADX = false;
extern bool zakr_ADX = false;
extern double ADX_Period=14;
extern string SAR = "---";
extern bool otkr_SAR = false;
extern bool zakr_SAR = false;
extern double SAR_Step =0.02;
extern double SAR_MaxStep =0.2;
extern string Custom_Indicators = "Custom Indicators. ";
extern string Custom_Indicator1 = "Each is already defined.";
extern bool otkr_Custom_1 = false;
extern bool zakr_Custom_1 = false;
extern double example1 = 0; //Example doubles.
extern double example2 = 0;
extern string Custom_Indicator2 = "This one also";
extern bool otkr_Custom_2 = false;
extern bool zakr_Custom_2 = false;
extern string Custom_Indicator3 = "----";
extern bool otkr_Custom_3 = false;
extern bool zakr_Custom_3 = false;
extern string Custom_Indicator4 = "Sometimes you need to edit this thing by own,";
extern bool otkr_Custom_4 = false;
extern bool zakr_Custom_4 = false;
bool Work=true;
bool OrderSal;
string Symb; // Pair (ex. EURUSD) Name
int start()
{
// код доступен только после оплаты
}
int
Total, // Orders in window.
Tip=-1, // Type of order
Ticket; // Number of order
double
Lot, // Size of selected order
Lts, // Size of opening order
lot,
Min_Lot, // Min. Size
Step, // Min. Step (if modifying)
Free, // Free money on account
One_Lot, // Cost of 1 lot
Price, // Cost of selected order
SL, // SL of selected
TP, // TP of selected
MA_By,MA_Sell,Stoh_By,Stoh_Sell,AO_By,AO_Sell,Fractals_By,Fractals_Sell,AC_By,AC_Sell,Cls_MA_Sell,Cls_MA_By,Cls_Stoh_Sell,Cls_Stoh_By,
Cls_AO_Sell,Cls_AO_By,Cls_Fractals_By,Cls_Fractals_Sell,Cls_AC_Sell,Cls_AC_By,Dema_By,Cls_Dema_Sell,Dema_Sell,Cls_Dema_By,CCI_By,CCI_Sell,Cls_WPR_Sell,Cls_CCI_By,Cls_CCI_Sell,
RSI_By,RSI_Sell,Cls_RSI_Sell,Cls_RSI_By,MFI_By,MFI_Sell,Cls_MFI_Sell,Cls_MFI_By,WPR_By,WPR_Sell,Cls_WRP_Sell,Cls_WPR_By, //???????????.
MACD_By,MACD_Sell,Cls_MACD_Sell,Cls_MACD_By,OsMA_By,OsMA_Sell,Cls_OsMA_Sell,Cls_OsMA_By,ADX_By,ADX_Sell,Cls_ADX_Sell,Cls_ADX_By,SAR_By,SAR_Sell,Cls_SAR_Sell,Cls_SAR_By,
Custom_1__By, Custom_1__Sell, Cls_Custom_1__By, Cls_Custom_1__Sell,Custom_2__By, Custom_2__Sell, Cls_Custom_2__By, Cls_Custom_2__Sell,Custom_3__By, Custom_3__Sell, Cls_Custom_3__By, Cls_Custom_3__Sell,Custom_4__By, Custom_4__Sell, Cls_Custom_4__By, Cls_Custom_4__Sell;//,
bool
Modific=true,
Ans =false, // Server's ansver (after modifying or closing)
Cls_B=false, // Buy Close criteria bool
Cls_S=false, // Sell Close criteria bool
Opn_B=false, // Buy Open criteria bool
Opn_S=false, // Sell Open criteria bool
S_Bar=false; // Sleep Bars (aka Pause-600) bool.
int time0 = 0; // Necessary booleans sorting...
for(int t0 = OrdersHistoryTotal();t0>=0;t0--) // Search among closed orders
if(OrderSelect(t0, SELECT_BY_POS,MODE_HISTORY )==true) // A-a-and it we found it...
{
if( iTime(NULL,0,1)-OrderOpenTime() < 600 && SleepBars==true ) //We're pausing. This string has the terms of pause.
{ // // BTW, time is in seconds by standard.
S_Bar=true;
Alert("Gimme a break...");
}
}
if(Bars<15) // Insufficient quantity of bars
{
Alert("Bars<15, need more bars of history.");
return; // Exit from start()
}
if(Work==false) // Critical error
{
Alert("Critical Error occured.");
return; // Exit from start()
}
Symb=Symbol();
Total=0;
for(int i=1; i<=OrdersTotal(); i++)
{
if (OrderSelect(i-1,SELECT_BY_POS)==true)
{
if (OrderSymbol()!=Symb)continue;
if (OrderType()>1)
{
Alert("Unusual order detected. Pause."); // Well, I'll leave it here since first author made it...
return;
}
Total++; //
if (Total>3) // Only one order on one pair. Made for brokers and their trust.
{
Alert("Too much orders. Pause."); // Normally ONE, but I am not against.
return; // exit from start()
}
Ticket=OrderTicket(); //
Tip =OrderType(); // It's info about lots...
Price =OrderOpenPrice(); //
SL =OrderStopLoss(); //
TP =OrderTakeProfit(); //
Lot =OrderLots(); // Lots in the order
}
}
if(ATR_SL==true && iATR(NULL,0,ATR_Period,1)>=ATR_Reach)
StopLoss=iATR(NULL,0,ATR_Period,0)*ATR_Multiply/0.0001; //Yes, not the "price", but the "pips".
if(ATR_TP==true && iATR(NULL,0,ATR_Period,1)>=ATR_Reach)
TakeProfit=iATR(NULL,0,ATR_Period,0)*ATR_Multiply/0.0001;
if(otkr_MA==true)
{
if( iMA(NULL,0,MA1,0,MA_sort_avoidit,PRICE_CLOSE,Shift_ma)>iMA(NULL,0,MA2,0,MODE_SMA,PRICE_CLOSE,Shift_ma))
{
MA_By =true;// Normally SMA, but here is my edit.
}
if(iMA(NULL,0,MA1,0,MA_sort_avoidit,PRICE_CLOSE,Shift_ma)<iMA(NULL,0,MA2,0,MODE_SMA,PRICE_CLOSE,Shift_ma))
{
MA_Sell =true;
}
}
if(zakr_MA==true)
{
if(iMA(NULL,0,MA1,0,MA_sort_avoidit,PRICE_CLOSE,Shift_ma)>iMA(NULL,0,MA2,0,MODE_SMA,PRICE_CLOSE,Shift_ma))
{
Cls_MA_Sell=true;
}
if(iMA(NULL,0,MA1,0,MA_sort_avoidit,PRICE_CLOSE,Shift_ma)<iMA(NULL,0,MA2,0,MODE_SMA,PRICE_CLOSE,Shift_ma))
{
Cls_MA_By=true;
}
}
if(otkr_Stoh==true)
{
if(iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,0,1)>iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)
&& iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)<zoneBUY)
{
Stoh_By =true;
}
if(iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,0,1)<iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)
&& iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)>zoneSELL)
{
Stoh_Sell =true;
}
}
if(zakr_Stoh==true)
{
if(iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,0,1)>iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)
&& iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)<zoneBUY)
{
Cls_Stoh_Sell=true;
}
if(iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,0,1)<iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)
&& iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)>zoneSELL)
{
Cls_Stoh_By=true;
}
}
if(otkr_AO==true)
{
if(iAO(NULL,0,0)+iAO(NULL,0,1)>iAO(NULL,0,2)+iAO(NULL,0,3))
{
AO_By =true;
}
if(iAO(NULL,0,0)+iAO(NULL,0,1)<iAO(NULL,0,2)+iAO(NULL,0,3))
{
AO_Sell =true;
}
}
if(zakr_AO==true)
{
if(iAO(NULL,0,0)+iAO(NULL,0,1)>iAO(NULL,0,2)+iAO(NULL,0,3))
{
Cls_AO_Sell=true;
}
if(iAO(NULL,0,0)+iAO(NULL,0,1)<iAO(NULL,0,2)+iAO(NULL,0,3))
{
Cls_AO_By=true;
}
}
if(otkr_Fractals==true)
{
if(iFractals(NULL,0,1,0)<PRICE_CLOSE)
{
Fractals_By =true;
}
if(iFractals(NULL,0,2,0)>PRICE_CLOSE)
{
Fractals_Sell =true;
}
}
if(zakr_Fractals==true)
{
if (iFractals(NULL,0,1,0)<PRICE_CLOSE)
{
Cls_Fractals_Sell=true;
}
if(iFractals(NULL,0,2,0)>PRICE_CLOSE)
{
Cls_Fractals_By=true;
}
}
if(otkr_AC==true)
{
if (iAC(NULL,0,0)>=0 && iAC(NULL,0,0)>iAC(NULL,0,1) && iAC(NULL,0,1)>iAC(NULL,0,2) || iAC(NULL,0,0)<=0 && iAC(NULL,0,0)>iAC(NULL,0,1) && iAC(NULL,0,1)>iAC(NULL,0,2) && iAC(NULL,0,2)>iAC(NULL,0,3))
{
AC_By =true;
}
if (iAC(NULL,0,0)<=0 && iAC(NULL,0,0)<iAC(NULL,0,1) && iAC(NULL,0,1)<iAC(NULL,0,2) || iAC(NULL,0,0)>=0 && iAC(NULL,0,0)<iAC(NULL,0,1) && iAC(NULL,0,1)<iAC(NULL,0,2) && iAC(NULL,0,2)<iAC(NULL,0,3))
{
AC_Sell =true;
}
}
if(zakr_AC==true)
{
if (iAC(NULL,0,0)>=0 && iAC(NULL,0,0)>iAC(NULL,0,1) && iAC(NULL,0,1)>iAC(NULL,0,2) || iAC(NULL,0,0)<=0 && iAC(NULL,0,0)>iAC(NULL,0,1) && iAC(NULL,0,1)>iAC(NULL,0,2) && iAC(NULL,0,2)>iAC(NULL,0,3))
{
Cls_AC_Sell=true;
}
if (iAC(NULL,0,0)<=0 && iAC(NULL,0,0)<iAC(NULL,0,1) && iAC(NULL,0,1)<iAC(NULL,0,2) || iAC(NULL,0,0)>=0 && iAC(NULL,0,0)<iAC(NULL,0,1) && iAC(NULL,0,1)<iAC(NULL,0,2) && iAC(NULL,0,2)<iAC(NULL,0,3))
{
Cls_AC_By=true;
}
}
if(otkr_Dema==true)
{
if (iDeMarker(NULL, 0, DeMa_period, 1)<niz_ur)
{
Dema_By =true;
}
if (iDeMarker(NULL, 0, DeMa_period, 1)>verx_ur)
{
Dema_Sell =true;
}
}
if(zakr_Dema==true)
{
if (iDeMarker(NULL, 0, DeMa_period, 1)<niz_ur)
{
Cls_Dema_Sell=true;
}
if (iDeMarker(NULL, 0, DeMa_period, 1)>verx_ur)
{
Cls_Dema_By=true;
}
}
if(otkr_CCI==true)
{
if (iCCI(NULL, 0,CCI_period,PRICE_MEDIAN,0)>iCCI(NULL, 0, CCI_period,PRICE_MEDIAN,1) && iCCI(NULL, 0, CCI_period,PRICE_MEDIAN,1)<iCCI(NULL, 0, CCI_period,PRICE_MEDIAN,2)) // ? ??? ??? ??????????? ???????
{
CCI_By =true;
}
if (iCCI(NULL, 0,CCI_period,PRICE_MEDIAN,0)<iCCI(NULL, 0, CCI_period,PRICE_MEDIAN,1) && iCCI(NULL, 0, CCI_period,PRICE_MEDIAN,1)>iCCI(NULL, 0, CCI_period,PRICE_MEDIAN,2))
{
CCI_Sell =true;
}
}
if(zakr_CCI==true)
{
if (iCCI(NULL, 0,CCI_period,PRICE_MEDIAN, 1)<-CCI_Level) // ???? ?? ?????.
{
Cls_CCI_Sell=true;
}
if (iCCI(NULL, 0,CCI_period,PRICE_MEDIAN, 1)>CCI_Level) // CCI ???????????? ??? ?????????? ???????.\????????. ??? ?????????.
{
Cls_CCI_By=true;
}
}
if(otkr_RSI==true)
{
if (iRSI(NULL,0,RSI_Period,1,0)>RSI_High)
{
RSI_By=true;
}
if (iRSI(NULL,0,RSI_Period,1,0)<RSI_Low)
{
RSI_Sell=true;
}
}
if(zakr_RSI==true)
{
if (iRSI(NULL,0,RSI_Period,1,0)>RSI_High)
{
Cls_RSI_Sell=true;
}
if (iRSI(NULL,0,RSI_Period,1,0)<RSI_Low)
{
Cls_RSI_By=true;
}
}
if(otkr_MFI==true)
{
if (iMFI(NULL,0,MFI_Period,0)>MFI_High)
{
MFI_By=true;
}
if (iMFI(NULL,0,MFI_Period,0)<MFI_Low)
Показано первые 50% кода (символов: 22837)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.