Come codificare? - pagina 208

 

A fxbg

Aggiusta la tua logica. Quando si chiude l'ordine da programma, si cambia CurrentDirection a 0, ma, se è chiuso da stoploss - no.

 
 

Confronto dei valori

Ciao a tutti,

Domanda molto semplice perché non sono sicuro di aver capito bene i valori degli indicatori!

Ho dei valori come questo:

laADX00 = iADX(NULL,0,14,PRICE_CLOSE,MODE_MAIN,0);

laADXP0 = iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,0);

laADXM0 = iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,0);

laADX01 = iADX(NULL,0,14,PRICE_CLOSE,MODE_MAIN,1);

laADXP1 = iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,1);

laADXM1 = iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,1);

laADX02 = iADX(NULL,0,14,PRICE_CLOSE,MODE_MAIN,2);

laADXP2 = iADX(NULL,0,14,PRICE_CLOSE,MODE_PLUSDI,2);

laADXM2 = iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,2);

e se in seguito ho qualcosa come

Addon= "";

if (laADX02 > laADX01 && laADX01 > laADX00) Addon= "Su laADX0";

if (laADX02 < laADX01 && laADX01 < laADX00) Addon= "Down laADX0";

se (laADX02 > laADX01 && laADX01 < laADX00) Addon= "Top laADX0";

if (laADX02 laADX00) Addon= "Bottom laADX0";

Stampa Addon.....

Addon= "";

if (laADXP2 > laADXP1 && laADXP1 > laADXP0) Addon= "Su laADXP";

if (laADXP2 < laADXP1 && laADXP1 < laADXP0) Addon= "Down laADXP";

if (laADXP2 > laADXP1 && laADXP1 < laADXP0) Addon= "Top laADXP";

if (laADXP2 laADXP0) Addon= "Bottom laADXP";

Stampa Addon.....

Addon= "";

if (laADXM2 > laADXM1 && laADXM1 > laADXM0) Addon= "Su laADXM";

if (laADXM2 < laADXM1 && laADXM1 < laADXM0) Addon= "Down laADXM";

se (laADXM2 > laADXM1 && laADXM1 < laADXM0) Addon= "Top laADXM";

if (laADXM2 laADXM0) Addon= "Bottom laADXM";

E ho stampato che per esempio UP laADXM ...e sul grafico ADX DI- id che scende o qualcos'altro ma non sale. Simile per RSI, CCI, MACD, ...

Cosa c'è di sbagliato qui? Ho capito che definito come sopra laADX00 è il valore di ADX al momento, laADX01 è il valore di ADX per la barra precedente al momento in cui il prezzo è chiuso per quella barra, laADX02 è il valore di ADX per 2 barre fa al momento in cui il prezzo è chiuso per quella barra. È corretto o laADX01 è il valore ADX per il tick precedente e laADX02 per 2 tick fa?

Qualcuno può chiarirmi questo, dato che i grafici e queste definizioni non sono 1:1?

PS: Ho testato il mio EA in Strategy Simulator quando ho visto questi risultati contraddittori

Grazie in anticipo

Aleksandar

 

Scusa ... l'esempio era sbagliato ... questo è dal mio script ... ma comunque il simulatore lo presenta diverso dalla frase stampata

Addon= "";

if (laADX02 < laADX01 && laADX01 < laADX00) Addon= "Su laADX0";

se (laADX02 > laADX01 && laADX01 > laADX00) Addon= "Giù laADX0";

if (laADX02 laADX00) Addon= "Top laADX0";

if (laADX02 > laADX01 && laADX01 < laADX00) Addon= "Bottom laADX0";

Stampa Addon.....

 

bisogno di aiuto per lo scripting

Ciao!

Ho bisogno di aiuto per capire come usare orderselect().

Vorrei sapere se è possibile impostare una variabile con lo stesso valore di orderprofit().

Grazie

 

Un'altra cosa: c'è un modo per chiudere tutti gli ordini aperti?

Grazie

 

Lisciatura all'interno dell'indicatore

Sto cercando di modificare uno degli indicatori bollinger percent b pubblicati qui. Voglio (in primo luogo comunque) aggiungere semplicemente un'opzione per lisciare i dati con una media mobile e mettere il risultato nel Buffer3. Qualcuno potrebbe per favore mostrarmi dove sto sbagliando.

if(counted_bars>=BBPeriod) i=Bars-counted_bars-1;

while(i>=0)

{ //(Last - Lower BB)/(Upper BB - Lower BB)

BLGBuffer=((Close - iBands(NULL,0,BBPeriod,StdDeviation,0,AppliedPrice,MODE_LOWER,i))/

(iBands(NULL,0,BBPeriod,StdDeviation,0,AppliedPrice,MODE_UPPER,i)-iBands(NULL,0,BBPeriod,StdDeviation,0,AppliedPrice,MODE_LOWER,i)))*100;

//m_level refers to the bollinger bands centre line. i.e. 21MA

mlevel=iMA(NULL,0,BBPeriod,0,BollingerMAMethod,AppliedPrice,0);

Buffer3 = iMAOnArray(BLGBuffer, 0, SmoothingMAPeriod, 0, SmoothingMAMethod, i);

i--;

}
 

prova solo

prova il segno #

codice

# questo non è un codice #

how to insert the image over here ?