Multichart problema con codice signal

mesmenat

Nuovo Utente
Registrato
8/3/06
Messaggi
741
Punti reazioni
53
buongiorno a tutti.

sto provando ad inserire questo semplice codice che dice:

quando incrocia al rialzo sma 30 sopra sma 90 prendiamo come riferimento il massimo delle 30 candele precedenti all'incrocio che se viene poi rotto al rialzo da segnale long, viceversa per lo short.

ho verificato che non sempre le 30 candele precedenti all'incrocio vengono rispettate, mando un esempio tf 5 min.

cosa c'è di sbagliato nella formula??

grazie a chi mi aiuterà.


codice:

value1=average (c,30);
value2=average (c,90);

condition1= value1>value2 ;
condition2=value1<value2;

condition3=H crosses over Highest(h,30)[1];
condition4=L crosses under Lowest(l,30)[1];

if condition1 and condition3 then buy next bar at market;
if condition2 and condition4 then sellshort next bar at market;
 

Allegati

  • 10.jpg
    10.jpg
    170,9 KB · Visite: 16
Ti dà un segnale short perchè le condizioni sono verificate: if condition2 and condition4 then sellshort next bar at market;
il value1 (linea verde) è minore del value2 (linea rossa) inoltre il minimo precedente alla candela che ha generato l'ingresso è effettivamente il più basso dei low delle ultime 30 candele.

Noto una discordanza tra quanto scrivi e il codice. Scrivi: "quando incrocia al rialzo sma 30 sopra sma 90 ...."
Scrivere "condition1= value1>value2 ;" non equivale a quanto detto sopra ma semplicemente a verificare che un valore sia maggiore si un altro.
L'incrocio lo hai scrivendo: condition1= value1 crosses above value2 ;
Identica cosa per la condition2.

Inoltre ricorda che hai due condizioni molto selettive: incrocio di medie E max/min assoluto delle ultime 30 candele. Se quando incrociano le medie i prezzi non sono sui max/min delle ultime 30 barre, dovrai aspettare un nuovo incrocio.
Credo che i segnali siano piuttosto rarefatti.
Ciao
 
Indietro