Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 413

 

Si può prescrivere un tale codice?

(La distanza tra le linee dovrebbe essere di 10 pip)

int OnInit()
{

ObjectCreate("Средняя линия",OBJ_HLINE,0,0,Bid); 

ObjectCreate("Верхняя линия",OBJ_HLINE,0,0,Bid+0.0010); 

ObjectCreate("Нижняя линия",OBJ_HLINE,0,0,Bid-0.0010); 


return(INIT_SUCCEEDED);
}


O può accadere che l'EA disegni la linea mediana, e poi l'offerta cambia, e la seconda linea non si discosta dalla linea mediana di 10 pip?

È possibile che il Bid cambi durante l'esecuzione dell'EA? O il valore di Bid cambierà solo se RefreshRates è in esecuzione?


Forse sarebbe più corretto?

int OnInit()
{

sredn=Bid;
verhn=sredn+0.0010;
nizhn=sredn-0.0010;


ObjectCreate("Средняя линия",OBJ_HLINE,0,0,sredn); 

ObjectCreate("Верхняя линия",OBJ_HLINE,0,0,verhn); 

ObjectCreate("Нижняя линия",OBJ_HLINE,0,0,nizhn); 



return(INIT_SUCCEEDED);
}
 
igrok333:

È possibile scrivere questo codice?

(la distanza tra le linee dovrebbe essere di 10 pip)


O può succedere che l'EA disegna la linea mediana, e poi il Bid cambia, e la seconda linea non è più a 10 pip dalla linea mediana?


È giusto?

L'offerta non cambierà se non c'è una chiamata RefreshRates nel mezzo,

Ma non è del tutto corretto usare Bid in OnInit(). Innanzitutto, la connessione può essere interrotta o il mercato può essere chiuso, questo è uno; il supporto Bid in OnInit è una caratteristica, che può essere modificata, questo è due :-) E infine - lo scopo di OnInit() è l'inizializzazione, cioè controllare che tutto sia pronto per un ulteriore lavoro e rispondere SI / NO. Affidarsi a funzioni di trading o creare oggetti grafici non va bene. È accettabile, ma non corretto.

 
Maxim Kuznetsov:

L'offerta non cambierà se non c'è una chiamata RefreshRates nel mezzo,

Ma l'uso di Bid in OnInit() non è del tutto corretto. Innanzitutto, la connessione può non esistere o il mercato può essere chiuso, questo è uno; il supporto stesso di Bid in OnInit è una caratteristica, che può essere cambiata, questo è due :-) E infine - lo scopo di OnInit() è l'inizializzazione, cioè controllare che tutto sia pronto per un ulteriore lavoro e rispondere SI / NO. Affidarsi a funzioni di trading o creare oggetti grafici non va bene. È accettabile, ma non corretto.

Sì, infatti.

Ho poi un trade aperto sulla linea mediana.

Se volete aprire una posizione sulla linea di mezzo, è meglio spostare il disegno delle linee alla funzione Onitik (ci vorrà un tick per aprire la linea di mezzo).

è meglio spostare la costruzione della linea all'inizio della funzione onitics

 

È possibile far funzionare lo script nel tester?
Lo lancio nella finestra e non succede niente. Su un grafico normale lo script funziona

 
RomanRott:

È possibile far funzionare lo script nel tester?

No e non ce n'è bisogno. Tutto può essere testato su qualsiasi grafico o in modalità debug.
 
RomanRott:

Intendo scrivere del codice nel mio indicatore/advisor che collegherà altri indicatori contemporaneamente
Cosa e come si aggiunge?


Se si vuole che un altro indicatore si attacchi da solo, non si può fare!

È possibile disegnarne un altro accanto al vostro indicatore. A questo scopo, potete usare la funzione iCustom e utilizzarla per disegnare i dati di cui avete bisogno.

 

Ho creato tre EA in MT4 con diverse "magie" e strategie, li ho combinati in un unico EA, ogni strategia funziona separatamente, ma quando ne accendo tre contemporaneamente, la terza strategia non modifica le sue "magie" PERCHE'?? tutto nel tester.

E inoltre, dovrebbe mettere un selimite, ma mette un numero uguale di selimiti. (se 2 sels, allora 2 puntate di selimiti, se 5 sels, allora 5 puntate di selimiti).

 
ZZuretc:

Potete consigliarmi, in MT4 ho creato tre EAs con diverse "magie" e strategie, li ho combinati in un unico EA, separatamente ogni strategia funziona, ma quando si attivano tre in una volta, la terza strategia non modifica le sue "magie" PERCHE'?? tutto nel tester.

E inoltre, dovrebbe mettere un selimit, e mette uguale al numero di vendite. (Se 2 sels, allora 2 selimiti mette, se 5 sels, allora mette 5 selimiti).


Che dire, non identifica correttamente gli ordini, le posizioni per ciascuna delle strategie.

Devo guardare il codice.

 
ZZuretc:

Ho creato tre EA in MT4 con diverse "magie" e strategie, li ho combinati in un unico EA, ogni strategia funziona separatamente, ma quando ne accendo tre contemporaneamente, la terza strategia non modifica le sue "magie" PERCHE'?? tutto nel tester.

E inoltre, dovrebbe mettere un selimite, ma mette un numero uguale di selimiti. (se 2 sels, allora 2 puntate di selimiti, se 5 sels, allora 5 puntate di selimiti).

Quando si combinano 3 ---> 1 bisogna seguire una certa regola. Ogni strategia ha testa, torso e gambe. Prendete tutte e tre le teste. E il torso e le gambe, scegliete il migliore dei tre. Tre torsi e sei gambe è eccessivo...

 
ZZuretc:
Sto postando esperti, librerie e file include, controlla gli errori, all'inizio funziona senza errori, ma poi può darne uno diverso ogni volta. (Per testare, mettere un tic e un alce 20)

Per cominciare:

variabili, visibilità delle variabili

come sono dichiarati, dove?