Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1173

 
Сергей Таболин:

Они пагубно влияют на конструктивность диалога!...

Красиво!

 

Уважаемые знатоки, мне нужно, чтобы при инициализации советника, он пробегался по всем закрытым ордерам. Но проблема в том, для этого, надо в терминале, предварительно сделать манипуляции, по отображению всей истории, так как обычно там по умолчанию стоит за месяц, или за три.

А теперь вопрос. Можно ли как-то программно, из советника, пробежаться по всей торговой историй даже если там фильтр стоит на короткий период.

Заранее спасибо за ответы.

 
Pavel Komarovsky:

Уважаемые знатоки, мне нужно, чтобы при инициализации советника, он пробегался по всем закрытым ордерам. Но проблема в том, для этого, надо в терминале, предварительно сделать манипуляции, по отображению всей истории, так как обычно там по умолчанию стоит за месяц, или за три.

А теперь вопрос. Можно ли как-то программно, из советника, пробежаться по всей торговой историй даже если там фильтр стоит на короткий период.

Заранее спасибо за ответы.

Нет, нельзя.

 

Всем добрый день.

Просьба помочь исправить скрипт, он писался ещё в 2009 году, но почему то перестал работать на новых версиях. 

Файлы:
RiskAdvisor.mq4  12 kb
 
Aleksey Mavrin:

Нет, нельзя.

А можно где почитать что где записывается в ДЦ и терминале пользователя при открытии / закрытии рыночного / отложенного ордера, при смене типа ордера с отложенного на рыночный, закрытии / удалении ордеров и что дальше происходит с этими записями? В доках только запросы и структура ордера / сделок / позиций есть. Хочется поподробней знать процесс))))

 
Valeriy Yastremskiy:

А можно где почитать что где записывается в ДЦ и терминале пользователя при открытии / закрытии рыночного / отложенного ордера, при смене типа ордера с отложенного на рыночный, закрытии / удалении ордеров и что дальше происходит с этими записями? В доках только запросы и структура ордера / сделок / позиций есть. Хочется поподробней знать процесс))))

Информацию из документации если закрепить экспериментами-проверками то можно придти к пониманию. И на форуме масса тем, скорее подойдут по тегам OnTradeTransaction  OnTrade и т.п.

Но все вопросы к разработчикам о "каких-либо ещё подробностях" ответом получали типа - всё уже написано.

Но если у вас конкретный вопрос -спрашивайте.

 
Aleksey Mavrin:

Информацию из документации если закрепить экспериментами-проверками то можно придти к пониманию. И на форуме масса тем, скорее подойдут по тегам OnTradeTransaction  OnTrade и т.п.

Но все вопросы к разработчикам о "каких-либо ещё подробностях" ответом получали типа - всё уже написано.

Но если у вас конкретный вопрос -спрашивайте.

OrderSelect по тикету сделан ранее. Ордер отложенный. Каким запросом  получить что ордер стал рыночным, кроме как проверки типа ордера на каждом тике. В логах это время записывается, но получается поля для этого времени в структуре ордера не предусмотрено, или я не прав? При смене типа ордера OrdersTotal(), и OrdersHistoryTotal тоже не изменяются, если правильно понимаю.

С остальным вроде прояснилось)

 
Всем привет. Есть ли способ узнать все возможные поля настроек у советника? Интересует главным образом все возможные значения из выпадающих списков в настройках. Если я сохраняю шаблон с советником или его настройки, то при чтении такого файла даже если поле является списком этого не понять.
 
Здравствуйте! Подскажите пожалуйста чайнику, как получить значения Awesome Oscillator с разных таймфреймов одновременно? Написал вот такой код, но значения удается получить только с первого хендла. Значение второго хендла почему-то совпадает с первым, хотя таймфрейм указан другой. Помогите пожалуйста!

void OnTick()
  {
   double PriceArray[];
   
   int AOhandle = iAO(_Symbol,PERIOD_M15);
   
   ArraySetAsSeries(PriceArray, true);
   
   CopyBuffer(AOhandle, 0, 0, 3, PriceArray);
   
   double AOvalue = NormalizeDouble(PriceArray[0], 6);

 
   double PriceArray1[];
   
   int AOhandle1 = iAO(_Symbol,PERIOD_H1);
   
   ArraySetAsSeries(PriceArray1, true);
   
   CopyBuffer(AOhandle1, 
    1 , 0, 3, PriceArray1);
   
   double AOvalue1 = NormalizeDouble(PriceArray[0], 6);
   
  
   Comment ("Awesome Oscillator Value: ", AOvalue, "\n", "\n",
            "Awesome Oscillator Value: ", AOvalue1);
  }


 

Mikhail:
Здравствуйте! Подскажите пожалуйста чайнику, как получить значения Awesome Oscillator с разных таймфреймов одновременно? Написал вот такой код, но значения удается получить только с первого хендла. Значение второго хендла почему-то совпадает с первым, хотя таймфрейм указан другой. Помогите пожалуйста!

void OnTick()
  {
   double PriceArray[];
   
   int AOhandle = iAO(_Symbol,PERIOD_M15);
   
   ArraySetAsSeries(PriceArray, true);
   
   CopyBuffer(AOhandle, 0, 0, 3, PriceArray);
   
   double AOvalue = NormalizeDouble(PriceArray[0], 6);

 
   double PriceArray1[];
   
   int AOhandle1 = iAO(_Symbol,PERIOD_H1);
   
   ArraySetAsSeries(PriceArray1, true);
   
   CopyBuffer(AOhandle1, 
    1 , 0, 3, PriceArray1);
   
   double AOvalue1 = NormalizeDouble(PriceArray[0], 6);
   
  
   Comment ("Awesome Oscillator Value: ", AOvalue, "\n", "\n",
            "Awesome Oscillator Value: ", AOvalue1);
  }



бывает и такое)) 1 очень теряется на фоне англ.букв l i и т.п., удобнее называть тогда суффиксы 001, 2.. и т.п.

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