Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1202
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
Buon pomeriggio!
Sto lottando con una domanda, potresti dirmi come risolverla?
L'idea è la seguente: traccio una linea al massimo precedente della candela. Voglio che la linea sia spostata a seconda del massimo precedente.
Chi mi impedisce di cambiare il prezzo della linea sui tick quando ne ho bisogno?
Ci sono 2 opzioni
Ciao omonimo!)
void OnTick() { //--- double o1 = iOpen(Symbol(),Period(),1); double h1 = iHigh(Symbol(),Period(),1); double l1 = iLow(Symbol(),Period(),1); double c1 = iClose(Symbol(),Period(),1); double c0 = iClose(Symbol(),Period(),0); double rt = 0; double rs1 = 0; double rs2 = 0; rt=MathAbs(c1-o1)/_Point; //размер тела свечи rs1=MathAbs(h1-c1)/_Point;// размер верхней тени свечи rs2=MathAbs(l1-c1)/_Point; // размер нижней тени свечи ObjectDelete(0,"HL"); if ((rs1>=rt)&&(c1>o1)) //[для ростовых свечей] условие для построения уровней (если верхняя тень предыдущей свечи, больше, или равна телу этой же свечи, то... { double PRH=iHigh(Symbol(),_Period,1); // то это будет максимум ObjectCreate(0,"HL",OBJ_HLINE,0,_Period,PRH); // и строим по этому максимуму, горизонтальную линию } ObjectDelete(0,"lL"); if ((rs2>=rt)&&(c1<o1)) // [для падающих свечей]условие для построения уровней (если нижняя тень предыдущей свечи, больше, или равна телу этой же свечи, то... { double PRL=iLow(Symbol(),_Period,1); // то это будет минимум ObjectCreate(0,"lL",OBJ_HLINE,0,_Period,PRL); // и строим по этому минимум, горизонтальную линию } }Considerato l'opzione 1, qualcosa di simile. Ma non corretto in qualche modo accade. All'inizio fasi secondo i piani, poi in un colpo di coda.
E chi vi impedisce di cambiare semplicemente il prezzo della linea sui tick quando ne avete bisogno?
Beh, più o meno, sì. Se si aggiungono condizioni solo un po', c'è un problema. Traccia una linea. Quello che serve è: se non c'è un nuovo massimo/basso, viene salvato.
Beh, più o meno, sì. Se si aggiungono condizioni solo un po', c'è un problema. Traccia una linea. Quello che serve è: se non c'è un nuovo massimo/basso, viene salvato.
Non so, chi ti impedisce di aggiungere un'altra linea per Low...?
Puoi aggiungere un'intera serie di linee o altri oggetti e segnare ogni Low e High con essi. Qual è il problema...?
Per favore, consigliate come ottenere il prezzo e il tempo della prima transazione quando si apre una posizione e il prezzo e il tempo della prima transazione per chiudere questa posizione dalla storia. Il mio scopo è quello di ottenere un array di punti di ingresso dalla storia, perché a volte l'equità quando faccio trading manualmente, quindi voglio sapere se è efficace o no. Non so nulla delle operazioni di trading, uso una classe, dove queste funzioni non sono state implementate :(
HistorySelectByPosition vi aiuterà a
Allora ci sono diverse opzioni:
Non so, chi ti impedisce di aggiungere un'altra linea per Low...?
Puoi aggiungere un'intera serie di linee o altri oggetti e segnare ogni Low e High con essi. Qual è il problema...?
Sì, funziona correttamente! Grazie Mihail!
E se avete forato la linea di fondo e avete bisogno di cancellarla dopo il piercing, come:
Giusto?
Sì, funziona come dovrebbe! Grazie Mihail!
E se la linea di fondo è perforata e bisogna cancellarla quando è perforata, come:
Giusto?
Il programma usa solo due linee per evidenziare i livelli. Perché cancellarlo e poi crearlo di nuovo se si può semplicemente impostarlo a 0...?
La linea non sarà visibile sul grafico... E poi puoi mostrarlo di nuovo:
lLine.Price(0, PRL);Il programma usa solo due linee per evidenziare i livelli. Perché cancellare e poi ricreare quando si può semplicemente impostare a 0...?
La linea non sarà visibile sul grafico... E poi puoi mostrarlo di nuovo:
Come questo? O è necessario dichiarare qualcos'altro in OnInit?