Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 273

 

Buona giornata a tutti. Qualcuno ha avuto a che fare con la visualizzazione degli indicatori durante i test in modalità visiva? È possibile nasconderli durante i test? Voglio davvero vedere come funziona il trawl, ma a causa della grande quantità di indicatori il grafico di visualizzazione è molto piccolo e devo fermarmi e minimizzare manualmente tutte le finestre degli indicatori durante ogni test. La documentazione di https://www.mql5.com/ru/docs/runtime/testing#indicatorrelease dice che

Для того чтобы запретить показ индикатора на графике после завершения одиночного тестирования, используйте функцию IndicatorRelease() в обработчике OnDeinit().

Non riesco a trovare informazioni su come nascondere gli indicatori durante i test.

Документация по MQL5: Программы MQL5 / Тестирование торговых стратегий
Документация по MQL5: Программы MQL5 / Тестирование торговых стратегий
  • www.mql5.com
Программы MQL5 / Тестирование торговых стратегий - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
jommerbot:


Ma non ho trovato alcuna informazione su cosa fare se volete nascondere gli indicatori durante i test.

Questo perché non ce n'è.

https://www.mql5.com/ru/search#!keyword=HideTestIndicators

 

Potete dirmi se un broker può dire se un trader o un robot sta facendo trading (MT4)? Prima sembrava che non potesse, ma ora? C'è solo una condizione in uno dei concorsi dei commercianti:

1.4 La concorrenza è una competizione tra commercianti. Pertanto, in particolare, le strategie automatizzate che non coinvolgono un umano (trader) per prendere una decisione basata sulla situazione corrente del mercato non sono consentite.


Se uso un Expert Advisor, mi bruciano o no?)

Ho chiesto al loro manager, ha evitato di rispondere, come possono determinare chi sta commerciando.

 
Crucian:

Potete dirmi se un broker può dire se un trader o un robot sta facendo trading (MT4)? Prima sembrava che non potesse, ma ora? C'è solo una condizione in uno dei concorsi dei commercianti:

Se uso un Expert Advisor, mi bruciano o no?)

Chiesto al loro manager, sta evitando di rispondere come possono dire chi sta commerciando.

Ho visto tali condizioni nei concorsi. Il broker potrebbe bloccare la funzione di auto-trading nella piattaforma e l'EA potrebbe non partire per te.
 
papaklass:

Certo che può.

Se non potesse, non scriverebbe. :)

C'è solo un modo per sapere se un ordine è stato piazzato da un EA - un numero magico non nullo.
 
stringo:
C'è solo un modo per sapere se un ordine è stato piazzato da un EA - un numero magico non nullo.

E se ho un mago nell'EA:

int mag=NULL;

nessuno al DC sarà in grado di determinare che si tratta di un EA?

 
rosomah:

E se ho un mago nei miei EA:

int mag=NULL;

nessuno nella società di intermediazione lo riconoscerà come un EA?

Probabilmente dovrebbe essere impostato int mag != NULL; (non uguale a 0).

E quale mag dovrebbe essere assegnato all'ordine?

Nessuno? Anche questo sarebbe un casino.

 
Crucian:

Probabilmente bisogna mettere int mag != NULL; (non uguale a 0).

E quale mag dovrebbe essere assegnato all'ordine?

Nessuno? Anche questa sarebbe una sciocchezza.

int mag != NULL; -questo modo non compilerà nel tester.

int mag = NULL; -questo modo va facilmente. Se lo controlliamo attraverso l'allarme, restituirà "0".

int mag = EMPTY_VALUE; -anche questo funziona. Qui restituisce"-2147483648".

Alert("mag=",mag);

Ora l'ho provato nel tester a MQL4 e MQL5. Funziona nel tester.

Per quanto riguarda il codice reale, la domanda che cosa dovremmo fare in modo che una società di intermediazione non sentirebbe l'Expert Advisor, almeno secondo i parametri in arrivo, rimane aperta per me. Naturalmente, possiamo farlo senza ordini parziali.

 
rosomah:

int mag != NULL; -non compila nel tester.

int mag = NULL; -funziona facilmente. Se lo controllate con gli avvisi, restituirà "0".

int mag = EMPTY_VALUE; -anche questo funziona. Qui restituisce"-2147483648".

Alert("mag=",mag);

Ora l'ho provato nel tester in MQL4 e MQL5. Nel tester va.

Per quanto riguarda il codice reale, la domanda che cosa dovremmo fare in modo che una società di intermediazione non sentirebbe l'Expert Advisor, almeno secondo i parametri in arrivo, rimane aperta per me. Naturalmente, possiamo farlo senza usare ordini.

NULL è un identificatore speciale usato quando si lavora con tipi di riferimento (puntatori a oggetti). Integer (int) è un tipo significativo. I tipi significativi non possono riferirsi a nulla, in particolare all'identificatore NULL, possono essere passati solo per riferimento. Pertanto, il confronto di un tipo significativo con un tipo di riferimento non è corretto. Inoltre, è impossibile equiparare un tipo significativo a un tipo di riferimento. Il motivo per cui questo codice è compilabile è perché il compilatore converte implicitamente NULL in un tipo significativo "0" e poi equipara la variabile mag ad esso. L'unica vera soluzione è semplicemente confrontare il numero magico di un ordine o di una transazione con zero. Se questo valore è diverso da zero, possiamo concludere che questo ordine è stato piazzato dall'EA:

ulong magic = HistoryOrderGetInteger(order_id, ORDER_MAGIC);

if(magic != 0)

   printf("Ордер выставлен экспертом");

else

   printf(Ордер выставлен вручную); 

 

Da dove comincio?!?! Mi sono appena iscritto