Quando ha senso mantenere parte del codice del robot in un indicatore? - pagina 20

 
hrenfx:

Grande critica! Solo che non per il mio mestiere, ma per la piattaforma nel suo insieme. Questo fatto è stato ripetutamente menzionato agli sviluppatori. Quindi la situazione:

  1. Non hai avuto il tuo terminale acceso per una settimana e decidi di eseguirlo, con il tuo EA di default in esecuzione (questo solleva alcune domande sull'adeguatezza, ma così sia).
  2. Il terminale è collegato, ma l'intera storia è ancora in corso. L'indicatore invia i suoi valori all'Expert Advisor e l'Expert Advisor inizia il trading sulla base di questi valori.
  3. Il terminale ha scaricato tutta la storia e l'indicatore ha cominciato a mostrare valori completamente diversi. L'Expert Advisor ottiene ora valori completamente diversi.

Questo è un problema ben noto che è stato chiesto agli sviluppatori di risolvere un centinaio di volte e hanno aggiunto la bandiera che l'intera storia è pompata. Ma non è stato risolto.

Ora qualsiasi Expert Advisor con indicatori in tali momenti è pronto a fare un sacco di problemi nel trading. Pertanto, non dovremmo ridurre il problema degli sviluppatori al codice di cui sopra. La variante con un indicatore non fornisce una soluzione accettabile.

Avviciniamoci alla vita: si esegue l'Expert Advisor quando ci si è già assicurati che tutta la storia sia pompata. Se poi la connessione viene interrotta per un breve periodo di tempo (meno di un giorno), allora il mio codice funzionerà in modo assolutamente corretto.


Non cercare i problemi nel mondo che ti circonda, cercali in te stesso. Finora, il terminale funziona nel modo in cui Victor l'ha scritto, e in queste condizioni il vostro codice funzionerà in modo errato e non saranno gli sviluppatori del terminale, ma l'autore di questo codice, che lavorerà in modo errato nelle condizioni descritte sopra, ad essere colpevoli.

 
hrenfx:
Quindi sta dicendo che non c'è ancora questo codice? Sono sorpreso che il mio elementare riempia questo vuoto.

Non l'ho visto finora. Anche se ho visto alcuni articoli, non ho visto nessun buon codice. Anche se ci vogliono cinque minuti per scriverlo, ma .....
 
Integer:

Victor, avrai una risposta ora dicendo che siamo a posto, non lavoriamo più in basso di H4 o qualcosa nello stesso stile, o in altro modo, ma con lo stesso significato... o usare un VPS super-duper potente, e l'account che abbiamo nel miglior DC del mondo, che non fallisce mai la connessione.... ecc. ecc.

Capito! Ce l'ho ancora. Il suo codice è giusto e il terminale è sbagliato.
 
Vinin:

Non l'ho visto fino ad ora. Anche se ci sono stati alcuni articoli, non ho visto nessun buon codice. Anche se ci vogliono cinque minuti per scriverlo, ma ......

Beh, non cinque minuti, circa 15 minuti. Ma per cosa? Se si potesse scrivere una buona guida di programmazione per gli indicatori, sarebbe un'altra cosa.
 
hrenfx:

Forse l'uomo con le palle dirà qualcosa.

Nessun problema. In realtà, per fare il tuo analogo di IndicatorCounted, hai bisogno di un array con la storia da scansionare nel caso in cui ti manchi, cioè in questo caso particolare hai essenzialmente bisogno di un ricalcolo completo ogni barra.

Forse un altro concorso?

 

Allora ragazzi, non avete ancora citato una situazione in cui il mio EA su REAL produrrebbe valori errati.

REALE significa che si fa la cosa giusta: si esegue l'EA su una storia completamente pompata. Dopo di che non si spegne il terminale. Le interruzioni della comunicazione, come in qualsiasi REAL, sono perfettamente accettabili.

Allora qual è il problema sul REALE? Non sto nemmeno parlando del tester.

 
hrenfx:

Allora ragazzi, non avete ancora citato una situazione in cui il mio EA su REAL produrrebbe valori errati.

REALE significa che si fa la cosa giusta: si esegue l'EA su una storia completamente pompata. Dopo di che non si spegne il terminale. Le interruzioni della comunicazione, come in qualsiasi REAL, sono perfettamente accettabili.

Allora qual è il problema sul REALE? Non sto nemmeno parlando del tester.


Quante volte devo spiegarvi la stessa cosa per farvela capire, o almeno per farvela notare?
 
TheXpert:

Nessun problema. In realtà, per fare il tuo analogo di IndicatorCounted, hai bisogno di un array con la storia da scansionare nel caso in cui ti manchi, cioè in questo caso particolare hai essenzialmente bisogno di un ricalcolo completo di ogni barra.

Forse un altro concorso?


Guardare l'ora delle barre non è un'opzione, non sappiamo se la barra è stata persa dal terminale per mancanza di comunicazione o se non è effettivamente avvenuta.
 
Integer:
Guardare il tempo delle barre non è un'opzione, non si sa se il terminale ha saltato una barra a causa di una mancanza di comunicazione o se non è effettivamente successo.
Quindi, se poi appare la barra, il confronto rivelerà una discrepanza nella storia, che è quando è necessario salvarla.
 
TheXpert:
Quindi, se poi appare la barra, il confronto rivelerà una discrepanza nella storia, è allora che bisogna salvare.

Capito. Se appaiono nuove barre tra quelle esistenti.
Motivazione: