Transizione delle posizioni dopo le 0:00 quando la banca è in funzione. Come identificare? C'è bisogno dell'aiuto della sala. - pagina 7

 
Oldman_Evgeny:

Beh, nessuno mi ha punzecchiato da nessuna parte.

Ho dovuto inventarlo io stesso.

Quindi.

Alle 23:50, se il mio Expert Advisor lavora per apertura o chiusura, passo ad elaborare ogni tick.

Se l'esperto lavora per zecche, non ho bisogno di andare da nessuna parte).

Al primo tick dopo le 23:50, chiudo forzatamente la posizione.

(Ho provato a chiudere non alle 23:50, ma più tardi, ma mi sono imbattuto in una situazione in cui ho impostato la chiusura per le 23:56, e dalle 23:56 alle 00:00 non è arrivato un solo tick.

Il rollover si è attivato e da lì è andato tutto storto! (Per sicurezza, ho preso 23:50 con riserva - di sicuro in 10 minuti almeno una spunta sarebbe arrivata!)

Ricordo tutti i parametri di una posizione - era una posizione di acquisto o di vendita, stoploss, takeprofit, ecc.....

Fino alle 00:00:00 proibisco l'apertura di posizioni.

Dopo le 00:00, al primo tick di passaggio apro forzatamente una posizione nella stessa direzione di prima, con tutti gli attributi di una posizione chiusa alle 23:00.

Così bypasso il rollover.

Di regola sto perdendo più che sul rollover, ma almeno ho una continuazione di posizione normale.

Non riuscivo a pensare a un altro ....

L'unico problema del venerdì è che il mercato apre alle 01:00 del lunedì.

Ma ho deciso di non aprire la posizione lunedì sera, perché spesso accadono diversi "cataclismi" - gap, inversioni e altre cose.

Chiudo semplicemente la mia posizione il venerdì e questo è tutto. Faccio lo stesso durante le vacanze.


PS. Penso che la mancanza di trasferimento dei dati di posizione con il rollover sia un imbroglio. Me ne occuperò attraverso l'AFD. Semmai possiamo lamentarci con la Banca Centrale.

Lì non hanno molta pietà per i commercianti di forex.

L'ID della posizione (non il biglietto) non viene salvato durante i rollover?
 
Solo la direzione e la dimensione del lotto sono salvate. Non c'è altro.
 
Oldman_Evgeny:
Solo la direzione e la dimensione del lotto vengono salvate. Nient'altro.
PositionGetInteger(POSITION_IDENTIFIER)

cosa restituisce?

 

PositionGetInteger(POSITION_IDENTIFIER), come dovrebbe, restituisce il numero del biglietto.

Il nuovo numero del biglietto, che è il risultato del rollover, non la posizione che era prima del rollover....

Ma dopo il rollover, nella nuova posizione, risulta che m_position.Magic()=0. Di conseguenza, niente funziona nel Consulente esperto ....

Probabilmente, si può in qualche modo stipare Magic via modifica nella nuova posizione e lì stipare tutto il resto dalla vecchia posizione.

Ma ho fatto come ho scritto sopra. Ma ci penserò ancora un po'.

Mi fa incazzare che la PSB imbrogli così tanto con la sua piattaforma.

E, a quanto ho capito, non sono gli unici...

Sorpreso dal silenzio dei commercianti! Tutti fanno solo trading intraday o pips?

Beh, non andare a fare trading in qualche cucina come alparey quando ci sono broker russi autorizzati ....
 

Ho provato a inserire un costrutto in OnTick

if(m_position.Magic() == 0) m_trade.SetExpertMagicNumber( EA_Magic );

Il costrutto non funziona.

Sembra che non ci sia modo di cambiare Magic su una posizione aperta....

Quindi, quello che ho fatto e descritto sopra sembra essere l'unica opzione.

 
Oldman_Evgeny:

Ho provato a inserire un costrutto in OnTick

if(m_position.Magic() == 0) m_trade.SetExpertMagicNumber( EA_Magic );

Il costrutto non funziona.

Sembra che non ci sia modo di cambiare Magic su una posizione aperta ....

Quindi, quello che ho fatto e descritto sopra sembra essere l'unica opzione.

Perché vi agitate tanto con il mago? Avvolgi ogni posizione in una classe e al tick non cercarla, tracciala e basta. Se ha chiuso all'improvviso, analizzate il motivo della chiusura. Se il motivo è il rollover, allora cercane uno nuovo e cambia i campi della classe con quelli attuali. Per organizzare il riavvio dopo i fallimenti scriviamo tutte le informazioni necessarie in un file separato (beh, non mi piacciono le variabili globali del terminale).
 
Vladimir Simakov:
Per organizzare un riavvio dopo i fallimenti, scriviamo tutte le informazioni necessarie in un file separato (beh, non mi piacciono le variabili globali del terminale).

E se l'Expert Advisor viene eseguito su diverse macchine, dobbiamo portare il file con noi?

 
Ihor Herasko:

E se l'Expert Advisor viene eseguito su diverse macchine, è necessario portare il file con sé?

Ftp, cloud sono opzioni.
Se solo i dati devono essere scambiati tra i robot, allora pipe e ws.
 
Vladimir Simakov:
Ftp, cloud - come opzione.
Se solo i dati devono essere scambiati tra i robot, allora pipe e ws.

Perché prendersi tutto questo disturbo quando si ha la magia? Nella maggior parte dei casi è abbastanza buono. Almeno io sono riuscito ad usarlo:

  1. Ora in cui si verifica il segnale, in cui l'ordine/posizione viene aperto
  2. L'indice della griglia (se una strategia è una griglia) a cui appartiene l'ordine
  3. L'indice dell'ordine nella griglia
  4. L'ID dell'Expert Advisor stesso
Tutto questo ha certe limitazioni, naturalmente. Tuttavia, le limitazioni sono abbastanza ragionevoli. Andare oltre è un evento raro.

 
Ihor Herasko:

Perché prendersi tutto questo disturbo quando si ha la magia? Nella maggior parte dei casi, è abbastanza buono per l'occhio. Almeno sono stato in grado di usarlo:

  1. Ora in cui si verifica il segnale, in cui l'ordine/posizione viene aperto
  2. L'indice della griglia (se una strategia è una griglia) a cui appartiene l'ordine
  3. L'indice dell'ordine nella griglia
  4. L'ID dell'Expert Advisor stesso
Tutto questo ha certe limitazioni, naturalmente. Tuttavia, le limitazioni sono abbastanza ragionevoli. Superarli è un evento raro.

Così lei stesso ha risposto - con delle limitazioni, che è esattamente ciò di cui questo thread sta discutendo. Pro dell'involucro:

  1. Il tempo di comparsa del segnale è lo stesso.
  2. L'indice della griglia è lo stesso.
  3. Indice di un ordine nella griglia - quindi, di nuovo, è un indice esplicito.
  4. Identificatore di Expert Advisor - beh, l'avete capito.

Durante il controllo si controlla lo stato delle posizioni di mercato e si correggono i campi della classe. Allo stesso tempo, non si passa attraverso le posizioni; il gestore della funzione di trading è un metodo della classe. Nessuno vieta di usare il magik per recuperare dai fallimenti - semplicemente, possiamo facilmente impacchettare l'intera storia in un binario, basta sviluppare un formato.

Per quanto riguarda il lavoro dei robot con ordini condivisi su diversi posti di lavoro - qual è il punto? Non riesco a pensare ad altro se non ai problemi di sincronizzazione. Pensate: un robot dà un comando per chiudere una posizione su un posto di lavoro, mentre sull'altro prende una decisione di trading basata sul fatto che questa specifica posizione è aperta, come possiamo sincronizzarlo?