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

generic v13.19.5.mq4

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

liquidity trap detector.pineTradingView · 1 общих теговrudi_ind.pineTradingView · 1 общих теговdoubletap3d.mq5MQL5 / MetaTrader 5 · 1 общих теговday type radar for tradingview.pineTradingView · 1 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 1 общих теговzuluquantsupertrend_pro_elite_v6.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

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

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

НастройкаОписание
Settings_10 Раздел настроек — Текстовый разделитель группы настроек размера ордеров
Settings_11 Подраздел настроек — Текстовый разделитель подгруппы общих настроек лота
Âêëþ÷åíèå / îòêëþ÷åíèå ôèêñèðîâàííîãî ëîòà (Fixed_Lot) Фиксированный лот — Включение или отключение фиксированного размера лота; при выключении лот рассчитывается динамически от баланса
Èñõîäíûé ðàçìåð ëîòà äëÿ äåïîçèòà â $1000 (Lots) Размер лота — Исходный размер лота для расчёта при динамическом режиме, рассчитан для депозита в $1000
Óâåëè÷åíèå ëîòà ïîñëå ñåðèè óáûòî÷íûõ îðåäðîâ (Lot_Multiple) Множитель лота — Увеличение размера лота после серии убыточных ордеров
Max_Orders Максимум ордеров — Максимальное количество одновременно открытых ордеров одного направления
Order_StepDistance Шаг между ордерами — Расстояние в пунктах между ордерами одного направления
Order_TotalProfit Прибыль серии — Общая прибыль в пунктах для автоматического закрытия серии ордеров
Settings_20 Раздел настроек — Текстовый разделитель группы настроек закрытия ордеров
Settings_21 Подраздел настроек — Текстовый разделитель подгруппы стоп-лосса и тейк-профита
Óðîâåíü Stop Loss â ïï. (Stop_Loss) Стоп-лосс — Уровень стоп-лосса в пунктах от цены открытия
Óðîâåíü Take Profit â ïï. (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
Çàêðûòèå ïî èíäèêàòîðó Commodity Channel Index (Close_by_CCI) Закрытие по CCI — Закрытие ордера по сигналу индикатора Commodity Channel Index
Settings_25 Раздел настроек — Текстовый разделитель группы закрытия по OsMA
Çàêðûòèå îðäåðà, åñëè öåíà âûøëà çà âåðõíþþ ãðàíèöó êàíàëà è äîñòèãíóòî îïðåäåëåííîå çíà÷åíèå ïðèáûë (Close_by_OsMA) Закрытие по OsMA — Закрытие ордера, если цена вышла за верхнюю границу канала и достигнуто необходимое значение прибыли
Ìèíèìàëüíî íåîáõîäèìûé ðàçìåð ïðèáûëè äëÿ çàêðûòèÿ îðäåðà ïî ÂÂ (â ïèïñàõ) (OsMA_MinProfit) Мин. прибыль OsMA — Минимальный необходимый размер прибыли в пунктах для закрытия ордера по OsMA
Settings_26 Раздел настроек — Текстовый разделитель группы закрытия в безубыток
Èñïîëüçîâàòü ïåðåâîä â áåçóáûòîê (ðàáîòàåò ïðè ñëîâèè îòñóòñâèÿ Traiiling Stop) (Close_by_Breakeven) Перевод в безубыток — Использование перевода в безубыток (работает при отсутствии активного Trailing Stop)
Åñëè òåêóùàÿ öåíà óõîäèò â ïðîôèò íà BE_InitLevel ïóíêòîâ - âûñòàâëÿåòñÿ Stop Loss (BE_InitLevel) Уровень для BE — Если текущая цена уходит в профит на BE_InitLevel пунктов — выставляется стоп-лосс
Stop Loss âûñòàâëÿåòñÿ íà BE_Profit ïóíêòîâ îò öåíû îòêðûòèÿ (BE_Profit) Прибыль BE — Сдвиг стоп-лосса на BE_Profit пунктов от цены открытия
Settings_27 Раздел настроек — Текстовый разделитель группы настроек трейлинг-стопа
Çàêðûâàòü ñäåëêè ïî Trailling Stop (Close_by_Trail) Трейлинг-стоп — Включение функции трейлинг-стопа для закрытия сделок
Èñõîäíîå ðàññòîÿíèå òðåéëèíãà (ïèïñàõ) (íå ìåíüøå MarketInfo(Symbol(),MODE_STOPLEVEL), áîëüøå Trl_di (Trl_dist_1) Расстояние трейла 1 — Исходное расстояние трейлинга в пунктах (не меньше стоп-уровня брокера)
Ðàññòîÿíèå òðåéëèíãà (â ïèïñàõ) ïîñëå äîñòèæåíèÿ öåíîé çíà÷åíèÿ Level_1 (Trl_dist_2) Расстояние трейла 2 — Расстояние трейлинга в пунктах после достижения ценой значения Level_1
Ðàññòîÿíèå òðåéëèíãà (â ïèïñàõ) ïîñëå äîñòèæåíèÿ öåíîé çíà÷åíèÿ Level_2 (Trl_dist_3) Расстояние трейла 3 — Расстояние трейлинга в пунктах после достижения ценой значения Level_2
Settings_30 Раздел настроек — Текстовый разделитель группы настроек открытия ордеров
Settings_31 Подраздел настроек — Текстовый разделитель подгруппы сигналов первого ордера
Îòêðûâàòü ñäåëêè ïî BB (Open_by_BB_1) Открытие по BB 1 — Открытие сделок по сигналу Bollinger Bands для первого ордера
Îòêðûâàòü ñäåëêè ïî ÑÑI (Open_by_CCI_1) Открытие по CCI 1 — Открытие сделок по сигналу CCI для первого ордера
Îòêðûâàòü ñäåëêè ïî MA (Open_by_MA_1) Открытие по MA 1 — Открытие сделок по сигналу Moving Average для первого ордера
Îòêðûâàòü ñäåëêè ïî OsMA (Open_by_OsMA_1) Открытие по OsMA 1 — Открытие сделок по сигналу OsMA для первого ордера
 äîïîëíåíèå èñïîëüçîâàòü èíäèêàòîð ñêà÷êà öåíû (Spike_Filter_1) Фильтр скачков 1 — Дополнительное использование индикатора скачка цены для первого ордера
Îãðàíè÷åíèå íà îòêðûòèå íîâûõ ñäåëîê â óñëîâèÿõ ñëèøêîì íèçêîé è âûñîêîé âîëàòèëüíîñòè (Volatility_Filter_1) Фильтр волатильности 1 — Ограничение на открытие новых сделок при слишком низкой или высокой волатильности для первого ордера
Îòêðûâàòü ñäåëêè òîëüêî â íàïðàâëåíèè òðåíäà (Trend_Filter_1) Фильтр тренда 1 — Открытие сделок только в направлении тренда для первого ордера
Settings_32 Раздел настроек — Текстовый разделитель подгруппы сигналов второго ордера
Îòêðûâàòü ñäåëêè ïî BB (Open_by_BB_2) Открытие по BB 2 — Открытие сделок по сигналу Bollinger Bands для второго ордера
Îòêðûâàòü ñäåëêè ïî ÑÑI (Open_by_CCI_2) Открытие по CCI 2 — Открытие сделок по сигналу CCI для второго ордера
Îòêðûâàòü ñäåëêè ïî MA (Open_by_MA_2) Открытие по MA 2 — Открытие сделок по сигналу Moving Average для второго ордера
Îòêðûâàòü ñäåëêè ïî OsMA (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 (BB_TimeFrame) Таймфрейм BB — Таймфрейм для расчёта Bollinger Bands
Ïåðèîä BB (BB_Period) Период BB — Период Bollinger Bands
Êîë-âî ñòàíäàðòíûõ îòêëîíåíèé BB (BB_StDev) Стандартные отклонения BB — Количество стандартных отклонений для канала Bollinger Bands
Ñäâèã BB (BB_Shift) Сдвиг BB — Горизонтальный сдвиг Bollinger Bands
Îòñòóï çà ïðåäåëû êàíàëà BB äëÿ îòêðûòèÿ îðäåðà â ïèïñàõ (BB_Open_Level) Уровень открытия BB — Отступ за пределы канала BB для открытия ордера в пунктах
Îòñòóï çà ïðåäåëû êàíàëà BB äëÿ çàêðûòèÿ îðäåðà â ïèïñàõ (BB_Close_Level) Уровень закрытия BB — Отступ за пределы канала BB для закрытия ордера в пунктах
Settings_42 Раздел настроек — Текстовый разделитель подгруппы настроек CCI
Òàéìôðåéì CCI (CCI_TimeFrame) Таймфрейм CCI — Таймфрейм для расчёта Commodity Channel Index
Ïåðèîä CCI (CCI_Period) Период CCI — Период индикатора CCI
Òèï öåíû CCI (0 - PRICE_CLOSE; 1 - PRICE_OPEN; 2 - PRICE_HIGH; 3 - PRICE_LOW; 4 - PRICE_MEDIAN; 5 - (CCI_Applied_Price) Тип цены CCI — Тип цены для расчёта CCI (0 — PRICE_CLOSE, 1 — PRICE_OPEN и т.д.)
Ñäâèã CCI (CCI_Shift) Сдвиг CCI — Горизонтальный сдвиг индикатора CCI
Ãðàíèöà CCI, ïðè ïðåîäîëåíèè êîòîðîé ôîðìèðóåòñÿ ñèãíàë (CCI_Signal_Level) Уровень сигнала CCI — Граница CCI, при пересечении которой формируется сигнал
Settings_43 Раздел настроек — Текстовый разделитель подгруппы настроек Moving Average
Òàéìôðåéì èíèäêàòîðà Moving Average (MA_TimeFrame) Таймфрейм MA — Таймфрейм для расчёта Moving Average
Ïåðèîä èíèäêàòîðà Moving Average (MA_Period) Период MA — Период индикатора Moving Average
Ìåòîä óñðåäíåíèÿ (0 - MODE_SMA; 1 - MODE_EMA; 2 - MODE_SMMA; 3 - MODE_LWMA) (MA_Price_Method) Метод усреднения MA — Метод усреднения (0 — MODE_SMA, 1 — MODE_EMA, 2 — MODE_SMMA, 3 — MODE_LWMA)
Òèï öåíû (0 - PRICE_CLOSE; 1 - PRICE_OPEN; 2 - PRICE_HIGH; 3 - PRICE_LOW; 4 - PRICE_MEDIAN; 5 - PRIC (MA_Applied_Price) Тип цены MA — Тип цены для расчёта Moving Average (0 — PRICE_CLOSE, 1 — PRICE_OPEN и т.д.)
Ñäâèã ÌÀ (MA_Shift) Сдвиг MA — Горизонтальный сдвиг Moving Average
Ðàçìåð îòñòóïà îò MM â ïèïñàõ (MA_Signal_Level) Уровень сигнала MA — Размер отступа от MA в пунктах для формирования сигнала
Settings_44 Раздел настроек — Текстовый разделитель подгруппы настроек идентификации скачков цены
Òàéìôðåéì äëÿ ðàñ÷åòà ñâå÷è (áàðà) (Bar_TimeFrame) Таймфрейм баров — Таймфрейм для расчёта свечей (баров) анализа ценового диапазона
Êîë-âî áàðîâ, çà êîòîðîå ðàñ÷èòûâàåòñÿ èçìåíåíèå öåíû (Bar_Shift) Сдвиг баров — Количество баров, за которое рассчитывается изменение цены
Ìèíèìàëüíîå ðàñòîÿíèå â ïèïñàõ, êîòîðîå äîëæíà ïðîéòè öåíà çà óêàçàííîå êîë-âî áàðîâ (Min_PriceRange) Мин. ценовой диапазон — Минимальное расстояние в пунктах, которое цена должна пройти за указанное количество баров
Ìàêñèìàëüíîå ðàñòîÿíèå â ïèïñàõ, êîòîðîå äîëæíà ïðîéòè öåíà çà óêàçàííîå êîë-âî áàðîâ (Max_PriceRange) Макс. ценовой диапазон — Максимальное расстояние в пунктах, которое цена должна пройти за указанное количество баров
Settings_45 Раздел настроек — Текстовый разделитель подгруппы настроек OsMA
Òàéìôðåéì èíèäêàòîðà 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 Раздел настроек — Текстовый разделитель подгруппы ограничений по волатильности
Ìèíèìàëüíûé óðîâåíü âîëàòèëüíîñòè â ïèïñïàõ (êàíàë BB) (MinVolatility) Мин. волатильность — Минимальный уровень волатильности в пунктах (канал BB) для разрешения торговли
Ìàêñèìàëüíûé óðîâåíü âîëàòèëüíîñòè â ïèïñàõ (èçìåíåíèå öåíà çà ïîñëåäíèå 23 ÷àñà) (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₽