не совсем, при отключении этого параметра советник закрывает сделки с убытком. Мой вопрос в том, что бы советник не закрывал ордера до достижения цены ТП или СЛ.
Посмотри в коде описания переменных и определи что нужно.
extern string _TP = "Основные входные параметры";
//---
extern int TICK =0; //--- запрет при тике превышающем значение .если =0 то откл.
extern int TakeProfit = 40; //--- (10 2 60)
extern int StopLoss = 50; //--- (100 10 200)
extern bool UseStopLevels = TRUE; //--- Включение стоповых ордеров. Если выключена, то работают только виртуальные тейки и лоссы.
extern bool CloseOnlyProfit = TRUE;
//---
extern int SecureProfit = 2; //--- (0 1 5) Вывод в безубыток
extern int SecureProfitTriger = 8; //--- (10 2 30)
extern int MaxLossPoints = -65; //--- (-200 5 -20) Максимальная просадка для закрытия ордеров Buy и Sell при изменении сигнала (При просадке равной от - MaxLossPoints или меньше (например прибыль 0), ордер закроется)
extern double Commis =0;
extern string _PO = "Параметры Ордеров";
extern bool MarketOrder =TRUE;
extern double OrderDOP =4; //флаг - дистанция доливочного рыночного ордера . если = 0 - откл.
extern double KDOP =1; //множитель лота доливочного рыночного ордера
extern bool ModifDOP =FALSE;
extern bool ModifTake =FALSE;
extern double LimitOrder = 0; //флаг - дистанция лимитного ордера . если = 0 - откл.
extern double TimeL =11; //время экспирации лимитного ордера
extern double KLimit =1.5; //множитель лота лимитного ордера
extern bool DeleteLimit = TRUE;//флаг удаления лимитного ордера при стоплосе главного в безубытке
extern bool DeleteLimitU = TRUE; //флаг удаления лимитного ордера при отсутствии условий открытия
extern double StopOrder = 0; //флаг - дистанция стопового ордера
extern double TimeS =20; //время экспирации стопового ордера
extern int DOPS = 20; //условие просадки шлавного рыночного ордера для открытия стопового в пип
extern double KStop =1; //множитель лота стопового ордера
extern bool ModifStop = TRUE; //флаг модификации стопового ордера при увеличении дистанции от цены ( сохранение дистанции при её увеличении)
extern int ReversOrder = 0; //отложник обратного направления открываемый одновременно с основным ( первым ) ордером
extern double KRevers =2;
extern double TimeRewers =11;
//+--------------------------------------------------------------------------------------------------------------+
//| Трал
//+--------------------------------------------------------------------------------------------------------------+
extern string _tral = "Настройки трала";
extern double TrailingStop = 0; // 0 -выключен если менее1 то в долях от профита напр. 0.25... если более1 то обычный
extern double TrailingStep = 0; // шаг трала
extern double Utral = 10; // величина профита при которой включается трал
extern string _MM = "Настройка MM";
//---
extern double StartLot = 0; // лот первого орднра . если = 0 то =мм если больше 0 то =StartLot
extern bool RecoveryMode = TRUE; //--- Включение режима восстановления депозита (увеличение лота если случился стоп-лосс)
extern double FixedLot = 0.1; //--- Фиксированный объём лота
extern double AutoMM = 0; //--- ММ включается если AutoMM > 0. Процент риска. При RecoveryMode = FALSE, менять нужно только это значение.
//--- При AutoMM = 20 и депозите в 1000$, лот будет равен 0,2. Далее лот будет увеличиваться исходя из свободных средств, то есть уже при депозите в 2000$ лот будет равен 0,4.
extern double MaximalLot = 1000;
extern double AutoMM_Max = 20.0; //--- Максимальный риск
extern int MaxAnalizCount = 50; //--- Число закрытых ранее ордеров для анализа(Используется при RecoveryMode = True)
extern double Risk = 25.0; //--- Риск от депозита (Используется при RecoveryMode = True)
extern double RiskFreeMargin = 0.5;
extern double RiskMargin = 0; //ФЛАГ И СООТНОШЕНИЕ МАРЖИ К СВОБОДНЫМ СРЕДСТВАМ ПРИ КОТОРОМ ЗАПРЕТ ОТКРЫТИЯ
extern double MultiLotPercent = 2; //--- Коэффициент умножение лота (Используется при RecoveryMode = True)
//+--------------------------------------------------------------------------------------------------------------+
//| Периоды индикаторов. Кол-во баров для каждого индикатора.
//+--------------------------------------------------------------------------------------------------------------+
extern string _indl = "Настройки индикаторов LONG";
//--- Периоды индикаторов (Тоже можно будет заоптить, так как для каждой пары свои)
extern int iMA_PeriodLONG = 55; //--- (60 5 100)
extern int iCCI_PeriodLONG = 18; //--- (10 2 30)
extern int iATR_PeriodLONG = 14; //--- (10 2 30)
extern int iWPR_PeriodLONG = 11; //--- (10 1 20)
extern int iMA_LONG_Open_a = 18; //--- (4 2 20) Фильтр МА для открытия Buy и Sell (Пунты)
extern int iMA_LONG_Open_b = 39; //--- (14 2 50) Фильтр МА для открытия Buy и Sell (Пунты)
extern int iWPR_LONG_Open_a = 1; //--- (-100 1 0) Фильтр WPR для открытия Buy и Sell
extern int iWPR_LONG_Open_b = 5; //--- (-100 1 0) Фильтр WPR для открытия Buy и Sell
extern int FilterWL = 5;
extern int FilterCL = 250;
extern string _indsh = "Настройки индикаторов SHORT";
extern int iMA_PeriodShort = 55; //--- (60 5 100)
extern int iCCI_PeriodShort = 18; //--- (10 2 30)
extern int iATR_PeriodShort = 14; //--- (10 2 30)
extern int iWPR_PeriodShort = 11; //--- (10 1 20)
extern int iMA_Short_Open_a = 15; //--- (4 2 20) Фильтр МА для открытия Buy и Sell (Пунты)
extern int iMA_Short_Open_b = 39; //--- (14 2 50) Фильтр МА для открытия Buy и Sell (Пунты)
extern int iWPR_Short_Open_a = 1; //--- (-100 1 0) Фильтр WPR для открытия Buy и Sell
extern int iWPR_Short_Open_b = 5; //--- (-100 1 0) Фильтр WPR для открытия Buy и Sell
extern int FilterWS = 95;
extern int FilterCS = 250;
//+--------------------------------------------------------------------------------------------------------------+
//| Параметры оптимизации для правил открытия и закрытия позиции.
//+--------------------------------------------------------------------------------------------------------------+
extern string _Add_Op = "Расширенные параметры оптимизации";
//---
extern string _AddOpenFilters = "---";
extern int FilterATR = 5; //--- (0 1 10) Проверка на вход по ATR для Buy и Sell (if (iATR_Signal <= FilterATR * pp) return (0) (!) Можно не оптить
extern double iCCI_OpenFilter = 160; //--- (100 10 400) Фильтр по iCCI для Buy и Sell. При оптимизации под JPY рекомендуемо оптить по правилу (100 50 4000)
extern string _CloseOrderFilters = "---";
//---
extern int Price_Filter_Close = 14; //--- (10 2 20) Фильтр цены открытия для закрытия Buy и Sell (Пунты)
extern int iWPR_Filter_Close = 90; //--- (0 1 -100) Фильтр WPR для закрытия Buy и Sell
//+--------------------------------------------------------------------------------------------------------------+
//| Расширенные настройки
//+--------------------------------------------------------------------------------------------------------------+
extern string _Add = "Расширенные настройки";
extern bool Long = TRUE; //--- Выключатель длинных позиций
extern bool Short = TRUE; //--- Выключатель коротких позиций
extern int NormalizeLot = 2; //--- нормализация лота если мин.лот =0.1 то =1 если же =0.01 то =2
extern double MaxSpread = 5;
extern double Slippage = 3;
extern int AccountBar =1;//--- запрет открытия в баре =тф
extern double Korrect =10;
extern bool AccountOrder =FALSE;//--- учёт ордеров при откр. дополнительных. если =true то учитывает только основной если =false то все
extern bool WriteLog = TRUE; //--- //--- Включение всплывающих окон в терминале.
extern bool WriteDebugLog = TRUE; //--- Включение всплывающих окон об ошибках в терминале.
extern bool PrintLogOnChart = TRUE; //--- Включение комментариев на графике (при тестировании выключается автоматически)
//+--------------------------------------------------------------------------------------------------------------+
//| Часы работы эксперта
//+--------------------------------------------------------------------------------------------------------------+
extern string News = "Время торговой паузы";
extern bool PAUSE_NEWS = TRUE; //флаг включения паузы
extern double HOUR_START_PAUSE =22;//час начала паузы
extern double HOUR_END_PAUSE = 0; //час окончания паузы
extern double DEI_START_PAUSE = 5; //день начала паузы
extern double DEI_END_PAUSE = 0; //день окончания паузы
extern double START_PAUSE =23; //время и флаг начала ежедневного перерыва
extern double END_PAUSE = 0; //время окончания ежедневного перерыва
extern int MagicNumber = 777;
extern int MagicNumber1 = 888;
extern color LC1=Gold;
extern color LC=Lime;
//---
extern int TICK =0; //--- запрет при тике превышающем значение .если =0 то откл.
extern int TakeProfit = 40; //--- (10 2 60)
extern int StopLoss = 50; //--- (100 10 200)
extern bool UseStopLevels = TRUE; //--- Включение стоповых ордеров. Если выключена, то работают только виртуальные тейки и лоссы.
extern bool CloseOnlyProfit = TRUE;
//---
extern int SecureProfit = 2; //--- (0 1 5) Вывод в безубыток
extern int SecureProfitTriger = 8; //--- (10 2 30)
extern int MaxLossPoints = -65; //--- (-200 5 -20) Максимальная просадка для закрытия ордеров Buy и Sell при изменении сигнала (При просадке равной от - MaxLossPoints или меньше (например прибыль 0), ордер закроется)
extern double Commis =0;
extern string _PO = "Параметры Ордеров";
extern bool MarketOrder =TRUE;
extern double OrderDOP =4; //флаг - дистанция доливочного рыночного ордера . если = 0 - откл.
extern double KDOP =1; //множитель лота доливочного рыночного ордера
extern bool ModifDOP =FALSE;
extern bool ModifTake =FALSE;
extern double LimitOrder = 0; //флаг - дистанция лимитного ордера . если = 0 - откл.
extern double TimeL =11; //время экспирации лимитного ордера
extern double KLimit =1.5; //множитель лота лимитного ордера
extern bool DeleteLimit = TRUE;//флаг удаления лимитного ордера при стоплосе главного в безубытке
extern bool DeleteLimitU = TRUE; //флаг удаления лимитного ордера при отсутствии условий открытия
extern double StopOrder = 0; //флаг - дистанция стопового ордера
extern double TimeS =20; //время экспирации стопового ордера
extern int DOPS = 20; //условие просадки шлавного рыночного ордера для открытия стопового в пип
extern double KStop =1; //множитель лота стопового ордера
extern bool ModifStop = TRUE; //флаг модификации стопового ордера при увеличении дистанции от цены ( сохранение дистанции при её увеличении)
extern int ReversOrder = 0; //отложник обратного направления открываемый одновременно с основным ( первым ) ордером
extern double KRevers =2;
extern double TimeRewers =11;
//+--------------------------------------------------------------------------------------------------------------+
//| Трал
//+--------------------------------------------------------------------------------------------------------------+
extern string _tral = "Настройки трала";
extern double TrailingStop = 0; // 0 -выключен если менее1 то в долях от профита напр. 0.25... если более1 то обычный
extern double TrailingStep = 0; // шаг трала
extern double Utral = 10; // величина профита при которой включается трал
extern string _MM = "Настройка MM";
//---
extern double StartLot = 0; // лот первого орднра . если = 0 то =мм если больше 0 то =StartLot
extern bool RecoveryMode = TRUE; //--- Включение режима восстановления депозита (увеличение лота если случился стоп-лосс)
extern double FixedLot = 0.1; //--- Фиксированный объём лота
extern double AutoMM = 0; //--- ММ включается если AutoMM > 0. Процент риска. При RecoveryMode = FALSE, менять нужно только это значение.
//--- При AutoMM = 20 и депозите в 1000$, лот будет равен 0,2. Далее лот будет увеличиваться исходя из свободных средств, то есть уже при депозите в 2000$ лот будет равен 0,4.
extern double MaximalLot = 1000;
extern double AutoMM_Max = 20.0; //--- Максимальный риск
extern int MaxAnalizCount = 50; //--- Число закрытых ранее ордеров для анализа(Используется при RecoveryMode = True)
extern double Risk = 25.0; //--- Риск от депозита (Используется при RecoveryMode = True)
extern double RiskFreeMargin = 0.5;
extern double RiskMargin = 0; //ФЛАГ И СООТНОШЕНИЕ МАРЖИ К СВОБОДНЫМ СРЕДСТВАМ ПРИ КОТОРОМ ЗАПРЕТ ОТКРЫТИЯ
extern double MultiLotPercent = 2; //--- Коэффициент умножение лота (Используется при RecoveryMode = True)
//+--------------------------------------------------------------------------------------------------------------+
//| Периоды индикаторов. Кол-во баров для каждого индикатора.
//+--------------------------------------------------------------------------------------------------------------+
extern string _indl = "Настройки индикаторов LONG";
//--- Периоды индикаторов (Тоже можно будет заоптить, так как для каждой пары свои)
extern int iMA_PeriodLONG = 55; //--- (60 5 100)
extern int iCCI_PeriodLONG = 18; //--- (10 2 30)
extern int iATR_PeriodLONG = 14; //--- (10 2 30)
extern int iWPR_PeriodLONG = 11; //--- (10 1 20)
extern int iMA_LONG_Open_a = 18; //--- (4 2 20) Фильтр МА для открытия Buy и Sell (Пунты)
extern int iMA_LONG_Open_b = 39; //--- (14 2 50) Фильтр МА для открытия Buy и Sell (Пунты)
extern int iWPR_LONG_Open_a = 1; //--- (-100 1 0) Фильтр WPR для открытия Buy и Sell
extern int iWPR_LONG_Open_b = 5; //--- (-100 1 0) Фильтр WPR для открытия Buy и Sell
extern int FilterWL = 5;
extern int FilterCL = 250;
extern string _indsh = "Настройки индикаторов SHORT";
extern int iMA_PeriodShort = 55; //--- (60 5 100)
extern int iCCI_PeriodShort = 18; //--- (10 2 30)
extern int iATR_PeriodShort = 14; //--- (10 2 30)
extern int iWPR_PeriodShort = 11; //--- (10 1 20)
extern int iMA_Short_Open_a = 15; //--- (4 2 20) Фильтр МА для открытия Buy и Sell (Пунты)
extern int iMA_Short_Open_b = 39; //--- (14 2 50) Фильтр МА для открытия Buy и Sell (Пунты)
extern int iWPR_Short_Open_a = 1; //--- (-100 1 0) Фильтр WPR для открытия Buy и Sell
extern int iWPR_Short_Open_b = 5; //--- (-100 1 0) Фильтр WPR для открытия Buy и Sell
extern int FilterWS = 95;
extern int FilterCS = 250;
//+--------------------------------------------------------------------------------------------------------------+
//| Параметры оптимизации для правил открытия и закрытия позиции.
//+--------------------------------------------------------------------------------------------------------------+
extern string _Add_Op = "Расширенные параметры оптимизации";
//---
extern string _AddOpenFilters = "---";
extern int FilterATR = 5; //--- (0 1 10) Проверка на вход по ATR для Buy и Sell (if (iATR_Signal <= FilterATR * pp) return (0) (!) Можно не оптить
extern double iCCI_OpenFilter = 160; //--- (100 10 400) Фильтр по iCCI для Buy и Sell. При оптимизации под JPY рекомендуемо оптить по правилу (100 50 4000)
extern string _CloseOrderFilters = "---";
//---
extern int Price_Filter_Close = 14; //--- (10 2 20) Фильтр цены открытия для закрытия Buy и Sell (Пунты)
extern int iWPR_Filter_Close = 90; //--- (0 1 -100) Фильтр WPR для закрытия Buy и Sell
//+--------------------------------------------------------------------------------------------------------------+
//| Расширенные настройки
//+--------------------------------------------------------------------------------------------------------------+
extern string _Add = "Расширенные настройки";
extern bool Long = TRUE; //--- Выключатель длинных позиций
extern bool Short = TRUE; //--- Выключатель коротких позиций
extern int NormalizeLot = 2; //--- нормализация лота если мин.лот =0.1 то =1 если же =0.01 то =2
extern double MaxSpread = 5;
extern double Slippage = 3;
extern int AccountBar =1;//--- запрет открытия в баре =тф
extern double Korrect =10;
extern bool AccountOrder =FALSE;//--- учёт ордеров при откр. дополнительных. если =true то учитывает только основной если =false то все
extern bool WriteLog = TRUE; //--- //--- Включение всплывающих окон в терминале.
extern bool WriteDebugLog = TRUE; //--- Включение всплывающих окон об ошибках в терминале.
extern bool PrintLogOnChart = TRUE; //--- Включение комментариев на графике (при тестировании выключается автоматически)
//+--------------------------------------------------------------------------------------------------------------+
//| Часы работы эксперта
//+--------------------------------------------------------------------------------------------------------------+
extern string News = "Время торговой паузы";
extern bool PAUSE_NEWS = TRUE; //флаг включения паузы
extern double HOUR_START_PAUSE =22;//час начала паузы
extern double HOUR_END_PAUSE = 0; //час окончания паузы
extern double DEI_START_PAUSE = 5; //день начала паузы
extern double DEI_END_PAUSE = 0; //день окончания паузы
extern double START_PAUSE =23; //время и флаг начала ежедневного перерыва
extern double END_PAUSE = 0; //время окончания ежедневного перерыва
extern int MagicNumber = 777;
extern int MagicNumber1 = 888;
extern color LC1=Gold;
extern color LC=Lime;
Последнее редактирование: