Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 44

 
Dopo un OrderSend(Async) riuscito, il campo Result.request_id contiene il numero di richieste inviate al server commerciale da quandoil terminale è stato avviato(non il login).
 

Non capisco, per qualche ragione la classe CCanvas disegna solo le linee sulla tela normalmente quando il grafico è ingrandito, e quando si ingrandisce, solo la tela stessa è disegnata e le linee non sono disegnate:

 
Konstantin:

Non ci capisco niente, per qualche ragione la classe CCanvas normalmente disegna le linee sulla tela solo quando è ingrandita e quando è ingrandita la tela solo è disegnata, ma le linee non sono disegnate:


Ma non pubblicate il vostro codice qui - nel caso in cui scopriamo un errore )). Una generazione di pagliacci...

 

Ho trovato il problema, quando ho convertito le coordinate di tempo/prezzo in pixel del grafico, non ho tenuto conto delle coordinate del grafico, quindi ho dovuto convertirle nelle coordinate della tela dove stavo disegnando ))


 

POSITION_TICKET può non essere uguale aPOSITION_IDENTIFIER solo se c'è stata una negoziazione DEAL_ENTRY_INOUT(DEAL_ENTRY_OUT_BY).

Se non c'è stata una tale transazione, questi parametri di posizione saranno sempre gli stessi.

 
fxsaber:

POSITION_TICKET può non essere uguale aPOSITION_IDENTIFIER solo se c'è stata una negoziazione DEAL_ENTRY_INOUT(DEAL_ENTRY_OUT_BY).

Se non c'è stata una tale transazione, questi parametri di posizione corrisponderanno sempre.

Non è vero. Ho visto che quando si attiva un ordine in sospeso, il ticket e l'ID non coincidono, anche nell'account tester.

Quindi per ottenere una lista di ordini e compravendite appartenenti a una posizione dovremmo sempre usare l'ID e non il ticket della posizione.

 
Alexey Viktorov:

Sbagliato. Ho riscontrato che quando si attiva un ordine in sospeso il biglietto e l'ID non corrispondono, anche nell'hadge account tester.

Codice per il tester, per favore.

Pertanto, dovremmo sempre usare l'identificatore, non il ticket della posizione, per ottenere la lista di ordini e compravendite appartenenti alla posizione.

Non è mai stato questo il punto. Il punto è un altro:

  • Se TICKET != IDENTIFIER, allora al 100% c'è stata una compravendita INOUT (BY-case non è interessante, quindi non lo scrivo).
  • Altrimenti non c'era nessuna transazione INOUT.
SZY Di conseguenza, nei conti Hedge si usa sempre POSITION_TICKET == POSITION_IDENTIFIER, a meno che non si usi CloseBy.
 

Nel mercato dei futures, come determinare l'orario di chiusura del mercato del giorno precedente in diverse varianti di trovare l'intervallo di tempo corrente:

1. siamo nell'intervallo sabato - domenica; abbiamo bisogno del tempo di chiusura della sessione commerciale di venerdì sera
2. siamo nel mercato chiuso dal lunedì al venerdì; abbiamo bisogno dell'orario di chiusura della sessione di trading serale dal lunedì al giovedì
3. nel trading range lunedì - venerdì; abbiamo bisogno di un tempo di chiusura per la sessione di trading del venerdì sera
4. nel lasso di tempo da martedì a venerdì, abbiamo bisogno dell'orario di chiusura della sessione serale da lunedì a giovedì

Forse qualcuno ha scritto una funzionalità simile, non voglio reinventare la ruota ))

 
fxsaber:

Codice del tester, per favore.


Prendete qualsiasi codice con l'apertura di ordini in sospeso e correte a perdifiato, un giorno sarete fortunati.

Parola chiave nel mio post

non c'è dipendenza e non può esserci. Di conseguenza, non ci può essere nemmeno un codice speciale.
fxsaber:

  • Se TICKET != IDENTIFIER, allora al 100% c'è stata una transazione INOUT (BY-case non è interessante, quindi non scrivo).

Più precisamente, è il contrario:

Se c'è stato un INOUT-deal, allora 100% TICKET != IDENTIFIER.

Questo è indiscutibile. Anche se sui conti hadge un trade INOUT nasce dalla contro-chiusura.

fxsaber:


  • Altrimenti non c'era nessun accordo INOUT.

Questo è discutibile. È persino molto discutibile.

A questo punto vi saluto. Non ho il diritto di impedirle di perdersi...

 
Konstantin:

Nel mercato dei futures, come determinare l'orario di chiusura del mercato del giorno precedente in diverse varianti di trovare l'intervallo di tempo corrente:

1. siamo nell'intervallo sabato - domenica; abbiamo bisogno del tempo di chiusura della sessione commerciale di venerdì sera
2. siamo nel mercato chiuso dal lunedì al venerdì; abbiamo bisogno dell'orario di chiusura della sessione di trading serale dal lunedì al giovedì
3. nel trading range lunedì - venerdì; abbiamo bisogno di un tempo di chiusura per la sessione di trading del venerdì sera
4. nella fascia oraria martedì-venerdì abbiamo bisogno dell'orario di chiusura delle sessioni serali di lunedì-giovedì

Forse qualcuno ha scritto una funzionalità simile, non voglio reinventare la ruota ))

Forse questo funzionerà? Anche se non è sempre corretto nel forex.

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