Aiuto per la codifica - pagina 427

 
AtApi:
Grazie mladen anche se non è esattamente quello che sto cercando...il doublezigzag non ridipinge (entrambi gli zigzag allineati) perché è basato su frattali...quei punti sono quelli da cui vorrei costruire il triangolo...

Ho provato a modificare un po' il codice per ottenere i 2 segnali superiori più recenti e i 2 segnali inferiori più recenti, ma sono un po' bloccato:

questa parte è quella che dipinge il segnale quando entrambi gli zigzag sono allineati:

// Do both zigzag agree on the signal?

if(SlowSignal == FastSignal && SlowSignal != EMPTY_VALUE)

{

if(SlowSignal == OP_BUY)

{

ExtMapBuffer3 = fr_support - nShift*Point;

} else {

ExtMapBuffer3 = fr_resistance + nShift*Point;

}

[/CODE]

after this i want to get the most recent upper and the previously upper and most recent lower and the previously lower like this

[CODE]

HighOldest = ExtMapBuffer3[ArrayMaximum(ExtMapBuffer3,BarsBack,i+2)];

LowOldest = ExtMapBuffer3[ArrayMinimum(ExtMapBuffer3,BarsBack,i+2)];

quindi in teoria dovrei avere il recente da ExtMapBuffer3 e il più vecchio da HighOldest

poi avrò i 2 punti per costruire le linee di tendenza...

ma per qualche ragione ci deve essere un EMPTY_VALUE da qualche parte nel buffer perché quando faccio ArrayMaximum mi restituisce l'EMPY_VALUE come valore massimo nell'array

spero sia chiaro...

Non importa, ho risolto!

 
mladen:
TFI Hai un parametro in più che non dovrebbe esserci: il "" dopo il nome dell'indicatore (dopo "Efficiency_v1.1"). Elimina la parte "" (stringa vuota) dopo il nome dell'indicatore

Ciao Mladen,

ti ringrazio molto per il tuo suggerimento. Mi chiedo se posso aver catturato il segnale del filtro in modo sbagliato, perché l'EA non apre più un trade anche se il vincolo per aprire un trade long / short è soddisfatto (la linea dello zero è attraversata). Potresti probabilmente rivedere il mio codice con la tua esperienza?

Grazie mille (di nuovo) :-)

if(openedOrders<=0)

{

double trend_up = iCustom(Symbol(),0,"Hull moving average 2 strict nmc","", HMA_Period, HMA_Price, HMA_Speed,0,3,1);

double trend_down = iCustom(Symbol(),0,"Hull moving average 2 strict nmc","", HMA_Period, HMA_Price, HMA_Speed,0,3,2);

double trendf_up = iCustom(Symbol(),0,"Efficiency_v1.1",Price,Length,Smooth,Signal,MA_Mode,NoiseMode,0,1,1); // Signal Buffer 1

double trendf_down = iCustom(Symbol(),0,"Efficiency_v1.1",Price,Length,Smooth,Signal,MA_Mode,NoiseMode,0,1,2);

int clongs = 0;

int cshorts = 0;

for(i=OrdersTotal()-1;i>=0; i--)

{

if(OrderType()==OP_BUY) clongs++; // Check # of long trades.

if(OrderType()==OP_SELL) cshorts++; // Check # of short trades

}

if(trend_up!=trend_down)

{

if((clongs 0 && trendf_down<0)) OpenBuy(); // Indicator and filter = long

if((cshorts < maxshorttrades && trend_down==-1) && (trendf_up0)) OpenSell(); // Indicator and filter = short

}

}

Con cordiali saluti,

TFI

File:
betrade.jpg  76 kb
 

Ciao a tutti, sto usando (manualmente) l'indicatore AbsoluteStrength.

Qualcuno può aggiungere l'allarme quando la linea blu è attraversata dalla linea blu tratteggiata o la linea rossa è attraversata dalla linea rossa tratteggiata (come mostrato nello screenshot allegato).

allabsolutestrength_v2.3_600.mq4

Grazie mille

Petr Jahoda

 

Ciao Pro-Coders,

Mi chiedo se il calcolo del mio filtro ADX sulla forza del trend possa essere corretto:

bool ADX_filter()

{

bool result=false;

double ADXfactor= 1;

double ADXminus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MINUSDI,0);

double ADXplus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_PLUSDI,0);

double ADXmain = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MAIN,0);

if(ADXplus>ADXfactor*ADXminus && ADXmain>=20 && ADXmain<=40) result=true; // buy

if(ADXminus=20 && ADXmain<=40) result=false; // sell

return(result);

}

[/CODE]

It may be called like this:

[CODE]

if(clongs<maxlongtrades && trend_up==1 && (ADX_filter()==true)) OpenBuy();

Grazie.

 
tfi_markets:
Ciao Pro-Coders,

Mi chiedo se il calcolo del mio filtro ADX sulla forza del trend possa essere corretto:

bool ADX_filter()

{

bool result=false;

double ADXfactor= 1;

double ADXminus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MINUSDI,0);

double ADXplus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_PLUSDI,0);

double ADXmain = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MAIN,0);

if(ADXplus>ADXfactor*ADXminus && ADXmain>=20 && ADXmain<=40) result=true; // buy

if(ADXminus=20 && ADXmain<=40) result=false; // sell

return(result);

}

[/CODE]

It may be called like this:

[CODE]

if(clongs<maxlongtrades && trend_up==1 && (ADX_filter()==true)) OpenBuy();

Grazie.

tfi_markets

Per quanto riguarda la funzione, sì, può essere chiamata così

 
mladen:
tfi_markets Per quanto riguarda la funzione, sì, può essere chiamata così

Ciao Mladen,

grazie per il tuo commento. Vorrei mantenere il mio codice principalmente semplice e privo di bug, soprattutto perché il debug con MQL4 / MT4 può essere una sfida.

Supponiamo che vorrei scambiare le tendenze primarie più forti in cui l'ADX è superiore a 20, potrei anche codificare questo un po' più semplice come:

bool ADX_filter()

{

bool result=false;

if(iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0)>20) result = true; // buy

if (iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0)<20) result = false; // sell

return (result);

}

if(clongs1 && ADX_filter()==true)) OpenBuy();

if(cshorts<maxshorttrades && trendc==-1 &&(CCIFilter<-1 && ADX_filter()==false)) OpenSell()

Giusto?

Grazie in anticipo e buon fine settimana.

 

Ciao.

Ultimamente sto usando la media mobile Hull e ho pensato che dovrei provare anche la pendenza HMA in una finestra dell'indicatore, l'ho trovata ma non funziona correttamente nella mia piattaforma mt4.

hull_moving_average_2.01_amp_sr_lines_separate.mq4

Grazie

 
NWFstudent:
Ciao.

Ultimamente sto usando la media mobile Hull e ho pensato che dovrei provare anche la pendenza HMA in una finestra dell'indicatore, l'ho trovata ma non funziona correttamente nella mia piattaforma mt4.

hull_moving_average_2.01_amp_sr_lines_separate.mq4

Grazie

sembra che tu abbia già risolto metà del problema!

 
NWFstudent:
Ciao.

Ultimamente sto usando la media mobile Hull e ho pensato che dovrei provare anche la pendenza HMA in una finestra dell'indicatore, l'ho trovata ma non funziona correttamente nella mia piattaforma mt4.

hull_moving_average_2.01_amp_sr_lines_separate.mq4

Grazie

NWFstudent

Cambia il 2° colore da nero a qualche altro colore (e imposta il 3° colore allo stesso colore del 2° colore) In questo momento non lo vedi semplicemente perché lo sfondo e il 2° colore sono uguali - nero

 
mladen:
NWFstudent Cambia il 2° colore da nero a qualche altro colore (e imposta il 3° colore allo stesso colore del 2° colore) In questo momento non lo vedi semplicemente perché lo sfondo e il 2° colore sono lo stesso - nero

wow, ora mi sento un idiota totale

Stavo guardando in input un colore su era blu e giù era rosso, ma ofcourse hai avuto ragione come sempre.

Mi dispiace di essere un ritardato