Вопрос к профессионалам - страница 3

 

Позиции советник открывал лотом=0.01

Суммарная прибыль CloseProfit закрытия была = 3 доллара

Суммарный убыток закрытия CloseLoss был задан = 30 долларов

Т.е. ни по прибыли, ни по убытку - - условия не выполнялись! И тем не менее, обе позиции тут же закрывались - сразу после открытия! И так 450 раз... подряд

Пож. подскажите, что тут могло случиться? Где тут возможен глюк?

Почему позиции закрывались - если условия закрытия не выполнялись? Ведь первые 10 мин советник работал нормально. И заглючил лишь после самого первого закрытия по виртуальному тралу.

/жжж Закрытие позиций по заданному суммарному профиту/убытку жж+ 

 if (

 ( Close_Profit ==true  &&   TRADE_START==true    &&
// если выключатель блока закрытия включен и  
 (GetProfitOpenPosInCurrency(Symbol_1,-1,MagicNumber ) +
  GetProfitOpenPosInCurrency(Symbol_2,-1,MagicNumber ) 
     >= CloseProfit)) // суммарный профит больше заданного значения
   || // или 
  ( Close_Profit ==true  &&   TRADE_START==true    && 
 (GetProfitOpenPosInCurrency(Symbol_1,-1,MagicNumber ) +
  GetProfitOpenPosInCurrency(Symbol_2,-1,MagicNumber )
    <= -1*CloseLoss)) //суммарный убыток больше заданного значения      
        
 ){ // закрываем позиции 
    ClosePosFirstProfit(Symbol_1,-1, MagicNumber);
    ClosePosFirstProfit(Symbol_2,-1, MagicNumber);  }         
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж+ 
 
 
leonid553:


Т.е. ни по прибыли, ни по убытку - - условия не выполнялись! И тем не менее, обе позиции тут же закрывались - сразу после открытия! И так 450 раз... подряд

Пож. подскажите, что тут могло случиться? Где тут возможен глюк?

Почему позиции закрывались - если условия закрытия не выполнялись? Ведь первые 30 мин советник работал нормально. И заглючил лишь после первого закрытия по виртуальному тралу.

А в логах у вас разве не записано когда какое условие сработало и при каких начальных условиях?
 

Вот момент открытия позиций:

17:09:45 '806141': order buy market 0.01 USDJPY sl: 0.000 tp: 0.000
17:09:45 '806141': request was accepted by server
17:09:46 '806141': request in process
17:09:46 '806141': order was opened : #501263159 buy 0.01 USDJPY at 80.178 sl: 0.000 tp: 0.000
17:09:46 '806141': order buy market 0.01 USDCAD sl: 0.00000 tp: 0.00000
17:09:46 '806141': request was accepted by server
17:09:47 '806141': request in process
17:09:47 '806141': order was opened : #501263160 buy 0.01 USDCAD at 0.98016 sl: 0.00000 tp: 0.00000
17:09:58 Old tick EURCHF15 1.21143/1.21163
17:09:58 Old tick USDCAD15 0.98019/0.98037
.

................
 

А вот поперло глючное закрытие:

... ... ..
17:09:58 Old tick GBPCHF15 1.37127/1.37164
17:09:58 Old tick EURCHF15 1.21150/1.21171
17:09:58 Old tick EURGBP15 0.88336/0.88347
17:09:58 Old tick USDJPY15 80.18100/80.19200
17:09:58 Old tick CHFJPY15 94.58400/94.60200
17:09:58 Old tick GBPJPY15 129.71300/129.73100
17:09:58 Old tick EURJPY15 114.59200/114.60600
17:09:58 Old tick USDCAD15 0.98011/0.98026
17:09:58 Old tick USDCAD60 0.98011/0.98026
17:09:58 Old tick EURUSD15 1.42921/1.42926
17:09:58 Old tick GBPCHF15 1.37127/1.37163
17:09:58 Old tick CHFJPY15 94.58300/94.60100
17:09:58 Old tick GBPJPY15 129.71300/129.73801

17:47:51 '806141': close order #501263159 buy 0.01 USDJPY at 80.178 sl: 0.000 tp: 0.000 at price 0.000
17:47:51 '806141': request was accepted by server
17:47:52 '806141': request in process
17:47:52 '806141': order #501263159 buy 0.01 USDJPY at 80.178 sl: 0.000 tp: 0.000 closed at price 80.147
17:47:52 '806141': close order #501263160 buy 0.01 USDCAD at 0.98016 sl: 0.00000 tp: 0.00000 at price 0.00000
17:47:52 '806141': request was accepted by server
17:47:52 '806141': request in process
17:47:52 '806141': order #501263160 buy 0.01 USDCAD at 0.98016 sl: 0.00000 tp: 0.00000 closed at price 0.98070
17:47:55 '806141': order buy market 0.01 USDJPY sl: 0.000 tp: 0.000
17:47:55 '806141': request was accepted by server
17:47:55 '806141': request in process
17:47:55 '806141': order was opened : #501263543 buy 0.01 USDJPY at 80.157 sl: 0.000 tp: 0.000
17:47:55 '806141': order buy market 0.01 USDCAD sl: 0.00000 tp: 0.00000
17:47:56 '806141': request was accepted by server
17:47:56 '806141': request in process
17:47:56 '806141': order was opened : #501263544 buy 0.01 USDCAD at 0.98085 sl: 0.00000 tp: 0.00000
17:47:56 '806141': close order #501263543 buy 0.01 USDJPY at 80.157 sl: 0.000 tp: 0.000 at price 0.000
17:47:57 '806141': request was accepted by server
17:47:57 '806141': request in process
17:47:57 '806141': order #501263543 buy 0.01 USDJPY at 80.157 sl: 0.000 tp: 0.000 closed at price 80.148
17:47:57 '806141': close order #501263544 buy 0.01 USDCAD at 0.98085 sl: 0.00000 tp: 0.00000 at price 0.00000
17:47:58 '806141': request was accepted by server
17:47:58 '806141': request in process
17:47:58 '806141': order #501263544 buy 0.01 USDCAD at 0.98085 sl: 0.00000 tp: 0.00000 closed at price 0.98061
17:47:59 '806141': order buy market 0.01 USDJPY sl: 0.000 tp: 0.000
17:47:59 '806141': request was accepted by server
17:48:00 '806141': request in process
17:48:00 '806141': order was opened : #501263545 buy 0.01 USDJPY at 80.163 sl: 0.000 tp: 0.000
17:48:00 '806141': order buy market 0.01 USDCAD sl: 0.00000 tp: 0.00000
17:48:00 '806141': request was accepted by server
17:48:00 '806141': request in process
17:48:01 '806141': order was opened : #501263546 buy 0.01 USDCAD at 0.98078 sl: 0.00000 tp: 0.00000
17:48:01 '806141': close order #501263545 buy 0.01 USDJPY at 80.163 sl: 0.000 tp: 0.000 at price 0.000
17:48:01 '806141': request was accepted by server
17:48:01 '806141': request in process
17:48:01 '806141': order #501263545 buy 0.01 USDJPY at 80.163 sl: 0.000 tp: 0.000 closed at price 80.150
17:48:02 '806141': close order #501263546 buy 0.01 USDCAD at 0.98078 sl: 0.00000 tp: 0.00000 at price 0.00000
17:48:02 '806141': request was accepted by server
17:48:02 '806141': request in process
17:48:02 '806141': order #501263546 buy 0.01 USDCAD at 0.98078 sl: 0.00000 tp: 0.00000 closed at price 0.98061
17:48:05 '806141': order buy market 0.01 USDJPY sl: 0.000 tp: 0.000
17:48:05 '806141': request was accepted by server
17:48:05 '806141': request in process
17:48:05 '806141': order was opened : #501263547 buy 0.01 USDJPY at 80.158 sl: 0.000 tp: 0.000
17:48:05 '806141': order buy market 0.01 USDCAD sl: 0.00000 tp: 0.00000
17:48:06 '806141': request was accepted by server
17:48:06 '806141': request in process

.... ... ....
 

Возможно, что виноват блок виртуального трейлинг-стопа!

       //-----------   Парный трейлинг стоп      -                                                         
if (Use_TrailingStop==true && TRADE_START==true){//если выключатель трала включен
if  (ExistPositions(Symbol_1,-1,MagicNumber) && 
   ExistPositions(Symbol_2,-1,MagicNumber)){//если открыты заданные позиции,
       if (!ProfitTrailing || pr_up-Trailing_Stop>0) {//если суммарный профит
    //больше заданного во внешних параметрах значения Trailing_Stop
      if (gdProfit<pr_up-Trailing_Stop-Trailing_Step) gdProfit=pr_up-Trailing_Stop;
    }//подтягиваем виртуальный трал
  } else gdProfit=BEGIN_PROFIT;
  if (gdProfit>=pr_up)  {
  for (int i=0; i<NumberOfTry; i++)                 {
    ClosePosFirstProfit(Symbol_1,-1, MagicNumber);
    ClosePosFirstProfit(Symbol_2,-1, MagicNumber);}
                       }
     }//--------------конец трала

ТРАЛ я задавал = 2.0 доллара суммарно с шагом =0.1

Скорее всего - глюк именно здесь.

 

Видимо, тут где-то косяк в том, что самое первое открытие позиций парный трал отрабатывает нормально. А вот все последующие парные открытия он начинает сразу закрывать.

т.е. вот это условие if (gdProfit>=pr_up)

после закрытия первых сделок не обнуляется - а так и остается в памяти трала .


 
ужоснах, на демо не проверяли его сначала?
Причина обращения: