Meno codice, più azione... scrivere un EA - pagina 3

 

Ecco qui:

Maxim Kuznetsov:

Cercherò (o cercherò, se interessato) di fare un quadro per gli EA. Il più adatto possibile solo per cose semplici e che non richiedono una conoscenza sostanziale da parte del programmatore applicato.

In contrasto con la pratica accettata a livello locale,la progettazione sarà condotta dall'alto verso il basso. Dal caso d'uso desiderato dall'utente, non dai fondamenti ingegneristici del terminale.

Cioè, dichiarate il design non dalla base ingegneristica del terminale e con la prima lista siete profondamente legati alla base ingegneristica dei terminali. Siete così legati che usate persino le macro di compilazione condizionale, perché non potete farne a meno, anche al massimo livello utente.
 
Maxim Kuznetsov:

In linea di principio, potete usare una voce come questa dentro GetData OnCrossSignal. Potenzialmente, potresti anche scrivere degli script :-) Ma tutto a suo tempo... La gestione dei dati è costruita come un tavolo elettronico.

Così va meglio, cominci a capire quello che voglio dirti. Se dichiarate un approccio top-to-bottom, iniziate dall'alto. Ecco perché "tutto a suo tempo" non funziona più. Questa è la prima priorità.

 
 

EasyLanguage è stato inventato? Come molti consulenti MT4 che ho visto, tutti sono scritti attraverso MT4-API, senza wrapper complessi. Apparentemente è più semplice e più affidabile, dato che il codice viene fuori molto conciso.

Se per esempio usiamo tale MT5-wrapper per il trading, o tale per MAX, allora sarebbe facile solo per l'autore di questi wrapper.

 
fxsaber:

EasyLanguage è stato inventato? Come molti consulenti MT4 che ho visto, tutti sono scritti attraverso MT4-API, senza wrapper complessi. Apparentemente è più semplice e più affidabile, dato che il codice viene fuori molto conciso.

Se per esempio usiamo tale MT5-wrapper per il trading, o tale per MAX, allora sarebbe facile solo per l'autore di questi wrapper.

Sono d'accordo, e lo sviluppo e il supporto in futuro è importante per usare e imparare qualcosa. Esempio stupido, ma ancora, mql6 o un nuovo tipo di ordini uscirà, il punto era quello di affrontare questi wrapper se si deve ancora leggere mana su questo sito.
 
Aleksei Beliakov:
Sono d'accordo, e lo sviluppo e il supporto in futuro è importante per usare e imparare qualcosa. Esempio stupido, ma ancora, mql6 uscirà o nuovo tipo di ordini, il senso era quello di affrontare questi wrapper se si deve ancora leggere mana su questo sito.
Si legge il mana, si beve la pita, si mangia il cibo...
È molto facile aggiungere nuovi oggetti a una struttura ben organizzata mentre si fumano polli e si ascoltano voci :)
 
Artyom Trishkin:.
È molto facile aggiungere nuovi oggetti a una struttura ben organizzata
Ho forse detto il contrario?
 
Vasiliy Sokolov:

Bene, lo scrivi correttamente. Ma l'utente capisce molto meglio questo pseudocodice:

Un'altra cosa è che è molto più difficile farlo funzionare in questa forma particolare (procedurale, noto), ma è comunque possibile. Questo è ciò che si dovrebbe cercare di ottenere - rendere le istruzioni a livello utente il più semplice e astratto possibile. Nel vostro caso, l'utente ha bisogno di specificare macro di compilazione condizionali, funzioni specifiche per il calcolo delle medie e altri dettagli tecnici che semplicemente non può gestire.

if(SMA(Close, 12) > SMA(Close, 24))
   BUY();
else
   SELL();

E qual è il problema nell'implementazione? Si scrive una classe universale come progettata da TC, poi la si include con un inluder e sotto di esso, un altro inluder con define dove si avvolgono le chiamate di metodo:

#define  BUY()   EA.SendOrder(cmdbuy)
#define  SELL()  EA.SendOrder(cmdsell)

l'implementazione è nascosta all'utente, ma la facilità d'uso sarà necessaria

così

 
Nessun commercio per favore e nessun link commerciale di terzi.
 
Vladimir Karputov:
Niente commercio per favore.
Perché hai tolto il post sul prossimo passo?