Errori, bug, domande - pagina 2339

 
pavlick_:

La compilazione non riesce, errori:
'a' - troppo complesso, semplificare la macro temp.mq5 24 10
's' - struct membro indefinito temp.mq5 24 10
...

Cioè il preprocessore sembra cercare di espandere ricorsivamente a.m

Tornando al tema della retroilluminazione

#define a       s.a

Se .a non è evidenziato - allora il compilatore non lo considera una macro. Allo stesso tempo è un errore. Risulta che l'evidenziazione da sola... e la compilazione effettiva da sola, mentre dovrebbero funzionare in sincronia come negli esempi seguenti:

#define b       b.x

void OnStart()
{
        int b = 1;
#define b   b + 2
        Print( b ); //Error: 'b' - too complex, simplify the macro
}
Questo di per sé è sbagliato (perché in C++ compila senza errori e risultato: 3), ma almeno è sincrono (sia l'illuminatore che il compilatore sono guidati dalla stessa logica)
 
fxsaber:

Non funziona nemmeno per me su dati reali.

Ho creato un EA di prova:

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
input int BreakTick = 5;
int OnInit()
  {
   count = 0;
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }
//+------------------------------------------------------------------+
static int count = 0;
void OnTick()
  {
   if(count++>5) DebugBreak();
   Print("count = ",count," , Ask = ",Ask);
   
  }
//+------------------------------------------------------------------+

DebugBreak() non funziona se si preme il pulsante "Start profiling on real data" in MetaEditor, ma funziona se si preme "Start/continue debugging on real data F5".

Niente funziona affatto nel tester - non può fermare l'esecuzione del programma e uscire al debugger, log:

2018.12.05 14:46:19.413 tst EURUSD,H1: count = 6 , Ask = 1.13397

2018.12.05 14:46:18.740 tst EURUSD,H1: count = 5 , Ask = 1.13396

2018.12.05 14:46:09.004 tst EURUSD,H1: count = 4 , Ask = 1.13396

2018.12.05 14:46:03.079 tst EURUSD,H1: count = 3 , Ask = 1.13395

2018.12.05 14:46:02.830 tst EURUSD,H1: count = 2 , Ask = 1.13395

2018.12.05 14:46:02.595 tst EURUSD,H1: count = 1 , Ask = 1.13394

2018.12.05 14:45:53.889 tst EURUSD,H1: inizializzato

2018.12.05 14:45:53.869 tst EURUSD,H1 inputs: BreakTick=5;

2018.12.05 14:45:52.131 expert tst EURUSD,H1: caricato con successo

2018.12.05 14:45:45.899 Expert tst EURUSD,H1: rimosso

2018.12.05 14:45:45.814 tst EURUSD,H1: uninit reason 1

2018.12.05 14:45:44.510 tst EURUSD,H1: count = 14 , Ask = 1.13393

2018.12.05 14:45:44.177 tst EURUSD,H1: count = 13 , Ask = 1.13392

2018.12.05 14:45:42.966 tst EURUSD,H1: count = 12 , Ask = 1.13393

2018.12.05 14:45:42.152 tst EURUSD,H1: count = 11 , Ask = 1.13393

2018.12.05 14:45:41.996 tst EURUSD,H1: count = 10 , Ask = 1.13392

2018.12.05 14:45:39.544 tst EURUSD,H1: count = 9 , Ask = 1.13393

2018.12.05 14:45:39.345 tst EURUSD,H1: count = 8 , Ask = 1.13392

2018.12.05 14:45:35.605 tst EURUSD,H1: count = 7 , Ask = 1.13394

2018.12.05 14:45:32.049 tst EURUSD,H1: count = 6 , Ask = 1.13394

2018.12.05 14:45:29.085 tst EURUSD,H1: count = 5 , Ask = 1.13393

2018.12.05 14:45:27.735 tst EURUSD,H1: count = 4 , Ask = 1.13393

2018.12.05 14:45:27.580 tst EURUSD,H1: count = 3 , Ask = 1.13393

2018.12.05 14:45:26.212 tst EURUSD,H1: count = 2 , Ask = 1.13393

2018.12.05 14:45:25.853 tst EURUSD,H1: count = 1 , Ask = 1.13392

2018.12.05 14:45:25.684 tst EURUSD,H1: inizializzato

2018.12.05 14:45:25.664 tst EURUSD,H1 inputs: BreakTick=5;

2018.12.05 14:45:24.163 expert tst EURUSD,H1: caricato con successo

Prima c'è stata un'esecuzione dal meta-editor tramite "Run profiling on real data" - ho cancellato l'esperto a mano, solo allora sono entrato nell'editor, poi un'esecuzione su F5 - qui tutto ha funzionato, ma è confuso che Print("count = ",count," , Ask = ",Ask); che dopo il breakpoint è stato eseguito
 
Igor Makanu:

ha creato un EA di prova:

DebugBreak() non funziona se si preme il pulsante "Start profiling on real data" in MetaEditor, ma funziona se si preme "Start/continue debugging on real data F5".

niente funziona affatto nel tester - non può fermare l'esecuzione del programma e uscire al debugger, log:

Prima c'è stata un'esecuzione dal meta-editor tramite "Run profiling on real data" - ha cancellato l'EA a mano, solo allora è entrato nell'editor, poi un'esecuzione su F5 - tutto ha funzionato qui

Grazie, funziona. Qualcosa di spaventosamente spesso ha iniziato a postare dichiarazioni errate...

 
fxsaber:

Grazie, funziona davvero. Una cosa spaventosamente comune per postare dichiarazioni errate...

Mio nonno diceva sempre: solo chi non fa niente non sbaglia!

;)

il mio esempio doveva funzionare così, o meglio doveva fermarsi dopo 5 tick:

void OnTick()
  {
   if(++count>5) DebugBreak();
   Print("count = ",count," , Ask = ",Ask);
  }

log:

2018.12.05 15:27:06.815 tst EURUSD,H1: count = 5 , Ask = 1.13563

2018.12.05 15:27:06.488 tst EURUSD,H1: count = 4 , Ask = 1.13563

2018.12.05 15:27:05.469 tst EURUSD,H1: count = 3 , Ask = 1.13563

2018.12.05 15:27:04.795 tst EURUSD,H1: count = 2 , Ask = 1.13563

2018.12.05 15:27:04.288 tst EURUSD,H1: count = 1 , Ask = 1.13563

2018.12.05 15:27:03.057 tst EURUSD,H1: inizializzato

2018.12.05 15:27:03.024 tst EURUSD,H1 inputs: BreakTick=5;

2018.12.05 15:27:01.376 expert tst EURUSD,H1: caricato con successo

 

Ho bisogno di testare se il sincronizzatore dell'ambiente di trading virtuale funziona correttamente con quello reale.

Per fare questo, ho bisogno di eseguire un EA di prova nel Visualizer e iniziare a interferire con esso a mano - piazzando posizioni, cancellando ordini pendenti, ecc.


È chiaro che MT5 non è assolutamente adatto per questo a causa di diverse limitazioni (solo i pulsanti vengono premuti e gli indicatori non possono fare trading).

Sto chiedendo un indicatore (non un Expert Advisor o un EA che non sia difficile da cambiare in un indicatore) per MT4 che possa essere messo nella finestra del visualizzatore e usato per "pasticciare" inviando a mano gli ordini di trading al Tester.


Se avete un tale indicatore EX4, inviatemelo come messaggio privato. Il mercato ne ha molti, ma sono tutti consulenti.

SZY Cercato così, l'indicatore non poteva trovare, ma ha trovato una bibbia. Lo scoprirò, grazie.

 
fxsaber:

Ho bisogno di testare se il sincronizzatore dell'ambiente di trading virtuale funziona correttamente con quello reale.

Per fare questo, ho bisogno di eseguire un EA di prova nel Visualizer e iniziare a interferire con esso a mano - piazzando posizioni, cancellando ordini in sospeso, ecc.


È chiaro che MT5 non è assolutamente adatto per questo a causa di diverse limitazioni (solo i pulsanti possono essere premuti e gli indicatori non possono fare trading).

Sto chiedendo un indicatore (non un Expert Advisor o un EA che non sia difficile da cambiare in un indicatore) per MT4 che possa essere messo nella finestra del visualizzatore e usato per "pasticciare" inviando a mano gli ordini di trading al Tester.


Se avete un tale indicatore EX4, inviatemelo come messaggio privato. Il mercato ne ha molti, ma sono tutti consulenti.

SZY Cercando così, l'indicatore non poteva trovare, ma ha trovato una bibbia. Lo cercherò, grazie.

L'uso di funzioni di trading negli indicatori è vietato. Cioè, non possono commerciare.

 
Andrey Barinov:

Gli indicatori non possono utilizzare funzioni di trading. Cioè non possono commerciare.

Anche in MT4?

 
fxsaber:

Anche in MT4?

Sfortunatamente in qualsiasi indicatore non è permesso chiamare funzioni di trading.
Avete provato la mia libreria, cosa avete trovato?

 
Vladislav Andruschenko:
Purtroppo in qualsiasi indicatore la chiamata di funzioni di trading non è consentita.
Avete provato la mia libreria, cosa avete trovato?

Non mi sono ancora informato. La variante con la libreria dovrebbe funzionare - scriverò la libreria nell'Expert Advisor che sto per pasticciare per avere un pannello per il trading manuale.


È possibile collegare (eseguire) uno script di trading infinito parallelamente a un Expert Advisor di prova in MT4 Visualizer?

 
fxsaber:

Non mi sono ancora informato. L'opzione della libreria dovrebbe funzionare - scriverò una libreria nell'EA con cui farò casino per avere un pannello per il trading manuale.

Ok. Occasionalmente, aggiornerò la biblah all'ultima versione.
Motivazione: