generic v13.19.5.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «generic v13.19.5.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Советник для платформы 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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.