Multicurrency - consulente multitemporale - pagina 7

 
Fast528:

Non capisco cosa vi impedisce di ottenere i dati dell'indicatore sulla barra zero, cosa ha a che fare con una nuova barra?

Perché il segnale deve aspettare costantemente, durante qualsiasi tick, e non una nuova barra + in più su tutti i periodi e diverse coppie di valute

 
Tango_X:

Perché devi aspettare il segnale tutto il tempo, durante ogni tick e non durante una nuova barra, e su tutti i time frame e diverse coppie di valute.

Si ottiene il segnale su un timer in 1 secondo. Si salva tutto nell'array [symbol][period]. Poi monitorare costantemente il nuovo segnale nel timer, e se c'è un segnale, allora confrontare il suo valore con il valore precedentemente salvato - se il valore non corrisponde, il segnale è nuovo, e si può commerciare, se il valore corrisponde, è un vecchio segnale - saltarlo

 
Tango_X:

Perché il segnale deve aspettare costantemente, durante qualsiasi tick, non una nuova barra + a che anche su tutti i periodi e diverse coppie di valute

Pertanto:

  1. Trasferisci il codice dell'indicatore all'Expert Advisor.
  2. Avviare il meccanismo di ricerca del segnale dal timer (almeno ogni 16 ms).
Finché si dipende dall'indicatore, ci sarà la probabilità di perdere il segnale. Se il codice è nell'EA, non te lo perderai.

 
Реter Konow:

Pertanto:

  1. Trasferire il codice dell'indicatore all'EA.
  2. Eseguire il meccanismo di ricerca del segnale dal timer (almeno ogni 16ms).
Finché si è dipendenti dall'indicatore, ci sarà la possibilità di perdere il segnale. Se il codice si trova nell'Expert Advisor, non lo perderete.

Come chiamare allora l'indicatore dall'EA nel timer con diversi periodi e coppie - puoi fare un semplice esempio?

 
Tango_X:

Come si fa poi a chiamare l'indicatore dall'EA nel timer con diversi periodi e coppie - puoi fare un esempio semplice?

Spostare completamente il codice e sbarazzarsi dell'indicatore. Se possibile.

Se hai bisogno dell'indicatore per il supporto visivo del trading, eseguilo separatamente.

Avete bisogno solo della parte di calcolo dell'indicatore.


Un'ultima cosa:

Se richiedete l'indicatore per un momento dopo che il segnale è passato - allora lo avete mancato e non lo riconoscerete nemmeno.

Se il codice dell'indicatore è nell'EA, potrai confrontare i valori prima e dopo e determinare che il segnale era momentaneo. Cioè, sarete in grado di reagire al segnale che è stato mancato, perché saprete del fatto che manca confrontando i valori scritti nell'array.

Questo può essere molto più difficile e meno efficiente quando si comunica attraverso un indicatore.

 
Grazie a tutti per i consigli! Proverò ognuno di loro e penso che troverò qualcosa per me
 
L'Expert Advisor può perdere i segnali di tick, questo è fatto appositamente dagli sviluppatori. Questo è il motivo per cui si dovrebbe poi lavorare su tick già nella storia, ci saranno ritardi, ma il segnale non sarà perso. Ma penso che l'OHLC di una barra di un minuto sia sufficiente per recuperare quasi ogni segnale mancato.
 
Aleksey Vyazmikin:
L'Expert Advisor può saltare i segnali di tick, è stato specificamente progettato dagli sviluppatori. Pertanto, si dovrebbe lavorare con tick già esistenti nella storia. Ci saranno ritardi, ma il segnale non sarà perso. Ma penso che l'OHLC di una barra di un minuto sia sufficiente per recuperare quasi ogni segnale mancato.

Come si fa a saltare le zecche? Quali sviluppatori lo fanno di proposito? Di cosa stai parlando?

 
ElenaVVT:

Come si fa a saltare le zecche? Quali sviluppatori lo fanno di proposito? Cosa vuoi dire?

Renat ha scritto in precedenza che l'Expert Advisor esegue i calcoli all'apparizione di un nuovo tick e aspetta finché non appare un nuovo tick. Se ci fossero più tick durante l'elaborazione dei dati, non vengono messi in coda, ma vengono semplicemente saltati, altrimenti il terminale si bloccherebbe.

Eventi del terminale client

NewTick

L'evento NewTick viene generato quando arrivano nuove quotazioni ed è gestito dalla funzione OnTick() negli Expert Advisors collegati. Se la funzione OnTick in esecuzione sulla quotazione precedente viene eseguita quando ne arriva una nuova, la quotazione in arrivo sarà ignorata dall'Expert Advisor, perché l'evento corrispondente non è inserito nella coda degli eventi EA.

Tutte le nuove quotazioni che arrivano durante l'esecuzione del programma sono ignorate dal programma fino alla prossima esecuzione della funzione OnTick(). Dopo di che, la funzione viene avviata solo quando arriva una nuova citazione.

L'evento NewTick viene generato indipendentemente dal fatto che il trading automatico sia abilitato o disabilitato (il pulsante "Enable/Disable Auto-Trading"). La proibizione del trading automatico proibisce solo l'invio di richieste di trading dall'Expert Advisor, il funzionamento dell'Expert Advisor non viene fermato.

La proibizione del trading automatico premendo il pulsante specificato non interrompe l'esecuzione corrente della funzione OnTick().

 
Aleksey Vyazmikin:

Renat ha scritto in precedenza che quando appare un nuovo tick, l'Expert Advisor esegue i calcoli e aspetta un nuovo tick. Se ci sono stati altri tick durante il periodo di elaborazione dei dati, non vengono messi in coda, ma vengono semplicemente saltati, altrimenti il terminale si bloccherebbe.

Eventi del terminale del cliente

NewTick

L'evento NewTick viene generato quando arrivano nuove quotazioni ed è gestito dalla funzione OnTick() negli Expert Advisors collegati. Se la funzione OnTick in esecuzione sulla quotazione precedente viene eseguita quando ne arriva una nuova, la quotazione in arrivo sarà ignorata dall'Expert Advisor, perché l'evento corrispondente non è inserito nella coda degli eventi EA.

Tutte le nuove quotazioni che arrivano durante l'esecuzione del programma sono ignorate dal programma fino alla prossima esecuzione della funzione OnTick(). Dopo di che, la funzione viene avviata solo quando arriva una nuova citazione.

L'evento NewTick viene generato indipendentemente dal fatto che l'auto-trading sia abilitato o disabilitato (il pulsante "Enable/Disable Auto-Trading"). La proibizione del trading automatico proibisce solo l'invio di richieste di trading dall'Expert Advisor, il funzionamento dell'Expert Advisor non viene fermato.

La proibizione del trading automatico premendo il pulsante specificato non interrompe l'esecuzione della funzione OnTick().

Questo è sempre stato il caso, se OnTick non è tornato, i tick in arrivo vengono saltati. L'EA li traccia solo in modalità tick waiting. Ma sembra che tu stia parlando di zecche mancanti deliberatamente? Per me è un bug.

Motivazione: