Скачать MetaTrader 5

Необъяснимая ошибка при исполнении скрипта!

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114299
Forex Trader  
2007.02.17 15:52:04 Cannot open file 'C:\My Terminal\experts\scripts\CheckHistory.ex4' on the GBPUSD,H4
скрипт обычный выводит в Print() реквизиты закрытых ордеров из истории сделок -
код скрипта:

#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
 int HT = OrdersHistoryTotal();
  if (HT>0){//2
  for (int i=HT; i>=0; i--){//3 
   if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){//4
    if (OrderType()==OP_BUY || OrderType()==OP_SELL){//5
     Print("Open time "+TimeToStr(OrderOpenTime())+" Symbol "+OrderSymbol()+" Open Price "+OrderOpenPrice());
    }//5
   }//4
  }//3
 }//2
//----
   return(0);
  }
//+------------------------------------------------------------------+



и еще маленький вопрос по поводу работы с историей из тестера, если советник во время тестирования обращается к истории сделок, то как я понимаю он получает список закрытых за время данного сеанса тестирования ордеров, в каком порядке организован этот список? в порядке убывания времени открытия этих ордеров или как?

Forex Trader
114299
Forex Trader  
во время исполнения этого скрипта в окне истории сделок в терминале отображается 5 закрытых сделок, упорядоченных по возрастанию даты открытия.
Forex Trader
114299
Forex Trader  
2007.02.17 15:52:04 Cannot open file 'C:\My Terminal\experts\scripts\CheckHistory.ex4' on the GBPUSD,H4
скрипт обычный выводит в Print() реквизиты закрытых ордеров из истории сделок -
код скрипта:

Попробуйте его перекомпилировать. "Кэннот опен" значит что файла ex4 нет. Такое бывает, если при компиляции обнаруживается ошибка.

и еще маленький вопрос по поводу работы с историей из тестера, если советник во время тестирования обращается к истории сделок, то как я понимаю он получает список закрытых за время данного сеанса тестирования ордеров, в каком порядке организован этот список? в порядке убывания времени открытия этих ордеров или как?

Список доступен за тот период, который отображен в терминале.
Сортировка, кажется, тоже соответствует терминальной.
Forex Trader
114299
Forex Trader  
Pavel VL., у Вас в коде ошибка

Надо писать не
for (int i=HT; i>=0; i--){//3


а

for (int i=HT-1; i>=0; i--){//3



Потому что ордера нумеруются не с единицы, а с нуля.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий