Советники: Fractals at Close prices EA - страница 2

 

Вам нужно закомментировать строки.

//Закомментированная строка
Незакоментированная строка

Чтобы закомментировать строку, нужно поставить "//".

 
Vladimir Karputov :

Вам нужно закомментировать строки.

Чтобы закомментировать строку, нужно поставить "//".

Да, это было именно то, что я сделал, как в коде вы послали меня раньше, и эта часть я оставляю здесь ниже, однако ни один из тех, кто работал в EA не закрывать позиции в фрактальном противоположном знаке! Есть какие-либо другим способом, так что я могу изменить его?!

 //--- 
   if (last_lower!= EMPTY_VALUE && previous_lower!= EMPTY_VALUE )
       if (previous_lower<last_lower)
        {
           //ClosePositions( POSITION_TYPE_SELL ); 
         if (CalculatePositions( POSITION_TYPE_BUY )== 0 )
           {
             double sl=(InpTakeProfit== 0 )? 0.0 :m_symbol. Ask ()-ExtStopLoss;
             double tp=(InpStopLoss== 0 )? 0.0 :m_symbol. Ask ()+ExtTakeProfit;
            OpenBuy(sl,tp);
           }
        }
   if (last_upper!= EMPTY_VALUE && previous_upper!= EMPTY_VALUE )
       if (previous_upper>last_upper)
        {
           //ClosePositions( POSITION_TYPE_BUY ); 
         if (CalculatePositions( POSITION_TYPE_SELL )== 0 )
           {
             double sl=(InpTakeProfit== 0 )? 0.0 :m_symbol. Bid ()+ExtStopLoss;
             double tp=(InpStopLoss== 0 )? 0.0 :m_symbol. Bid ()-ExtTakeProfit;
            OpenSell(sl,tp);
           }
        }
 //--- 
   Trailing();
  }
 
kwlin_089:

Да, это было именно то, что я сделал, как в коде вы послали меня раньше, и эта часть я оставляю здесь ниже, однако ни один из тех, кто работал в EA не закрывать позиции в фрактальном противоположном знаке! Есть какие-либо другим способом, так что я могу изменить его?!


В таком случае я не совсем понимаю, что именно Вы хотите. Извините.

 
Vladimir Karputov:

В таком случае я не совсем понимаю, что именно Вы хотите. Извините.

Я попытаюсь показать пример:

Если советник открыл покупку, потому что он обнаружил previous_lower[B]<last_lower[A], и в этом примере входными параметрами являются «take profit: 500 pips» и «stop loss: 200 pips», технически мы ожидаем EA достичь этих уровней прибыли или стоп-лосса, чтобы закрыть сделку.

Но в этой версии вашего эксперта-консультанта, когда появляется инвертированный сигнал, т. Е. Используя пример выше, если появляется previous_upper[B]>last_upper[A], EA завершает операцию покупки, которая активна, не достигнув прибыли или стоп-лосс.

Это именно то, что мне нужно изменить, я пытался изменить некоторые вещи в коде, но я не могу понять, какая часть кода изменит эту проблему, чтобы прекратить операции, когда инвертированный сигнал появляется, когда операция все еще открыта!

Если у вас есть решение, которое вы хотели бы узнать?

 
kwlin_089:

Я попытаюсь показать пример:

Если советник открыл покупку, потому что он обнаружил previous_lower[B]<last_lower[A], и в этом примере входными параметрами являются «take profit: 500 pips» и «stop loss: 200 pips», технически мы ожидаем EA достичь этих уровней прибыли или стоп-лосса, чтобы закрыть сделку.

Но в этой версии вашего эксперта-консультанта, когда появляется инвертированный сигнал, т. Е. Используя пример выше, если появляется previous_upper[B]>last_upper[A], EA завершает операцию покупки, которая активна, не достигнув прибыли или стоп-лосс.

Это именно то, что мне нужно изменить, я пытался изменить некоторые вещи в коде, но я не могу понять, какая часть кода изменит эту проблему, чтобы прекратить операции, когда инвертированный сигнал появляется, когда операция все еще открыта!

Если у вас есть решение, которое вы хотели бы узнать?


Если я правильно понял Вам нужно это:

 //--- 
   if (last_lower!= EMPTY_VALUE && previous_lower!= EMPTY_VALUE )
       if (previous_lower<last_lower)
        {
         //ClosePositions( POSITION_TYPE_SELL ); 
         if (CalculatePositions( POSITION_TYPE_BUY )== 0 && CalculatePositions( POSITION_TYPE_SELL )== 0)
           {
             double sl=(InpTakeProfit== 0 )? 0.0 :m_symbol. Ask ()-ExtStopLoss;
             double tp=(InpStopLoss== 0 )? 0.0 :m_symbol. Ask ()+ExtTakeProfit;
            OpenBuy(sl,tp);
           }
        }
   if (last_upper!= EMPTY_VALUE && previous_upper!= EMPTY_VALUE )
       if (previous_upper>last_upper)
        {
         //ClosePositions( POSITION_TYPE_BUY ); 
         if (CalculatePositions( POSITION_TYPE_SELL )== 0 && CalculatePositions( POSITION_TYPE_BUY )== 0)
           {
             double sl=(InpTakeProfit== 0 )? 0.0 :m_symbol. Bid ()+ExtStopLoss;
             double tp=(InpStopLoss== 0 )? 0.0 :m_symbol. Bid ()-ExtTakeProfit;
            OpenSell(sl,tp);
           }
        }
 //--- 
   Trailing();
  }

Как это работает: если есть более, чем одна позиция (не важно какая именно: BUY or SELL) то мы пропускаем все сигналы и не открываем новые позиции.

 
Vladimir Karputov :

Если я правильно понял Вам нужно это:

Как это работает: если есть более, чем одна позиция (не важно какая именно: BUY or SELL) то мы пропускаем все сигналы и не открываем новые позиции.

Точно!

Спасибо за помощь!

 
kwlin_089:

Точно!

Спасибо за помощь!


Пожалуйста!

 

Г-н Владимир,

Не могли бы вы отпустить этот индикатор как HTF?

 
zemo:

Г-н Владимир,

Не могли бы вы отпустить этот индикатор как HTF?

Нет.
Причина обращения: