Chiedete! - pagina 43

 

Ok, sto chiedendo...

come posso usare le funzioni di file in modo che aggiunga dati alla fine del file piuttosto che sovrascriverlo.

https://www.mql5.com/en/forum/174700/page77

per favore rispondi sul thread a cui va questo link dove leggo normalmente.

 

Come recuperare uno specifico ordine chiuso usando HistoryTotal()?

Ciao a tutti

c'è un modo usando la funzione HistoryTotal per poter trovare un particolare ordine (acquisto o vendita) chiuso?

Ho provato con questo codice ma sembra non funzionare:

int hstTotal=HistoryTotal();

for(i=0;i<hstTotal;i++)

{

//---- check selection result

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)

{

if (Debug==true) Print("Access to history failed with error (",GetLastError(),")");

break;

}

if (OrderType()==OP_BUY && OrderComment()=="LONG")

{

..take some action...

}

if (OrderType()==OP_SELL && OrderComment()=="SHORT")

{

..take some action...

}

}

[/code]

And when a buy order was in place using OrderSelect I identified this using "LONG" as comment (and "SHORT" if a sell order) :

[code]

Sell:

..

..

OrderSend(Symbol(),OP_SELL,Lots,Entry,Slippage,StopLoss,TakeProfit,"SHORT",0,0);

..

..

Buy:

..

..

OrderSend(Symbol(),OP_BUY,Lots,Entry,Slippage,StopLoss,TakeProfit,"LONG",0,0);

..

..

Forse non è supportato OrderComment utilizzando la modalità MODE_HISTORY? E se è così come posso risolvere questo problema?

Grazie mille

Skyline

 
skyline:
Ciao a tutti

c'è un modo utilizzando la funzione HistoryTotal per essere in grado di trovare un particolare ordine (acquisto o vendita) chiuso?

Ho provato con questo codice ma sembra non funzionare:

int hstTotal=HistoryTotal();

for(i=0;i<hstTotal;i++)

{

//---- check selection result

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)

{

if (Debug==true) Print("Access to history failed with error (",GetLastError(),")");

break;

}

if (OrderType()==OP_BUY && OrderComment()=="LONG")

{

..take some action...

}

if (OrderType()==OP_SELL && OrderComment()=="SHORT")

{

..take some action...

}

}

[/code]

And when a buy order was in place using OrderSelect I identified this using "LONG" as comment (and "SHORT" if a sell order) :

[code]

Sell:

..

..

OrderSend(Symbol(),OP_SELL,Lots,Entry,Slippage,StopLoss,TakeProfit,"SHORT",0,0);

..

..

Buy:

..

..

OrderSend(Symbol(),OP_BUY,Lots,Entry,Slippage,StopLoss,TakeProfit,"LONG",0,0);

..

..

Forse non è supportato OrderComment utilizzando la modalità MODE_HISTORY? E se è così come posso risolvere questo problema?

Grazie mille

Skyline

Skyline,

Tieni presente che il broker aggiungerà il commento con i propri commenti sull'ordine per motivi diversi, e sempre quando poi l'ordine viene chiuso da SL o TP. Quali sono i criteri per cercare i trade? Una volta definito questo, avrai la tua soluzione.

 
Nicholishen:
Skyline, sappi che il broker aggiungerà il commento con i propri commenti sull'ordine per diversi motivi, e sempre quando poi l'ordine viene chiuso da SL o TP. Quali sono i criteri per cercare i trade? Una volta definito questo, avrai la tua soluzione.

Oh, questa non è una buona notizia :|

Comunque sto cercando di spiegare il mio problema: nel mio EA ho diversi tipi di acquisto (o vendita), ho un tipo che deve essere aperto ogni volta che una condizione è soddisfatta anche molto tempo in un giorno (qualcosa del genere quando il prezzo penetra un EMA allora un ordine viene piazzato), e un altro tipo che deve essere attivato solo una volta al giorno a seconda delle diverse condizioni basate su diverse EMA. Quindi quello che devo fare è lasciare che il primo tipo di acquisto/vendita di aprire/chiudere gli ordini un sacco di tempo in un giorno, mentre il secondo tipo di ordini di acquisto/vendita devono essere aperti solo una volta al giorno, così ho pensato che se potessi localizzare in qualche modo qualsiasi tipo di ordine di acquisto/vendita nella storia potrei risolvere il mio problema, ma sembra non possibile

 

valori del grafico giornaliero

codersguru:
Ciao a tutti,

Ho molti messaggi privati che mi chiedono aiuto per alcuni pezzi di codice.

Qui potete postare le vostre domande relative a MQL4, e farò del mio meglio per rispondere.

Ciao,

Sto cercando di ottenere i valori massimi, minimi, aperti e chiusi del giorno precedente @ 0 GMT per il mio EA. Funziona bene per tutti i giorni tranne domenica in MIG & IBFX dove ottiene i valori per domenica da sabato e non da venerdì. FXDD lo prende correttamente dalla chiusura di venerdì poiché non ha una nuova barra per sabato.

E' codificato come:

High[1], Low[1], Close[1] ecc. Come posso correggere il codice per domenica in modo che riceva i valori solo dalla chiusura di venerdì e non da sabato. Per favore aiutatemi!

 
payal:
Ciao,

Sto cercando di ottenere i valori massimi, minimi, aperti e chiusi del giorno precedente @ 0 GMT per il mio EA. Funziona bene per tutti i giorni tranne domenica in MIG & IBFX dove ottiene i valori per domenica da sabato e non da venerdì. FXDD lo prende correttamente dalla chiusura di venerdì poiché non ha una nuova barra per sabato.

E' codificato come:

High[1], Low[1], Close[1] ecc. Come faccio a sistemare il codice per domenica in modo che riceva i valori solo dalla chiusura di venerdì e non da sabato. Per favore aiutatemi!

Dalla tua descrizione, presumo che tu lo stia usando sul grafico giornaliero?

Per rispondere alla tua domanda, ecco come risolverei il problema.

if (DayOfWeek() == 0)

{

High[2], Low[2], Close[2], //etc

}

else

{

High[1], Low[1], Close[1],//etc

)

Naturalmente, dovresti sistemare l'alto, il basso e il vicino in qualsiasi modo tu li stia usando

 
payal:
Ciao,

Sto cercando di ottenere i valori massimi, minimi, aperti e chiusi del giorno precedente @ 0 GMT per il mio EA. Funziona bene per tutti i giorni tranne domenica in MIG & IBFX dove ottiene i valori per domenica da sabato e non da venerdì. FXDD lo prende correttamente dalla chiusura di venerdì poiché non ha una nuova barra per sabato.

E' codificato come:

High[1], Low[1], Close[1] ecc. Come faccio a correggere il codice per domenica in modo che riceva i valori solo dalla chiusura di venerdì e non da sabato. Per favore aiutatemi!

Controlla questo file https://c.mql5.com/forextsd/forum/4/fibopiv_v3.mq4

Lì troverai la risposta alla tua domanda.

Saluti

Kale

 

Grazie

Eaglehawk:
Dalla tua descrizione, presumo che tu stia usando questo sul grafico giornaliero?

Per rispondere alla tua domanda, ecco come risolverei il problema.

if (DayOfWeek() == 0)

{

High[2], Low[2], Close[2], //etc

}

else

{

High[1], Low[1], Close[1],//etc

)
Naturalmente, dovresti sistemare l'alto, il basso e il vicino in qualsiasi modo tu li stia usando

Grazie mille. Buona giornata!

 

Grazie u

Kalenzo:
Controlla questo file https://c.mql5.com/forextsd/forum/4/fibopiv_v3.mq4

Lì troverete la risposta alla vostra domanda.

Saluti

Kale

Grazie, buona giornata!

 

C'è qualche indicatore che può mostrarci l'high0low ao ech bar in valore in cima o sotto ogni barra?

Motivazione: