← К каталогу
Исходный код · ID 3863

generic v13.19.5.mq4

Похожие материалы по тегам

indicator previous session range + projected candles + boschoch protected for tradingview.pineTradingView · 1 общих тегов#__slope direction line.mq5MQL5 / MetaTrader 5 · 1 общих теговrange breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Советник для платформы MetaTrader 4, предназначенный для автоматической торговли на основе сигналов нескольких технических индикаторов. Использует Bollinger Bands, Commodity Channel Index, Moving Average и OsMA для формирования сигналов на открытие и закрытие позиций. Поддерживает работу с несколькими ордерами одновременно с контролем рисков и различными фильтрами.

Настройки программы

НастройкаОписание
Settings_10 Раздел настроек — Текстовый разделитель группы настроек размера ордеров
Settings_11 Подраздел настроек — Текстовый разделитель подгруппы общих настроек лота
Fixed_Lot Фиксированный лот — Включение или отключение фиксированного размера лота; при выключении лот рассчитывается динамически от баланса
Lots Размер лота — Исходный размер лота для расчёта при динамическом режиме, рассчитан для депозита в $1000
Lot_Multiple Множитель лота — Увеличение размера лота после серии убыточных ордеров
Max_Orders Максимум ордеров — Максимальное количество одновременно открытых ордеров одного направления
Order_StepDistance Шаг между ордерами — Расстояние в пунктах между ордерами одного направления
Order_TotalProfit Прибыль серии — Общая прибыль в пунктах для автоматического закрытия серии ордеров
Settings_20 Раздел настроек — Текстовый разделитель группы настроек закрытия ордеров
Settings_21 Подраздел настроек — Текстовый разделитель подгруппы стоп-лосса и тейк-профита
Stop_Loss Стоп-лосс — Уровень стоп-лосса в пунктах от цены открытия
Take_Profit Тейк-профит — Уровень тейк-профита в пунктах от цены открытия
Settings_22 Раздел настроек — Текстовый разделитель группы настроек закрытия по времени
Close_by_TimeLimit Закрытие по времени — Закрытие ордеров по лимиту времени удержания, если достигнуто определённое значение прибыли
TimeLimit Лимит времени — Лимит времени на закрытие ордера с момента его открытия в минутах
TimeLimit_MinProfit Мин. прибыль для закрытия — Минимальный необходимый размер прибыли в пунктах для закрытия ордера по времени
Settings_23 Раздел настроек — Текстовый разделитель группы закрытия по Bollinger Bands
Close_by_BB Закрытие по BB — Закрытие ордера, если цена вышла за верхнюю границу канала и достигнуто необходимое значение прибыли
BB_MinProfit Мин. прибыль BB — Минимальный необходимый размер прибыли в пунктах для закрытия ордера по Bollinger Bands
Settings_24 Раздел настроек — Текстовый разделитель группы закрытия по CCI
Close_by_CCI Закрытие по CCI — Закрытие ордера по сигналу индикатора Commodity Channel Index
Settings_25 Раздел настроек — Текстовый разделитель группы закрытия по OsMA
Close_by_OsMA Закрытие по OsMA — Закрытие ордера, если цена вышла за верхнюю границу канала и достигнуто необходимое значение прибыли
OsMA_MinProfit Мин. прибыль OsMA — Минимальный необходимый размер прибыли в пунктах для закрытия ордера по OsMA
Settings_26 Раздел настроек — Текстовый разделитель группы закрытия в безубыток
Close_by_Breakeven Перевод в безубыток — Использование перевода в безубыток (работает при отсутствии активного Trailing Stop)
BE_InitLevel Уровень для BE — Если текущая цена уходит в профит на BE_InitLevel пунктов — выставляется стоп-лосс
BE_Profit Прибыль BE — Сдвиг стоп-лосса на BE_Profit пунктов от цены открытия
Settings_27 Раздел настроек — Текстовый разделитель группы настроек трейлинг-стопа
Close_by_Trail Трейлинг-стоп — Включение функции трейлинг-стопа для закрытия сделок
Trl_dist_1 Расстояние трейла 1 — Исходное расстояние трейлинга в пунктах (не меньше стоп-уровня брокера)
Trl_dist_2 Расстояние трейла 2 — Расстояние трейлинга в пунктах после достижения ценой значения Level_1
Trl_dist_3 Расстояние трейла 3 — Расстояние трейлинга в пунктах после достижения ценой значения Level_2
Settings_30 Раздел настроек — Текстовый разделитель группы настроек открытия ордеров
Settings_31 Подраздел настроек — Текстовый разделитель подгруппы сигналов первого ордера
Open_by_BB_1 Открытие по BB 1 — Открытие сделок по сигналу Bollinger Bands для первого ордера
Open_by_CCI_1 Открытие по CCI 1 — Открытие сделок по сигналу CCI для первого ордера
Open_by_MA_1 Открытие по MA 1 — Открытие сделок по сигналу Moving Average для первого ордера
Open_by_OsMA_1 Открытие по OsMA 1 — Открытие сделок по сигналу OsMA для первого ордера
Spike_Filter_1 Фильтр скачков 1 — Дополнительное использование индикатора скачка цены для первого ордера
Volatility_Filter_1 Фильтр волатильности 1 — Ограничение на открытие новых сделок при слишком низкой или высокой волатильности для первого ордера
Trend_Filter_1 Фильтр тренда 1 — Открытие сделок только в направлении тренда для первого ордера
Settings_32 Раздел настроек — Текстовый разделитель подгруппы сигналов второго ордера
Open_by_BB_2 Открытие по BB 2 — Открытие сделок по сигналу Bollinger Bands для второго ордера
Open_by_CCI_2 Открытие по CCI 2 — Открытие сделок по сигналу CCI для второго ордера
Open_by_MA_2 Открытие по MA 2 — Открытие сделок по сигналу Moving Average для второго ордера
Open_by_OsMA_2 Открытие по OsMA 2 — Открытие сделок по сигналу OsMA для второго ордера
Spike_Filter_2 Фильтр скачков 2 — Дополнительное использование индикатора скачка цены для второго ордера
Volatility_Filter_2 Фильтр волатильности 2 — Ограничение на открытие новых сделок при слишком низкой или высокой волатильности для второго ордера
Trend_Filter_2 Фильтр тренда 2 — Открытие сделок только в направлении тренда для второго ордера
Settings_34 Раздел настроек — Текстовый разделитель группы ограничения убыточных серий
Restrict_Losses Ограничение убытков — Не открывать новую сделку, если предыдущая была убыточной и прошло меньше заданного времени
Restrict_TimeLimit Лимит времени ограничения — Лимит времени с момента открытия убыточной сделки для повторного открытия
Settings_40 Раздел настроек — Текстовый разделитель группы настроек индикаторов
Settings_41 Подраздел настроек — Текстовый разделитель подгруппы настроек Bollinger Bands
BB_TimeFrame Таймфрейм BB — Таймфрейм для расчёта Bollinger Bands
BB_Period Период BB — Период Bollinger Bands
BB_StDev Стандартные отклонения BB — Количество стандартных отклонений для канала Bollinger Bands
BB_Shift Сдвиг BB — Горизонтальный сдвиг Bollinger Bands
BB_Open_Level Уровень открытия BB — Отступ за пределы канала BB для открытия ордера в пунктах
BB_Close_Level Уровень закрытия BB — Отступ за пределы канала BB для закрытия ордера в пунктах
Settings_42 Раздел настроек — Текстовый разделитель подгруппы настроек CCI
CCI_TimeFrame Таймфрейм CCI — Таймфрейм для расчёта Commodity Channel Index
CCI_Period Период CCI — Период индикатора CCI
CCI_Applied_Price Тип цены CCI — Тип цены для расчёта CCI (0 — PRICE_CLOSE, 1 — PRICE_OPEN и т.д.)
CCI_Shift Сдвиг CCI — Горизонтальный сдвиг индикатора CCI
CCI_Signal_Level Уровень сигнала CCI — Граница CCI, при пересечении которой формируется сигнал
Settings_43 Раздел настроек — Текстовый разделитель подгруппы настроек Moving Average
MA_TimeFrame Таймфрейм MA — Таймфрейм для расчёта Moving Average
MA_Period Период MA — Период индикатора Moving Average
MA_Price_Method Метод усреднения MA — Метод усреднения (0 — MODE_SMA, 1 — MODE_EMA, 2 — MODE_SMMA, 3 — MODE_LWMA)
MA_Applied_Price Тип цены MA — Тип цены для расчёта Moving Average (0 — PRICE_CLOSE, 1 — PRICE_OPEN и т.д.)
MA_Shift Сдвиг MA — Горизонтальный сдвиг Moving Average
MA_Signal_Level Уровень сигнала MA — Размер отступа от MA в пунктах для формирования сигнала
Settings_44 Раздел настроек — Текстовый разделитель подгруппы настроек идентификации скачков цены
Bar_TimeFrame Таймфрейм баров — Таймфрейм для расчёта свечей (баров) анализа ценового диапазона
Bar_Shift Сдвиг баров — Количество баров, за которое рассчитывается изменение цены
Min_PriceRange Мин. ценовой диапазон — Минимальное расстояние в пунктах, которое цена должна пройти за указанное количество баров
Max_PriceRange Макс. ценовой диапазон — Максимальное расстояние в пунктах, которое цена должна пройти за указанное количество баров
Settings_45 Раздел настроек — Текстовый разделитель подгруппы настроек OsMA
OsMA_TimeFrame Таймфрейм OsMA — Таймфрейм для расчёта Moving Average of Oscillator
OsMA_FastEMA Быстрая EMA OsMA — Период быстрой скользящей средней для OsMA
OsMA_SlowEMA Медленная EMA OsMA — Период медленной скользящей средней для OsMA
OsMA_SignalSMA Сигнальная SMA OsMA — Период сигнальной линии для OsMA
OsMA_Limit Лимит OsMA — Отступ за пределы канала для подтверждения сигнала OsMA в пунктах
Settings_46 Раздел настроек — Текстовый разделитель подгруппы ограничений по волатильности
MinVolatility Мин. волатильность — Минимальный уровень волатильности в пунктах (канал BB) для разрешения торговли
MaxDailyRange Макс. дневной диапазон — Максимальный уровень волатильности в пунктах (изменение цены за последние 23 часа)
Settings_50 Раздел настроек — Текстовый разделитель группы прочих настроек
WriteLogFile Запись в лог — Запись информации о работе советника в лог-файл
Max_Spread Макс. спред — Максимально допустимый спред в пунктах для открытия ордеров
Slippage Проскальзывание — Максимально допустимое проскальзывание в пунктах
Order_Comment Комментарий ордера — Комментарий, присваиваемый каждой сделке
MagicNumber Магический номер — Уникальный номер ордера для идентификации позиций советника
Settings_60 Раздел настроек — Текстовый разделитель группы условий торгового времени
Settings_61 Подраздел настроек — Текстовый разделитель подгруппы закрытия позиций в пятницу
Friday_Close Закрытие в пятницу — Закрытие позиции в пятницу в заданное время
End_Trade_Hour Час закрытия — Час закрытия позиции в пятницу
End_Trade_Minute Минута закрытия — Минута закрытия позиции в пятницу
Settings_62 Раздел настроек — Текстовый разделитель подгруппы единых времён торговли для всех дней
Получить полный код

Поиск по коду файла

#property version   "13.19"

/*-------------------------------------------------------------------------------------------------------------------+
|  В Х О Д Н Ы Е   П Е Р Е М Е Н Н Ы Е                                                                               |
+-------------------------------------------------------------------------------------------------------------------*/

extern string Settings_10 = "1.  O R D E R    S I Z E    S E T T I N G S";
extern string Settings_11 = " 1.1. General Lot Settings";
 extern bool   Fixed_Lot             =  True;             // Включение / отключение фиксированного лота
 extern double Lots                  =  0.1;              // Исходный размер лота для депозита в $1000
 extern bool   Lot_Multiple          =  True;             // Увеличение лота после серии убыточных оредров
 extern int    Max_Orders            =  2;
 extern int    Order_StepDistance    =  350;
 extern int    Order_TotalProfit     =  25;

extern string Settings_20 = "2.  O R D E R    C L O S E    C O N D I T I O N S";
extern string Settings_21 = " 2.1. Stop Loss and Take Profit settings"; 
 extern int    Stop_Loss             =  550;              // Уровень Stop Loss в пп.
 extern int    Take_Profit           =  550;              // Уровень Take Profit в пп. 
extern string Settings_22 = " 2.2. Close by Order holding time limit";
 extern bool   Close_by_TimeLimit    =  True;             // Закрытие ордеров по лимиту времени на удержание оредра, если достигнуто определенное значение прибыли
 extern int    TimeLimit             =  15;              // Лимит времени на закрытие ордера с момента его открытия (в минутах) 
 extern int    TimeLimit_MinProfit   =  100;              // Минимально необходимый размер прибыли для закрытия ордера
extern string Settings_23 = " 2.3. Close by Bollinger Bands";
 extern bool   Close_by_BB           =  True;             // Закрытие ордера, если цена вышла за верхнюю границу канала и достигнуто определенное значение прибыли
 extern int    BB_MinProfit          =  75;               // Минимально необходимый размер прибыли для закрытия ордера по ВВ (в пипсах)
extern string Settings_24 = " 2.4. Close by Commodity Channel Index";
 extern bool   Close_by_CCI          =  False;            // Закрытие по индикатору Commodity Channel Index
extern string Settings_25 = " 2.5. Close by Moving Average of Oscillator";
 extern bool   Close_by_OsMA         =  True;             // Закрытие ордера, если цена вышла за верхнюю границу канала и достигнуто определенное значение прибыли
 extern int    OsMA_MinProfit        =  75;               // Минимально необходимый размер прибыли для закрытия ордера по ВВ (в пипсах)
extern string Settings_26 = " 2.6. Close by Breakeven"; 
 extern bool   Close_by_Breakeven    =  False;            // Использовать перевод в безубыток (работает при словии отсутсвия Traiiling Stop)
 extern int    BE_InitLevel          =  70;               // Если текущая цена уходит в профит на BE_InitLevel пунктов - выставляется Stop Loss 
 extern int    BE_Profit             =  10;               // Stop Loss выставляется на BE_Profit пунктов от цены открытия
extern string Settings_27 = " 2.7. Close by Trailling Stop"; 
 extern bool   Close_by_Trail        =  False;            // Закрывать сделки по Trailling Stop
 extern int    Trl_dist_1            =  180;              // Исходное расстояние трейлинга (пипсах) (не меньше MarketInfo(Symbol(),MODE_STOPLEVEL), больше Trl_dist_2 и Trl_dist_3)
 extern int    Trl_dist_2            =  40;               // Расстояние трейлинга (в пипсах) после достижения ценой значения Level_1
 extern int    Trl_dist_3            =  25;               // Расстояние трейлинга (в пипсах) после достижения ценой значения Level_2

extern string Settings_30 = "3.  O R D E R    O P E N    C O N D I T I O N S";
extern string Settings_31 = " 3.1. FIRST ORDER - Indicators' signals";
 extern bool   Open_by_BB_1          =  True;             // Открывать сделки по BB
 extern bool   Open_by_CCI_1         =  False;            // Открывать сделки по ССI
 extern bool   Open_by_MA_1          =  True;             // Открывать сделки по MA
 extern bool   Open_by_OsMA_1        =  False;            // Открывать сделки по OsMA
 extern bool   Spike_Filter_1        =  False;            // В дополнение использовать индикатор скачка цены
 extern bool   Volatility_Filter_1   =  False;             // Ограничение на открытие новых сделок в условиях слишком низкой и высокой волатильности
 extern bool   Trend_Filter_1        =  False;            // Открывать сделки только в направлении тренда
extern string Settings_32 = " 3.2. SECOND ORDER - Indicators' signals";
 extern bool   Open_by_BB_2          =  True;             // Открывать сделки по BB
 extern bool   Open_by_CCI_2         =  True;             // Открывать сделки по ССI
 extern bool   Open_by_MA_2          =  True;             // Открывать сделки по MA
 extern bool   Open_by_OsMA_2        =  False;            // Открывать сделки по OsMA
 extern bool   Spike_Filter_2        =  False;            // В дополнение использовать индикатор скачка цены
 extern bool   Volatility_Filter_2   =  False;            // Ограничение на открытие новых сделок в условиях слишком низкой и высокой волатильности
 extern bool   Trend_Filter_2        =  True;            // Открывать сделки только в направлении тренда

extern string Settings_34 = " 3.4. Trade Restriction - Consequitive losses";
 extern bool   Restrict_Losses       =  False;            // Не открывать новую сделку, если предыдущая была убыточной и прошло меньше заданного времени с момента ее открытия   
 extern int    Restrict_TimeLimit    =  30;               // Лимит времени с момента открытия убыточной сделки

extern string Settings_40 = "4.  I N D I C A T O R S    S E T T I N G S";
extern string Settings_41 = " 4.1. Bollinger Bands";
 extern int    BB_TimeFrame          =  PERIOD_M15;       // Таймфрейм BB
 extern int    BB_Period             =  13;               // Период BB
 extern int    BB_StDev              =  2;                // Кол-во стандартных отклонений BB
 extern int    BB_Shift              =  1;                // Сдвиг BB
 extern int    BB_Open_Level         =  15;               // Отступ за пределы канала BB для открытия ордера в пипсах
 extern int    BB_Close_Level        =  10;               // Отступ за пределы канала BB для закрытия ордера в пипсах
extern string Settings_42 = " 4.2. Commodity Channel Index";
 extern int    CCI_TimeFrame         =  PERIOD_M15;       // Таймфрейм CCI
 extern int    CCI_Period            =  9;                // Период CCI 
 extern int    CCI_Applied_Price     =  0;                // Тип цены CCI (0 - PRICE_CLOSE; 1 - PRICE_OPEN; 2 - PRICE_HIGH; 3 - PRICE_LOW; 4 - PRICE_MEDIAN; 5 - PRICE_TYPICAL; 6 - PRICE_WEIGHTED)
 extern int    CCI_Shift             =  1;                // Сдвиг CCI
 extern int    CCI_Signal_Level      =  90;               // Граница CCI, при преодолении которой формируется сигнал
extern string Settings_43 = " 4.3. Moving Average";
 extern int    MA_TimeFrame          =  PERIOD_M15;       // Таймфрейм инидкатора Moving Average
 extern int    MA_Period             =  9;                // Период инидкатора Moving Average
 extern int    MA_Price_Method       =  0;                // Метод усреднения (0 - MODE_SMA; 1 - MODE_EMA; 2 - MODE_SMMA; 3 - MODE_LWMA)
 extern int    MA_Applied_Price      =  4;                // Тип цены (0 - PRICE_CLOSE; 1 - PRICE_OPEN; 2 - PRICE_HIGH; 3 - PRICE_LOW; 4 - PRICE_MEDIAN; 5 - PRICE_TYPICAL; 6 - PRICE_WEIGHTED)
 extern int    MA_Shift              =  0;                // Сдвиг МА
 extern int    MA_Signal_Level       =  125;              // Размер отступа от MM в пипсах
extern string Settings_44 = " 4.4. Price Spike Identification";
 extern int    Bar_TimeFrame         =  PERIOD_M5;        // Таймфрейм для расчета свечи (бара)
 extern int    Bar_Shift             =  2;                // Кол-во баров, за которое расчитывается изменение цены
 extern int    Min_PriceRange        =  75;               // Минимальное растояние в пипсах, которое должна пройти цена за указанное кол-во баров
 extern int    Max_PriceRange        =  175;              // Максимальное растояние в пипсах, которое должна пройти цена за указанное кол-во баров
extern string Settings_45 = " 4.5. Moving Average of Oscillator";
 extern int    OsMA_TimeFrame        =  PERIOD_M15;       // Таймфрейм инидкатора OsMA
 extern int    OsMA_FastEMA          =  7;                // Период быстрой средней
 extern int    OsMA_SlowEMA          =  15;               // Период медленной средней
 extern int    OsMA_SignalSMA        =  8;                // Период сигнальной линии
 extern int    OsMA_Limit            =  50;               // Отступ за пределы канала
extern string Settings_46 = " 4.6. Trade Restriction by Volatility";
 extern int    MinVolatility         =  150;              // Минимальный уровень волатильности в пипспах (канал BB)
 extern int    MaxDailyRange         =  900;              // Максимальный уровень волатильности в пипсах (изменение цена за последние 23 часа)

extern string Settings_50 = "5.  O T H E R    S E T T I N G S";
 extern bool   WriteLogFile          =  False;            // Запись информации о работе совтеника в лог файла
 extern int    Max_Spread            =  65;               // Максимально допустимый спред
 extern int    Slippage              =  20;               // Максимально допустимое проскальзывание
 extern string Order_Comment         =  "Generic v13.19"; // Комментарий к сделке
 extern int    MagicNumber           =  3100037;          // Уникальный номер ордера

extern string Settings_60 = "6.  T R A D I N G    T I M E    C O N D I T I O N S";
extern string Settings_61 = " 6.1. Close deals on Friday";
 extern bool   Friday_Close          =  False;            // Закрыть позицию в пятницу
 extern int    End_Trade_Hour        =  23;               // Час закрытия позиции
 extern int    End_Trade_Minute      =  55;               // Время закрытия позиции
extern string Settings_62 = " 6.2. Set the same trading time for all days";
 extern bool   All_Days_Same_Time    =  False;             // Для всех дней торговли использовать одинаковое время
 input int     Open_Hour             =  0;                // Начало торвголи - задать час
 input int     Open_Minute           =  30;               // Начало торвголи - задать минуты
 input int     Pause_Start_Hour      =  1;                // Остановка торговли - задать час
 input int     Pause_Start_Minute    =  0;                // Остановка торговли - задать минуты
 input int     Pause_Stop_Hour       =  22;               // Возобновление торгволи - задать час
 input int     Pause_Stop_Minute     =  0;                // Возобновление торгволи - задать минуты
 input int     Close_Hour            =  23;               // Окончание торговли - задать час
 input int     Close_Minute          =  59;               // Окончание торговли - задать минуту
extern string Settings_63 = " 6.3. Set different trading time for each day";
 extern bool   monday                =  True;             // Торговать в понедельник
 input string  monday_open           =  "22:00";          // Начало торвголи (начало торговой сессии)
 input string  monday_pause_start    =  "0";              // Остановка торговли (начало паузы)
 input string  monday_pause_stop     =  "0";              // Возобновление торгволи (окончание паузы)
 input string  monday_close          =  "23:59";          // Окончание торговли (конец торговой сессии)
 extern bool   tuesday               =  True;             // TUESDAY
 input string  tuesday_open          =  "00:30"; 
 input string  tuesday_pause_start   =  "01:00";
 input string  tuesday_pause_stop    =  "22:00";
 input string  tuesday_close         =  "23:59";
 extern bool   wednesday             =  True;             // WEDNESDAY
 input string  wednesday_open        =  "00:30";
 input string  wednesday_pause_start =  "0";
 input string  wednesday_pause_stop  =  "0";
 input string  wednesday_close       =  "01:00";
 extern bool   thursday              =  True;             // THURSDAY
 input string  thursday_open         =  "22:00";
 input string  thursday_pause_start  =  "0";
 input string  thursday_pause_stop   =  "0";
 input string  thursday_close        =  "23:59";
 extern bool   friday                =  True;             // FRIDAY
 input string  friday_open           =  "00:30";
 input string  friday_pause_start    =  "01:00";
 input string  friday_pause_stop     =  "22:00";
 input string  friday_close          =  "23:59";
 extern bool   sunday                =  False;            // SUNDAY
 input string  sunday_open           =  "08:30";
 input string  sunday_pause_start    =  "15:30";
 input string  sunday_pause_stop     =  "17:55";
 input string  sunday_close          =  "21:35";

 static datetime BB_prevtime=0; 
 static datetime CCI_prevtime=0;
 static datetime MA_prevtime=0;
 static datetime Bar_prevtime=0;
 double start_balance=1000;
 double minlot=0.0;
 double maxlot=0.01;
 int stoplevel=0;
 int Count_Sell,Count_Buy;
 double _Take_Profit,_Stop_Loss;      
 double takeprofit,stoploss;
 double trailstart,trailsize,trailstep;
 int slippage;
 int ticksize;       

 double BB_Low,BB_Up,BB_Main;
 double CCI;
 int CCI_Signal=0;
 double MA_1,MA_2;
 int MA_Signal=0;
 double Bar_Open;
 int Spike_Signal=0;
 double OsMA_0,OsMA_1,OsMA_2;
 int OsMA_Signal=0;
 int Trend;

 int last_buy_ticket,last_sell_ticket;
 double last_buy_profit=-1,last_sell_profit=-1;
 datetime last_sell_close,last_buy_close;
 int Buy_Paramets,Sell_Paramets;

 #define _TRADE_ 1
 #define _PAUSE_ 2
 datetime time1,time2,time3,time4;
 datetime day_of_trade;
 string  Day_open,Day_pause_start,Day_pause_stop,Day_close; 
 string _Open_Hour,_Open_Minute;
 string _Pause_Start_Hour,_Pause_Start_Minute;
 string _Pause_Stop_Hour,_Pause_Stop_Minute;
 string _Close_Hour,_Close_Minute;
 int flag_trade;

 string InpFileName;                                    
 string fileName="EA_Generic";      
 string InpDirectoryName="LOGS";
 string q;

/*-------------------------------------------------------------------------------------------------------------------+
|  С П Е Ц И А Л Ь Н А Я   Ф У Н К Ц И Я   И Н И Ц И А Л И З А Ц И И                                                 |
+-------------------------------------------------------------------------------------------------------------------*/ 
int OnInit()
{
      // код доступен только после оплаты
   }

/*-------------------------------------------------------------------------------------------------------------------+
|  С П Е Ц И А Л Ь Н А Я   Ф У Н К Ц И Я   Д Е И Н И Ц И А Л И З А Ц И И                                             |
+-------------------------------------------------------------------------------------------------------------------*/ 
void OnDeinit(const int reason)
{   
}

/*-------------------------------------------------------------------------------------------------------------------+
|  С П Е Ц И А Л Ь Н А Я   Ф У Н К Ц И Я   О Б Р А Б О Т К И   С О Б Ы Т И Й                                         |
+-------------------------------------------------------------------------------------------------------------------*/
void OnTick()
{
      // код доступен только после оплаты
   }

/*-------------------------------------------------------------------------------------------------------------------+
|  П О Л Ь З О В А Т Е Л Ь С К И Е   Ф У Н К Ц И И                                                                   |
+-------------------------------------------------------------------------------------------------------------------*/ 
/*-------------------------------------------------------------------------------------------------------------------+
| Функции ограничения торговли                                                                                       | 
+-------------------------------------------------------------------------------------------------------------------*/

int fRestrictTradebyLosses(string type)
{
  if(type=="BUY")
  if((TimeCurrent()-last_buy_close)/60>Restrict_TimeLimit || last_buy_profit>0)
    return(OP_BUY);
  if(type=="SELL")
  if((TimeCurrent()-last_sell_close)/60>Restrict_TimeLimit || last_sell_profit>0)
    return(OP_SELL);
  return(-1);
}

int fRestrictTradebyVolatility(string type)
{
  if(type=="BUY" && iOpen(NULL,PERIOD_

Показано первые 50% кода (символов: 48443)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
4 844,30₽ ≈ $59.21