Ошибки, баги, вопросы - страница 2910

 
AlexInRush:

Всем, привет!

Подскажите, пожалуйста, как можно отладить робота, который торгует по стакану ордеров на фортсе? Есть ли какой-нибудь инструмент для проигрывания стаканной истории или работа с реальными данными в режиме эмуляции исполнения? Ничего не могу придумать кроме как отлаживать на реале, используя print и comment, что, порой обходиться не дешево :(

В маркете есть. В кодобазе, вроде, нет.

 
Stanislav Korotky:

В маркете есть. В кодобазе, вроде, нет.

Добрый день, Станислав.

Ознакомился с описанием OrderBook History Library. Если я все правильно понял, то при подключении этой библиотеки  к роботу, я могу подменить штатные события от стакана, на события от эмулятора. При проигрывании в тестере стратегии, трансляция истории стакана будет синхронизирована с тиковой историей тестера. Эмуляция исполнения, соответственно, будет как обычно по тиковой истории тестера. Если я правильно все понял то, кажется, это то, что  я искал. Спасибо, попробую!

 
AlexInRush:

Добрый день, Станислав.

Ознакомился с описанием OrderBook History Library. Если я все правильно понял, то при подключении этой библиотеки  к роботу, я могу подменить штатные события от стакана, на события от эмулятора. При проигрывании в тестере стратегии, трансляция истории стакана будет синхронизирована с тиковой историей тестера. Эмуляция исполнения, соответственно, будет как обычно по тиковой истории тестера. Если я правильно все понял то, кажется, это то, что  я искал. Спасибо, попробую!

На форуме нельзя продукты упоминать и обсуждать. Вопросы по продукту пишите в личку.

 

Странную вещь обнаружил с созданием графического ресурса! Один и тот же вариант кода написанный в MQL5 работает великолепно, а в MQL4 не работает никак! Всё абсолютно одинаково и выглядит проще простого:

    string path="::Images\\AAA.bmp";
    string path1="\\Images\\AAA.bmp";

    if(!ResourceCreate(path,path1))
     {
      Print(__FUNCTION__+", Error="+string(GetLastError()));
      return(false);
     }

В итоге, при установке индикатора на график в Metatrader 4 имеем:

Где собака зарыта?

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
//| Expert initialization function                                   |                                                                                       ); "Внимание! %s: Попробуем добавить индикатор MACD(%s/%s) на график %s/%s. Получим ошибку 4114"                         subwindow...
 
Nikolay Kositsin:

Странную вещь обнаружил с созданием графического ресурса! Один и тот же вариант кода написанный в MQL5 работает великолепно, а в MQL4 не работает никак! Всё абсолютно одинаково и выглядит проще простого:

В итоге, при установке индикатора на график в Metatrader 4 имеем:

Где собака зарыта?

да, в MT4 не работает.
Но зато работает как для MT5, так и для MT4 такая более короткая конструкция:

#resource  "\\Images\\AAA.bmp"
string path="::Images\\AAA.bmp";

uint bmp[], w,h;
ResourceReadImage(path,bmp,w,h);

Файлы:
Morph.mq4  9 kb
iCanvas.mqh  49 kb
Images.zip  731 kb
 
Nikolai Semko:

да, в MT4 не работает.
Но зато работает как для MT5, так и для MT4 такая более короткая конструкция:


Благодарю, но, увы, такая конструкция грузит картинки только при компиляции, а нужно грузить уже в скомпилированный файл при работе. Стало быть функция ResourceCreate() в MQL4 не работает никак? Может разработчики просто в суматохе дел забыли дописать для неё код?

Документация по MQL5: Общие функции / ResourceCreate
Документация по MQL5: Общие функции / ResourceCreate
  • www.mql5.com
[in]  Относительный путь к файлу, содержащему данные для ресурса. Если путь начинается с обратной косой черты "\" (пишется "\\"), то файл ищется относительно папки Если второй вариант функции вызывается для...
 
Комментарии, не относящиеся к этой теме, были перенесены в "Вопросы от начинающих MQL4 MT4 MetaTrader 4".
 
Nikolay Kositsin:

Благодарю, но, увы, такая конструкция грузит картинки только при компиляции, а нужно грузить уже в скомпилированный файл при работе. Стало быть функция ResourceCreate() в MQL4 не работает никак? Может разработчики просто в суматохе дел забыли дописать для неё код?

Возможно.
Ведь только относительно недавно починили ResourceReadImage.
 
Нет сообщения об ошибке:
class B {
enum E { function };
        void function() {} //нормально ???
        void g() { function(); }
};

а так есть:

class A {
public:
        void function() {}
};
class B : public A {
enum E { function };
        void g() { function(); } //Error: ')' - expression expected
};

А какая принципиальная разница?

 
   compile fail with ternary operator 
   ошибка компиляции с оператором ?:

interface A{};
class B:public A{};
class C:public A{};
void OnStart(void)
  {
   A* x=(true)? new B : new C; //invalid cast operation
  }


   any suggestions?
   почему? 
Причина обращения: