Errori, bug, domande - pagina 2910

 
AlexInRush:

Ciao a tutti!

Potreste dirmi come fare il debug di un robot che fa trading su una pila di ordini su Forti? C'è qualche strumento per riprodurre la storia dello stack o lavorare con dati reali nella modalità di emulazione dell'esecuzione? Non posso pensare ad altro che a debuggare su un account reale usando print e comment, che a volte non è economico :(

Ce n'è uno sul mercato. Il kodobase non sembra averne.

 
Stanislav Korotky:

Ce ne sono sul mercato. Non credo che ce ne siano su Kodobase.

Buon pomeriggio, Stanislav.

Ho letto la descrizione di OrderBook History Library. Se ho capito bene, quando collego questa libreria al robot, posso sostituire gli eventi regolari della tazza con quelli dell'emulatore. Quando si gioca la strategia nel tester, la trasmissione della storia del canale sarà sincronizzata con la storia dei tick del tester. Di conseguenza, l'emulazione dell'esecuzione sarà basata sulla storia dei tick del tester. Se ho capito bene,sembra che questo sia quello che stavo cercando. Grazie, farò una prova!

 
AlexInRush:

Buon pomeriggio, Stanislav.

Ho letto la descrizione di OrderBook History Library. Se ho capito bene, quando collego questa libreria al mio robot, posso sostituire gli eventi del tester con quelli dell'emulatore. Quando si gioca la strategia nel tester, la trasmissione della storia del canale sarà sincronizzata con la storia dei tick del tester. Di conseguenza, l'emulazione dell'esecuzione sarà basata sulla storia dei tick del tester. Se ho capito bene,sembra che questo sia quello che stavo cercando. Grazie, farò una prova!

Non puoi menzionare o discutere di prodotti sul forum. Domande sul prodotto, scrivetemi di persona.

 

Ho scoperto una cosa strana con la creazione di una risorsa grafica! Una stessa variante di codice scritta in MQL5 funziona perfettamente, e in MQL4 non funziona affatto! Tutto è assolutamente uguale e sembra semplice:

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

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

Come risultato, quando si installa l'indicatore sul grafico in Metatrader 4 abbiamo

Dov'è il problema?

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

Ho scoperto una cosa strana con la creazione di una risorsa grafica! Una stessa variante di codice scritta in MQL5 funziona perfettamente, e in MQL4 non funziona affatto! Tutto è assolutamente uguale e sembra semplice:

Come risultato, quando si installa l'indicatore sul grafico in Metatrader 4 abbiamo

Dov'è il problema?

Sì, non funziona in MT4.
Ma funziona sia per MT5 che per MT4 con questa costruzione più corta:

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

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

File:
Morph.mq4  9 kb
iCanvas.mqh  49 kb
Images.zip  731 kb
 
Nikolai Semko:

Sì, non funziona in MT4.
Ma funziona sia per MT5 che per MT4 con questo design più corto:


Ti ringrazio, ma ahimè, una tale costruzione carica solo immagini alla compilazione, mentre io devo caricarla in un file compilato al lavoro. Quindi la funzione ResourceCreate() in MQL4 non funziona in alcun modo? Forse, gli sviluppatori hanno semplicemente dimenticato di aggiungere il codice per questo nella fitta agenda?

Документация по MQL5: Общие функции / ResourceCreate
Документация по MQL5: Общие функции / ResourceCreate
  • www.mql5.com
[in]  Относительный путь к файлу, содержащему данные для ресурса. Если путь начинается с обратной косой черты "\" (пишется "\\"), то файл ищется относительно папки Если второй вариант функции вызывается для...
 
I commenti non relativi a questo argomento sono stati spostati in "Domande dai principianti di MQL4 MT4 MetaTrader 4".
 
Nikolay Kositsin:

Grazie, ma ahimè, una tale costruzione carica le immagini solo in fase di compilazione, mentre dovrebbe essere caricata nel file compilato in fase di esecuzione. Quindi la funzione ResourceCreate() in MQL4 non funziona in alcun modo? Forse, gli sviluppatori hanno semplicemente dimenticato di aggiungere un codice per questo nel tumulto degli eventi?

Forse.
Hanno sistemato ResourceReadImage proprio di recente.
 
Non c'è nessun messaggio di errore:
class B {
enum E { function };
        void function() {} //нормально ???
        void g() { function(); }
};

ma le cose stanno così:

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

Qual è la differenza fondamentale?

 
errore di compilazione con operatore ternario
errore di compilazione con operatore ternario ?

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


qualche suggerimento?
Perché?
Motivazione: