советник - разные вопросы - страница 15

 

Возможно, простой пример поможет:

for(ENUM_DAY_OF_WEEK i=0; i<7; i++)
  {
   if(i==WEDNESDAY) continue;
   Print(EnumToString(i));
  }

Это цикл для перебора 7 дней недели, печатающий название каждого дня.

Однако перед оператором Print находится оператор 'if', который указывает циклу перейти к следующей итерации, если сегодня среда (пропуская оператор print).

Результат: (видите, что среда не была напечатана?)

 
#continue; - Закрыто
honest_knave:
for(ENUM_DAY_OF_WEEK i=0; i<7; i++)
  {
   if(i==WEDNESDAY) continue;
   Print(EnumToString(i));
  }

Однако перед оператором Print находится оператор 'if', который указывает циклу перейти сразу к следующей итерации, если это среда (отсутствует оператор print).

Просто Вау - вот оно! Замечательное (гораздо более / абсолютно ясное) объяснение.

Огромная благодарность, всего вам наилучшего.

 

#Ордер Закрыть - Открыть

Обратите внимание: у меня уже есть код для ордеров Close - Pending, Loss, Profit, All Orders. Но мне нужно переписать их снова. (Я просто пытаюсь их забыть).
Прежде всего: я просто пытаюсь найти оптимальные методы для них, пожалуйста, дайте мне совет и поделитесь некоторыми хорошими ссылками ( и чем-то еще ) для них.

Итак, я нашел эту тему от @SimonGniadkowski-Loops and Closing or Deleting Orders(спасибо Саймону - я добавил ее в закладки). Я не прочитал всю эту тему.
Просто, кто уже прочитал эту тему, пожалуйста, дайте мне знать, и будет ли это лучше для меня для закрытия и удаления ордеров, пожалуйста?
(и я все еще ищу этот тип потоков или коды, которые были бы полезны для меня).

Я начну писать коды для них, после хороших советов и комментариев.

Заранее спасибо.

 

#Закрытие ордера - Закрыто

Я ужепереписал функции закрытия ордеров моего эксперта после того, как внимательно прочитал 2 замечательных комментария @Simon.

 

#Информация о счете и прибыль от продажи, покупки, всех ордеров - Открыто

Я просто пытаюсь написать код для " Account Info's, Sell Profit, Buy Profit, All this chart symbols, All Opening Orders Profits".
Сначала я начинаю писать код для информации о счете. Этот код не обновляется в реальном времени, этот код задерживается. Я уже пробовалWindowRedraw(), RefreshRates(), не помогает.

Мне нужна помощь, пожалуйста.

ObjectSetString ( chart_ID, name, OBJPROP_TEXT, DoubleToString( AccountProfit(), 2 ) ); 

Заранее спасибо.

( Я все еще ищу их.)

 
пожалуйста, поместите его в OnMillisecondTimer(250);
 
Marco vd Heijden:
Пожалуйста, поместите его в OnMillisecondTimer(250);

Вы имеете в виду приведенный ниже код?

EventSetMillisecondTimer( 250 );

Потому что я получаю следующую ошибку.

'OnMillisecondTimer' - function not defined

Спасибо.

 

#BuyProfit

Я пытаюсь получить 'Buy Profit' с помощью нижеприведенного кода, он действительно работает с отдельными значениями. Но мне нужно вычислить их все, тогда он покажет мне одно значение.
Мне нужна помощь.

// Buy Profit
void testbuyprofit()
{
    for ( int i = OrdersTotal() - 1; i >= 0; i-- )
    {
        if ( ! OrderSelect( i, SELECT_BY_POS, MODE_TRADES) ) continue;
        if( OrderType() == OP_BUY )
        {
            profit = OrderProfit();
            Print( "Profit Buy:", profit );
        }
    }
    //---
    return;
}

Заранее спасибо.

 
void testbuyprofit()
{
    double profit_buy=0;
    for ( int i = OrdersTotal() - 1; i >= 0; i-- )
    {
        if ( ! OrderSelect( i, SELECT_BY_POS, MODE_TRADES) ) continue;
        if( OrderType() == OP_BUY )
        {
            profit_buy += OrderProfit();
        }
    }
    Print( "Profit Buy:", profit_buy );
}
 
honest_knave:
void testbuyprofit()
{
    ...
    Print( "Profit Buy:", profit_buy );
}
Вы меня поняли. Спасибо.
Причина обращения: