Chiedete! - pagina 85

 
cico707:
Ho provato questo Ea sulla valuta GBP/USD e penso che possa dare buoni risultati con un trailing stop.

Chi mi aiuta a inserire un trailing stop?

GRAZIE

BACKTEST GBPJPY

 

Come posso esprimere il seguente in MQL:-

if(boolean_condition_is_true AND (this_is_true OR that_is_true))

Cioè se condizione_bole è vera E(sia questo_è_vero O che_è_vero) ALLORA fai_qualcosa.

Nessuno?

 

In MQL, per cambiare il segno di un identificatore da positivo a negativo la sintassi è: A = - A Tuttavia, l'inverso non sembra funzionare cioè: A = + A. Come posso cambiare il segno di un valore negativo in uno positivo?

 
Sadly:
In MQL, per cambiare il segno di un identificatore da positivo a negativo la sintassi è: A = - A Tuttavia, l'inverso non sembra funzionare cioè: A = + A. Come posso cambiare il segno di un valore negativo in uno positivo?

A = -A; //Funziona sempre ...

Oppure :

A *= -1;

 
Sadly:
Come posso esprimere quanto segue in MQL:-

if(boolean_condition_is_true AND (this_is_true OR that_is_true))

Cioè se condizione_bole è vera E(o questo_è_vero O quello_è_vero) ALLORA fai_qualcosa.

Nessuno?

if(b1 && (b2 || b3))

{

fa_qualcosa

}

 

Grazie Michel. Usando quello che hai suggerito, A *= + A dà effettivamente un segno positivo, cioè: cambia -A in +A.

 
Michel:
if(b1 && (b2 || b3))

{

fare_qualcosa

}

Ecco cosa sto facendo ...

if(Alarm_Reset && (stepSignalBuffer[shift] Upr_level ))

{

if(stepSignalBuffer[shift] < Lwr_level)

{

PlaySound("twank.wav");

}

else

{

PlaySound("tick.wav");

}

Alarm_Reset = false;

}

else

{

Alarm_Reset = true;

}

}

Cioè, se l' allarme è stato resettato (a true) e signalbuffer < lwr_level o signalbuffer> upr_level

Suona un suono se il signalbuffer è sotto il livello inferiore o un altro suono se sopra il livello superiore. Imposta l'allarme su false (non voglio che un altro allarme scatti se è già stato fatto.

else

Resetta l'allarme (cioè: il signalbuffer è al di fuori del livello_basso e del livello_alto)

Sfortunatamente non è quello che sta succedendo, ma almeno so che il codice è corretto e probabilmente è dovuto alla logica.

Grazie ancora Michel.

EDIT: Ho appena commentato stepSignalBuffer[shift] e il suo valore è sempre ZERO! Mi sento proprio un idiota.

 
Sadly:
Grazie Michel. Usando quello che hai suggerito, A *= + A dà effettivamente un segno positivo, cioè: cambia -A in +A.

No, questo è sbagliato, ho detto: A *= -1; non A *= +A;

Questo capovolge il segno; ma se hai bisogno di avere un numero positivo, usa la funzione MathAbs(): A = MathAbs(A); Qualunque sia A, diventerà positivo.

 

Codice di test del fine settimana

Ciao guru,

C'è qualche server che può alimentare il prezzo per darci la possibilità di testare il nostro codice il sabato e la domenica?

Voglio dire, se è possibile fare un server di simulazione per dare la possibilità di testare nel fine settimana?

Questa idea è venuta a causa di :

1. Mentre nei giorni lavorativi, siamo seriamente a guardare il nostro grafico,

in quel momento, non possiamo digitare seriamente il codice.

2. Abbiamo più tempo nel fine settimana, quindi possiamo seriamente testare il nostro codice.

Forse qualcuno può darmi informazioni su questa idea?

Cordiali saluti,

BornToWin

 
Michel:
No, è sbagliato, ho detto: A *= -1; non A *= +A; Questo capovolge il segno; ma se hai bisogno di avere un numero positivo, usa la funzione MathAbs(): A = MathAbs(A); Qualunque sia A, diventerà positivo.

Stavo provando a capovolgere il segno che sembrava funzionare. Ho stancato anche la funzione MathsAbs() e infatti il numero è positivo.

Grazie Michel, mi sei stato di grande aiuto.