во время исполнения этого скрипта в окне истории сделок в терминале отображается 5 закрытых сделок, упорядоченных по возрастанию даты открытия.
2007.02.17 15:52:04 Cannot open file 'C:\My Terminal\experts\scripts\CheckHistory.ex4' on the GBPUSD,H4
скрипт обычный выводит в Print() реквизиты закрытых ордеров из истории сделок -
код скрипта:
скрипт обычный выводит в Print() реквизиты закрытых ордеров из истории сделок -
код скрипта:
Попробуйте его перекомпилировать. "Кэннот опен" значит что файла ex4 нет. Такое бывает, если при компиляции обнаруживается ошибка.
и еще маленький вопрос по поводу работы с историей из тестера, если советник во время тестирования обращается к истории сделок, то как я понимаю он получает список закрытых за время данного сеанса тестирования ордеров, в каком порядке организован этот список? в порядке убывания времени открытия этих ордеров или как?
Список доступен за тот период, который отображен в терминале.
Сортировка, кажется, тоже соответствует терминальной.
Pavel VL., у Вас в коде ошибка
Надо писать не
Надо писать не
for (int i=HT; i>=0; i--){//3
а
for (int i=HT-1; i>=0; i--){//3
Потому что ордера нумеруются не с единицы, а с нуля.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
скрипт обычный выводит в 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); } //+------------------------------------------------------------------+и еще маленький вопрос по поводу работы с историей из тестера, если советник во время тестирования обращается к истории сделок, то как я понимаю он получает список закрытых за время данного сеанса тестирования ордеров, в каком порядке организован этот список? в порядке убывания времени открытия этих ордеров или как?