Versione beta del libro online sulla programmazione MQL4 - di Sergey Kovalev (SK.) - pagina 9

Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Ho trovato questo grande articolo sulla contabilità degli ordini complessi da SK 'Order Bookings in a Large Program'.
Onestamente, mi sto chiedendo se tutta questa storia sia una truffa.
Ma a differenza del personaggio descritto nell'articolo sul graal, io non penso come lui: "Solo io!". Penso che ci sia qualcosa di sbagliato qui, o è solo fortuna in questo momento. Anche se, guardando i risultati del campionato, si può vedere un risultato molto migliore in tre mesi, il che significa fondamentalmente che nulla è impossibile. Eppure, non si può fare a meno di chiedersi chi darà uno sviluppo così "rapido" nel mondo reale?
Eppure ci si chiede chi permetterà uno sviluppo così "rapido" nel mondo reale?
È una domanda semplice. E la risposta è ovvia: chi lavora onestamente (i broker non sono discussi qui).
La domanda più difficile è se l'Expert Advisor sta producendo risultati stabili ed elevati? O è solo una storia adatta o un colpo di fortuna?
La domanda più difficile è se il consulente sta davvero dando coerenza,
risultati elevati? O è solo un adattamento alla storia o un colpo di fortuna?
Ho solo avuto risultati molto più modesti prima. E in generale, studiando il tuo libro (per quasi un mese) e tutta la lingua in generale, ho imparato molto sul trading che non sapevo e non sospettavo durante 2 anni di studio del Forex. Anche ora sto pensando come potrei guadagnare qualcosa senza sapere tanto)) Penso che anche adesso potrei guadagnare così tanto senza sapere nulla. È solo che quando ho provato per la prima volta a fare trading sulla demo, ho avuto la sensazione che non avrei potuto guadagnare più di 300 dollari al mese. Il che non è neanche male, soprattutto tenendo conto della mia allergia ai capi di ogni tipo:) scrivevo il mio primo Expert Advisor nel mio blog, e non ne ho mai sentito parlare.
Ho scritto il mio primo consigliere in una settimana dalla prima lettura del libro. Ma non l'ho scritto io, l'ho copiato, sostituendo solo il blocco con i criteri di trading, e il resto è stato preso dall'esempio di EA che usa MA. Ma quando l'ho scritto, volevo solo sapere cosa sarebbe successo se avessi fatto così. Intendo utilizzare le capacità del tester senza doverlo controllare manualmente per molto tempo. Non ho avuto idee come nell'articolo sul graal. Sono più con i piedi per terra in questo senso:) Sono soddisfatto del risultato, dato che ho perso completamente il mio deposito (una variante in meno). L'idea era semplice come l'inferno, quindi era un peccato non controllarla. Ma l'ultima strategia è più difficile (per me) da descrivere usando gli strumenti MQL4, quindi devo lavorare con le mie mani. Ma i suoi risultati in modalità manuale richiedono un ulteriore sviluppo dell'Expert Advisor. Così sto cercando, lentamente ma lentamente, di scriverlo.
Ho solo avuto risultati molto più modesti prima. E in generale, studiando il tuo libro (quasi un mese) e tutta la lingua in generale, ho imparato molto sul trading che non sapevo e non sospettavo durante i miei 2 anni di conoscenza del forex. Anche ora sto pensando a come potrei guadagnare qualcosa, senza sapere molto...).
Ma l'ultima strategia è più complicata (per me) in termini di descrizione per mezzo di MQL4, quindi devo lavorare manualmente. Ma i suoi risultati in modalità manuale hanno solo bisogno di un ulteriore sviluppo dell'Expert Advisor. Quindi ci sto provando, lentamente, ma scrivendo.
a SK
Variabili, .
Avete scritto quanto segue:
" Tutti gli array sono statici intrinsecamente, cioè hanno una forma statica, anche se questo non è esplicitamente specificato durante l'inizializzazione "
Tuttavia
Supponiamo che un indicatore, la subroutine chiamante abbia una matrice:
1)
double summ[]; //viene chiamata la funzione standard .................................... ..........
i=ArrayMinimum(summ,iter,0); // Errore sulla seconda chiamata: <incorrete la posizione iniziale 0 per la funzione ArrayMinimum>.
2) variante dell'errore
statico doppio summ[];
//..............................................
i=ArrayMinimum(summ,iter,0); // Stesso errore nella seconda chiamata: <incorrete la posizione iniziale 0 per la funzione ArrayMinimum>.
3) variante senza errori
doppio summ[1000];
..............................................
i=ArrayMinimum(summ,iter,0); // Esecuzione normale
4) variante senza errori
doppio statico summ[1000];
..............................................
i=ArrayMinimum(summ,iter,0); // Esecuzione normale
Dagli esempi 1 e 2 risulta che gli array sono allocati dinamicamente.
L'esempio 2 suggerisce che un array senza dimensione non è inizializzato come un array statico (il che è ovvio), ma questo non appare negli errori del compilatore ((
L'esempio 3 4 implica che solo gli array predefiniti hanno un'allocazione statica.
È interessante notare che il sistema di esecuzione cattura l'errore e determina dall'esempio 1 e 2, il che suggerisce un sistema terminale in tempo reale ben pensato. Cioè l'array si comporta come un oggetto. Complimenti agli sviluppatori.
Tuttavia, non tutto sta andando così bene con le variabili semplici
double instik(int &t) // questa funzione cambia la variabile nel programma chiamante
{
t++;
}
Questa chiamata conta su ogni tick se
//...........................................
int statico tik;
instik(tik);
Stampa (" tick=",tik);
//...............................
E questo non conta perché l'allocazione della memoria è dinamica, e l'indirizzo collegato nella seconda chiamata non corrisponde.
................
int tik;
instik(tik);
Stampa (" tick=",tik);
// la subroutine instik dà un incremento al byte sconosciuto, ma il terminale non va in crash!!!! Di nuovo, complimenti agli sviluppatori.
Ma per essere giusti
bisogna anche dire che entrando nei dettagli della programmazione
un trader comincia a guardare l'intero fenomeno del mercato-trading-strategia
con una visione più chiara. E man mano che guadagnano esperienza, passano al setaccio
E man mano che si accumula esperienza, si eliminano le linee di pensiero sbagliate e si identificano le linee di pensiero promettenti.
a SK
Variabili, variabili statiche.
...Penso che stiate trascurando il fatto che le funzioni speciali vengono rieseguite ad ogni tick. Le variabili statiche mantengono i loro valori e non sono inizializzate, mentre le variabili non statiche sono inizializzate secondo il codice. Nel tuo codice, la variabile intera tik è inizializzata a zero per default.
In instik() tutto avviene come previsto. In start(), al momento di Alert(), il valore della variabile tik è 1, che è ciò che Alert() produce.
Ma questa non è tutta la verità. Poiché la variabile tik non è dichiarata come statica, il suo valore non viene salvato. In altre parole, la prossima volta che la funzione speciale start() viene chiamata per l'esecuzione, la variabile tik sarà nuovamente inizializzata con zero. E tutto comincia di nuovo. Pertanto, Alert in modo sicuro le uscite una dopo l'altra.
Il rilascio del tutorial del linguaggio MQL4 è previsto per il 1 febbraio ed è già integrato nel sito web MQL4.community. La traduzione in inglese è ben avviata.
Come implementare nell'Expert Advisor la possibilità di chiudere un ordine - per contro-ordine? Non l'ho trovato nel tutorial...