Aiuto per la codifica - pagina 338

 
Maine:
Salve,

Vorrei controllare se le mie ultime tre operazioni di vendita o di acquisto chiuse sono state redditizie, e cambiare un valore di stringa a seconda di questo.

Ho questo codice (MT4):

for(int i=(OrdersHistoryTotal()-1);i>=0;i--);

{

OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol()==Symbol() && OrderMagicNumber()==BUY)

{

//for buy order

if(OrderType()==OP_BUY && OrderProfit()>0) last=1;

if(OrderType()==OP_BUY && OrderProfit()<0) last=0;

}

}

for(int j=(OrdersHistoryTotal()-1);j>=0;j--);

{

OrderSelect(j, SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol()==Symbol() && OrderMagicNumber()==SELL)

{

//for sell order

if(OrderType()==OP_SELL && OrderProfit()>0) last2=1;

if(OrderType()==OP_SELL && OrderProfit()<0) last2=0;

}

}

Ma non funziona per me.

Come dovrei modificarlo?

Grazie per l'aiuto.

Cosa cercano di fare queste due linee (cosa sono BUY e SELL nel tuo codice - o hai provato a compilarlo del tutto - dato che BUY e SELL non sono costanti predefinite). Inoltre, OrderMagicNumber() è un numero magico, non il tipo di ordine:

OrderMagicNumber()==BUY

OrderMagicNumber()==SELL

 

Ciao a tutti,

Ho fatto un esperto di stepma e lo uso:

int trendCurr = iCustom(s_symbol,StepMaTimeFrame,"Stepma",Length,Kv,StepSize,MA_Mode,Advance,Percentage,UpDownShift,HighLow,ColorMode,5,StepMaBarToTest );

int trendPrev = iCustom(s_symbol,StepMaTimeFrame,"Stepma",Length,Kv,StepSize,MA_Mode,Advance,Percentage,UpDownShift,HighLow,ColorMode,5,StepMaBarToTest+1);

if (trendCurr > 0 && trendPrev < 0) SendLong = true;

if (trendCurr 0) SendShort = true;

Ora ho bisogno di aiuto, che tipo di codice posso usare, se voglio negoziare i pullback del prezzo sulla stepma?

Se il prezzo tocca la stepma entra nel modo del colore della stepma.

Grazie!

 
albert666:
Ciao a tutti,

Ho fatto un esperto di stepma e lo uso:

int trendCurr = iCustom(s_symbol,StepMaTimeFrame,"Stepma",Length,Kv,StepSize,MA_Mode,Advance,Percentage,UpDownShift,HighLow,ColorMode,5,StepMaBarToTest );

int trendPrev = iCustom(s_symbol,StepMaTimeFrame,"Stepma",Length,Kv,StepSize,MA_Mode,Advance,Percentage,UpDownShift,HighLow,ColorMode,5,StepMaBarToTest+1);

if (trendCurr > 0 && trendPrev < 0) SendLong = true;

if (trendCurr 0) SendShort = true;

Ora ho bisogno di aiuto, che tipo di codice posso usare, se voglio negoziare i pullback del prezzo sulla stepma?

Se il prezzo tocca la stepma entra nel modo del colore della stepma.

Grazie!

albert666

Per questo devi confrontare i prezzi con il valore della stepma (non solo la tendenza della stepma. Ma dato che il prezzo non è quasi mai uguale al valore degli indicatori, avrai dei problemi con questo + potresti finire con un segnale in ritardo (dato che devi confrontare 3 barre e la barra più recente deve essere confermata altrimenti puoi ottenere molti falsi segnali

 

Ciao Albert,

Anch'io sto pensando alla stessa idea.

Grazie Mladen per la risposta, forse possiamo usare la chiusura di una barra, forse sarà più facile?

 
Big Joe:
Ciao Albert,

Anch'io sto pensando alla stessa idea.

Grazie Mladen per la risposta, forse possiamo usare la chiusura di una barra, forse sarà più facile?

Joe

I pullback sembrano buoni con il senno di poi ma, giusto per ricordartelo: ogni cambiamento di tendenza era un potenziale pullback. Prova a prevedere se sarà un pullback o un cambio di tendenza nel tempo di esecuzione e vedrai cosa intendo

 
mladen:
albert666 Per questo devi confrontare i prezzi con il valore della stepma (non solo la tendenza della stepma. Ma dato che il prezzo non è quasi mai uguale al valore degli indicatori, avrai dei problemi con questo + potresti finire con un segnale in ritardo (dato che devi confrontare 3 barre e la barra più recente deve essere confermata altrimenti puoi ottenere molti falsi segnali

Grazie signore Mladen, capisco cosa intende, è vero che può sembrare assurdo, ma può darmi comunque qualche suggerimento su come codificare questo.

Sono completamente perso, dovrei usare Bid() e Ask()?

Grazie.

 
mladen:
alfa24

Non hai bisogno di un nuovo indicatore per questo

Usa qualsiasi ma che è già in finestra separata, e poi basta trascinare le bande di bollinger in quella sottofinestra e scegliere i dati dell'indicatore precedente come campo di prezzo

Mladen Signore

Sembra che tu sia troppo occupato o non interessato a fare. Il mio requisito era molto piccolo e semplice. C'è molto più potenziale nelle cose piccole e semplici che è quello che ho imparato in analisi tecnica.

 
alpha24:
Mladen Sir Sembra che tu sia troppo occupato o non interessato a fare. Il mio requisito era molto piccolo e semplice. C'è molto più potenziale nelle cose piccole e semplici che è quello che ho imparato in Analisi Tecnica.

alfa24

Non riesco a capire il tuo post

Ti ho spiegato come puoi ottenere semplicemente ciò di cui hai bisogno. Qual è il problema allora? Non ti piace la soluzione (che è, tra l'altro, esattamente quella che hai descritto e più semplice di così)? Semplicemente non riesco a vedere quale potrebbe essere il problema quando il tuo post è stato risposto con una soluzione corretta

saluti

 
albert666:
Grazie signore Mladen, capisco cosa intende, è vero che può sembrare assurdo, ma può darmi comunque qualche suggerimento sulla codifica di questo.

Sono completamente perso, dovrei usare Bid() e Ask()?

Grazie.

albert666

Quello che vorrei consigliarti è di provare a stimare i rimbalzi in runtime (non sui dati storici, ma al massimo sulla prima barra chiusa) per qualche tempo e questo dovrebbe rendere molto più chiaro quali sono i problemi esatti quando si tratta di indovinare i rimbalzi. Questo esatto gioco di indovinelli dovrebbe essere fatto anche dall'EA

 
alpha24:
Mladen Sir Sembra che tu sia troppo occupato o non interessato a fare. Il mio requisito era molto piccolo e semplice. C'è molto più potenziale nelle cose piccole e semplici che è quello che ho imparato in Analisi Tecnica.

Ecco una vecchia media mobile in una finestra separata: moving_averages_sw.mq4

Funziona anche nel nuovo metatrader anche se è molto vecchio

File: