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

 
Maxim Kuznetsov:

trovare il trade precedente nella storia e vedere :-) se ha chiuso allo stoploss

- Aggiunto [sl] o (sl) nel commento - per quanto ho capito dipende dalle impostazioni del server. Di regola il primo.

- prezzo di chiusura vicino allo stoploss

devono essere filtrati per tempo

 
Roman Sharanov:

sono loro che devono essere filtrati dal tempo

??

Il tuo consulente ha una memoria profonda e non ricorda l'ordine che ha aperto?

 
Maxim Kuznetsov:

??

Il tuo consulente ha una memoria profonda e non ricorda l'ordine che ha aperto?

Non si tratta di "ricordare", ma di riavviare correttamente senza perdere dati. Per questo non è necessario ricordare ma trovare. Per un tester, naturalmente, anche ricordare funzionerà.
 

Ciao, sto diventando molto stupido.

Come creare un array associativo in mql4? Ho bisogno di memorizzare una chiave - timecurrent e un valore - tick price. E poi lavorare con queste coppie.

 
Roman Sharanov:

Un'altra domanda, perché MT5 si rifiuta di importare i tick?

Ho un file CSV con delle citazioni, di cosa ha bisogno?

Ha bisogno che il separatore di campo sia corretto e la data, l'ora in campi separati e nel formato giusto...

e forse le linee dovrebbero essere separate da \r\n (non ricordo se prende solo \n o dipende dalla codifica)

 
Artyom Trishkin:
Non si tratta di "ricordare", ma di riavviare correttamente senza perdere dati. Per questo, non si tratta di ricordare, ma di trovare. Per un tester, ovviamente, ricordare andrà bene.

È una volta al primo segno di spunta - passa attraverso la storia disponibile e scegli quella più recente della tua :-)

(TS non ha più di 1 ordine aperto nel mercato, e non volano nella storia in lotti)

Poi basta ricordare...

 

Salve professionisti!
Ho bisogno di aiuto per scrivere una parte del codice EA.
Voglio implementare nel mio EA lo StopLoss dinamico e il TakeProfit a seconda dei dati di input.
Prendo i dati HIGH e LOW per un periodo (ad esempio le 24 barre precedenti).

Ho usato le seguenti linee per questo:

Ind_HIGH=HIGH[iHighest(Symbol(),0,MODE_HIGH,24,1)]; // ottenere gli indici degli estremi per il periodo
Ind_LOW =Low[iLowest(Symbol(),0,MODE_LOW,24,1)];// ottenere gli indici degli estremi per il periodo

poi determinare il valore del prezzo a questi estremi

Ind_H =iHigh(Symbol(),0,Ind_HIGH); // ottenere il valore del prezzo HIGH
Ind_L_Low(Symbol(),0,Ind_LOW);// ottenere il valore del prezzo LOW

...e ottenere il valore del prezzo su 1 barra:

Ind_C =iClose(Symbol(),0,1); // ottenere il valore del prezzo CLOSE

Confrontando Ind_C e Ind_H : Ind_L volevo ottenere la differenza di prezzo e tradurla in punti, perché sembra che abbiamo bisogno di valori interi per SL e TP.
Ma per qualche motivo non funziona. Ho bisogno di 290 e 193 (come nell'immagine)
Per favore aiutatemi a scrivere questa parte del codice...
Grazie in anticipo!


 
concilere:

Salve professionisti!
Ho bisogno di aiuto per scrivere una parte del codice EA.
Voglio implementare nel mio EA lo StopLoss dinamico e il TakeProfit a seconda dei dati di input.
Prendo i dati HIGH e LOW per un periodo (ad esempio le 24 barre precedenti).

Ho usato le seguenti linee per questo:

Ind_HIGH=HIGH[iHighest(Symbol(),0,MODE_HIGH,24,1)]; // ottenere gli indici degli estremi per il periodo
Ind_LOW =Low[iLowest(Symbol(),0,MODE_LOW,24,1)];// ottenere gli indici degli estremi per il periodo

poi determinare il valore del prezzo a questi estremi

Ind_H =iHigh(Symbol(),0,Ind_HIGH); // ottenere il valore del prezzo HIGH
Ind_L_Low(Symbol(),0,Ind_LOW);// ottenere il valore del prezzo LOW

...e ottenere il valore del prezzo su 1 barra:

Ind_C =iClose(Symbol(),0,1); // ottenere il valore del prezzo CLOSE

Confrontando Ind_C e Ind_H : Ind_L volevo ottenere la differenza di prezzo e tradurla in punti, perché sembra che abbiamo bisogno di numeri interi per SL e TP.
Ma per qualche motivo non funziona. Voglio ottenere 290 e 193 (come nell'immagine)
Per favore aiutatemi a scrivere questa parte del codice...
Grazie in anticipo!


Qui è dove l'indice della barra max/min

Ind_HIGH=iHighest(Symbol(),0,MODE_HIGH,24,1); // ottenere gli indici degli estremi per il periodo
Ind_LOW =iLowest(Symbol(),0,MODE_LOW,24,1);// ottenere gli indici degli estremi per il periodo

 
Vitaly Muzichenko:

Qui è dove l'indice della barra max/min

Ind_HIGH=iHighest(Symbol(),0,MODE_HIGH,24,1); // ottenere gli indici degli estremi per il periodo
Ind_LOW =iLowest(Symbol(),0,MODE_LOW,24,1); // ottenere gli indici degli estremi per il periodo

Sì, urrà! Ha funzionato!
Vitaly, grazie!

All'inizio, il terminale ha iniziato a imprecare. Ho dovuto cambiare il metodo di calcolo,
era così:

StopLoss=(Ind_C1-Ind_L24); //Calcolare SL aperto Compra
TakeProfit=(Ind_C1-Ind_L24); //calcolare TP aperto Buy

e ora è così:

StopLoss=(Ind_C1-Ind_L24)/Punto; //Calcolo SL aperto Compra
TakeProfit=(Ind_C1-Ind_L24)/Punto; //Calcolare il TP open Buy

e tutto ha funzionato...))



 

Ho l'indicatore rsx-nrp-coronforex.mq4, puoi dirmi quali parametri usare per ottenere dati dalla curva?

double RSX_M = iCustom(Symbol(),PERIOD_CURRENT,"\\rsx-nrp-coronforex",??? Cosa dovrei scrivere qui??);

File: