COSTRUZIONE INDICATORE PER ANALISI CICLICA CON VISUAL TRADER (21 lettori)

enryg70

Nuovo forumer
Ciao, quello a pag. 167 non gestisce + takeprofit in sequenza; comunque va a rottura dei max/min e gestisce eventuali buchi nella determinazione dei livelli. C'è anche un altro listato a pag. 183 per una possibile prova.

Un'occhiata al contatore a destra..

Non capisco io nel grafico vedo più di 1 take, e da risultati migliorativi con meno operazioni rispetto a ULTIMO.

1231595846cattura.jpg
 

robom1

Forumer storico
Non capisco io nel grafico vedo più di 1 take, e da risultati migliorativi con meno operazioni rispetto a ULTIMO.

1231595846cattura.jpg

Sta a significare questo:
1. Nel caso in cui abbia una successione di take uno dietro l'altro il listato a pagina 167 non determina correttamente il valore di ritracciamento e questo è un errore da sistemare a livello di programma apportando le modifiche tipo quelle di pagina 183.
2. A parte il punto 1 nel caso in cui vi sia un take i due programmi uno entrano al successivo break del max/min su cui è avvenuto il take mentre l'altro rientra al valore di uscita + un tot.

Se si vuole si puo' fare un programma che prenda in considerazione le modifiche da apportare di cui al punto 1.
 

picchio63

In hoc signo vinces
Raga'

ma a me , se prendo un periodo + lungo , non vengono queste performance:(

soprattutto se poi uso il continuos, lossano tutti:(
 

enryg70

Nuovo forumer
Sta a significare questo:
1. Nel caso in cui abbia una successione di take uno dietro l'altro il listato a pagina 167 non determina correttamente il valore di ritracciamento e questo è un errore da sistemare a livello di programma apportando le modifiche tipo quelle di pagina 183.
2. A parte il punto 1 nel caso in cui vi sia un take i due programmi uno entrano al successivo break del max/min su cui è avvenuto il take mentre l'altro rientra al valore di uscita + un tot.

Se si vuole si puo' fare un programma che prenda in considerazione le modifiche da apportare di cui al punto 1.

Quindi usare il programma a pag 167 comporta dei loss o segnali non gestiti?
Perchè io l'ho seguito per 2 gg in real e mi sembrava andasse meglio di quello a pag 183
Comunque io purtroppo capisco molto poco, ma vedo che pian piano modificando qua e là i risultati inizi a farsi vedere, quindi avanti così ;)
 

tetoblu

Nuovo forumer
Ecco il listato modificato per l'Eurostoxx. Occhio però che per usarlo devi avere la versione beta.

Codice:
Var: miavar(0), Miacondizione1,Miacondizione2,miacondizione3,Miacondizione4,Miacondizione5,Miacondizione6;
Var: Miacondizione7,Miacondizione8, Miacondizione9,Miacondizione10, Miacondizione11,Miacondizione12, Miacondizione13,Miacondizione14;
Var: Miacondizione15,Miacondizione16,Miacondizione17,miacondizione18,STOP;
Var: Semaforo0910(0), semaforo1010(0), semaforo1110(0), Semaforo1210(0), semaforo1310(0), semaforo1410(0),Semaforo1510(0), semaforo1610(0), semaforo1710(0);
Var: ultimaposizione(0), indzona1(0), valoreritracciamento(0), valore(0), ultimoprezzo(0), barra(0), ope1(0), min1(0), max1(0), clo1(0), ritracciamentocalcolato(0);
Var: miavel, mio10, vettorestop(0), pippo(0), vettoreposizione(0),e;
//installtrailingprofit (inperc,0.8,0.1,trailing);
InstalltakeProfit(INPERC, 0.75, "take");
 
//************************************************** ************************************************** ************
if T = 0910 then Miacondizione1 = C+2; Miacondizione2 = C-2; endif;
if T = 1010 then Miacondizione3 = C+2; Miacondizione4 = C-2; endif;
if T = 1110 then Miacondizione5 = C+2; Miacondizione6 = C-2; endif;
if T = 1210 then Miacondizione7 = C+2; Miacondizione8 = C-2; endif;
if T = 1310 then Miacondizione9 = C+2; Miacondizione10= C-2; endif;
if T = 1410 then Miacondizione11= C+2; Miacondizione12= C-2; endif;
if T = 1510 then Miacondizione13 =C+2; Miacondizione14= C-2; endif;
if T = 1610 then Miacondizione15 =C+2; Miacondizione16= C-2; endif;
if T = 1710 then Miacondizione17 =C+2; Miacondizione18= C-2; endif;
//************************************************** ************************************************** *********************
//Non si riesce a capire perche ma se metto il controllo in T = non lo prende, probabilmente perche delle barre potrebbero mancare
//in assenza di contrattazione
if T >=0910 and T <= 1009 then if positiondir = 1 then semaforo0910 = 1; endif; if positiondir = - 1 then semaforo0910 = - 1; endif; endif;
if T >=1010 and T <= 1109 then if positiondir = 1 then semaforo1010 = 1; endif; if positiondir = - 1 then semaforo1010 = - 1; endif; endif;
if T >=1110 and T <= 1209 then if positiondir = 1 then semaforo1110 = 1; endif; if positiondir = - 1 then semaforo1110 = - 1; endif; endif;
if T >=1210 and T <= 1309 then if positiondir = 1 then semaforo1210 = 1; endif; if positiondir = - 1 then semaforo1210 = - 1; endif; endif;
if T >=1310 and T <= 1409 then if positiondir = 1 then semaforo1310 = 1; endif; if positiondir = - 1 then semaforo1310 = - 1; endif; endif;
if T >=1410 and T <= 1509 then if positiondir = 1 then semaforo1410 = 1; endif; if positiondir = - 1 then semaforo1410 = - 1; endif; endif;
if T >=1510 and T <= 1609 then if positiondir = 1 then semaforo1510 = 1; endif; if positiondir = - 1 then semaforo1510 = - 1; endif; endif;
if T >=1610 and T <= 1709 then if positiondir = 1 then semaforo1610 = 1; endif; if positiondir = - 1 then semaforo1610 = - 1; endif; endif;
if T >=1710 and T <= 1730 then if positiondir = 1 then semaforo1710 = 1; endif; if positiondir = - 1 then semaforo1710 = - 1; endif; endif;
//************************************************** ************************************************** ***************************************
//Identifica il livello del ritracciamento
//Con vettoreposizione mi salvo la posizione del sistema in ogni barra
//Se la posizione attuale è flat e la precedente era long e lastopisstop = true vuole dire (fino a quando non attiviamo lo stoploss che
//è uscito in trailing
vettoreposizione = positiondir;
if vettoreposizione = 0 and vettoreposizione[1] = 1  and LastopIsStop = true then valoreritracciamento = valexit;
               if (CompareTime(09, 10, 0) > 0) and (CompareTime(10,09, 0) < 0) then Miacondizione1 = valexit + 1; semaforo0910 = 0; endif;
               if (CompareTime(10, 10, 0) > 0) and (CompareTime(11,09, 0) < 0) then Miacondizione3 = valexit + 1; semaforo1010 = 0; endif;
               if (CompareTime(11, 10, 0) > 0) and (CompareTime(12,09, 0) < 0) then Miacondizione5 = valexit + 1; semaforo1110 = 0; endif;
               if (CompareTime(12, 10, 0) > 0) and (CompareTime(13,09, 0) < 0) then Miacondizione7 = valexit + 1; semaforo1210 = 0; endif;
               if (CompareTime(13, 10, 0) > 0) and (CompareTime(14,09, 0) < 0) then Miacondizione9 = valexit + 1; semaforo1310 = 0; endif;
               if (CompareTime(14, 10, 0) > 0) and (CompareTime(15,09, 0) < 0) then Miacondizione11= valexit + 1; semaforo1410 = 0; endif;
               if (CompareTime(15, 10, 0) > 0) and (CompareTime(16,09, 0) < 0) then Miacondizione13= valexit + 1; semaforo1510 = 0; endif;
               if (CompareTime(16, 10, 0) > 0) and (CompareTime(17,09, 0) < 0) then Miacondizione15= valexit + 1; semaforo1610 = 0; endif;
               if (CompareTime(17, 10, 0) > 0) and (CompareTime(17,30, 0) < 0) then Miacondizione17= valexit + 1; semaforo1710 = 0; endif;
       endif;
 
if vettoreposizione = 0 and vettoreposizione[1] = -1 and LastopIsStop = true then valoreritracciamento = valexit;
               if (CompareTime(09, 10, 0) > 0) and (CompareTime(10,09, 0) < 0) then Miacondizione2 = valexit - 1; semaforo0910 = 0; endif;
               if (CompareTime(10, 10, 0) > 0) and (CompareTime(11,09, 0) < 0) then Miacondizione4 = valexit - 1; semaforo1010 = 0; endif;
               if (CompareTime(11, 10, 0) > 0) and (CompareTime(12,09, 0) < 0) then Miacondizione6 = valexit - 1; semaforo1110 = 0; endif;
               if (CompareTime(12, 10, 0) > 0) and (CompareTime(13,09, 0) < 0) then Miacondizione8 = valexit - 1; semaforo1210 = 0; endif;
               if (CompareTime(13, 10, 0) > 0) and (CompareTime(14,09, 0) < 0) then Miacondizione10= valexit - 1; semaforo1310 = 0; endif;
               if (CompareTime(14, 10, 0) > 0) and (CompareTime(15,09, 0) < 0) then Miacondizione12= valexit - 1; semaforo1410 = 0; endif;
               if (CompareTime(15, 10, 0) > 0) and (CompareTime(16,09, 0) < 0) then Miacondizione14= valexit - 1; semaforo1510 = 0; endif;
               if (CompareTime(16, 10, 0) > 0) and (CompareTime(17,09, 0) < 0) then Miacondizione16= valexit - 1; semaforo1610 = 0; endif;
               if (CompareTime(17, 10, 0) > 0) and (CompareTime(17,30, 0) < 0) then Miacondizione18= valexit - 1; semaforo1710 = 0; endif;
       endif;
//************************************************** ************************************************** **********************************************
if (CompareTime(09, 10, 0) > 0) and (CompareTime(10,09, 0) < 0) then
if C > Miacondizione1 and semaforo0910 <> 1  then EnterLong(NextBar, AtOpen); semaforo0910 = 1;  endif;
if C < Miacondizione2 and semaforo0910 <> -1 then EnterShort(NextBar,AtOpen); semaforo0910 = -1; endif;
endif;
if (CompareTime(10, 10, 0) > 0) and(CompareTime(11,09, 0) < 0) then
if C > Miacondizione3 and semaforo1010 <> 1  then EnterLong(NextBar, AtOpen); semaforo1010 = 1;   endif;
if C < Miacondizione4 and semaforo1010 <> -1 then EnterShort(NextBar,AtOpen); semaforo1010 = -1; endif;
endif;
if (CompareTime(11, 10, 0) > 0) and (CompareTime(12,09, 0) < 0) then
if C > Miacondizione5 and semaforo1110 <> 1  then EnterLong(NextBar, AtOpen); semaforo1110 = 1;   endif;
if C < Miacondizione6 and semaforo1110 <> -1 then EnterShort(NextBar,AtOpen); semaforo1110 = -1; endif;
endif;
if (CompareTime(12, 10, 0) > 0) and (CompareTime(13,09, 0) < 0) then
if C > Miacondizione7 and semaforo1210 <> 1  then EnterLong(NextBar, AtOpen); semaforo1210 = 1;   endif;
if C < Miacondizione8 and semaforo1210 <> -1 then EnterShort(NextBar,AtOpen); semaforo1210 = -1; endif;
endif;
if (CompareTime(13, 10, 0) > 0) and (CompareTime(14,09, 0) < 0) then
if C > Miacondizione9 and semaforo1310 <> 1  then EnterLong(NextBar, AtOpen); semaforo1310 = 1;   endif;
if C < Miacondizione10 and semaforo1310 <>-1 then EnterShort(NextBar,AtOpen); semaforo1310 = -1;endif;
endif;
if (CompareTime(14, 10, 0) > 0) and (CompareTime(15,09, 0) < 0) then
if C > Miacondizione11 and semaforo1410 <> 1 then EnterLong(NextBar, AtOpen); semaforo1410 = 1;  endif;
if C < Miacondizione12 and semaforo1410 <>-1 then EnterShort(NextBar,AtOpen); semaforo1410 = -1;endif;
endif;
if (CompareTime(15, 10, 0) > 0) and (CompareTime(16,09, 0) < 0) then
if C > Miacondizione13 and semaforo1510 <> 1 then EnterLong(NextBar, AtOpen); semaforo1510 = 1;   endif;
if C < Miacondizione14 and semaforo1510 <>-1 then EnterShort(NextBar,AtOpen); semaforo1510 = -1; endif;
endif;
if (CompareTime(16, 10, 0) > 0) and (CompareTime(17,09, 0) < 0) then
if C > Miacondizione15 and semaforo1610 <> 1 then EnterLong(NextBar, AtOpen); semaforo1610 = 1;   endif;
if C < Miacondizione16 and semaforo1610 <>-1 then EnterShort(NextBar,AtOpen); semaforo1610 = -1; endif;
endif;
if (CompareTime(17, 10, 0) > 0) and (CompareTime(17,30, 0) < 0) then
if C > Miacondizione17 and semaforo1710 <> 1 then EnterLong(NextBar, AtOpen); semaforo1710 = 1;   endif;
if C < Miacondizione18 and semaforo1710 <>-1 then EnterShort(NextBar, AtOpen);semaforo1710 = -1; endif;
endif;
//************************************************** ************************************************** **************************************************
 
if t>=1732 then
if positiondir=1 then
exitlong(bar,atclose);
endif;
if positiondir=-1 then
exitshort(bar,atclose);
endif;
endif;
if lastbar = true then
Semaforo0910 = 0;
Semaforo1010 = 0;
semaforo1110 = 0;
Semaforo1210 = 0;
semaforo1310 = 0;
semaforo1410 = 0;
Semaforo1510 = 0;
semaforo1610 = 0;
semaforo1710 = 0;
endif;
Indzona1 = CreateViewport(100, 0, true);
 
//PlotChart (miacondizione1, 0, fuchsia, solid, 3);
//PlotChart (valoreritracciamento, 0, black, solid, 2);
//PlotChart (e, 0, black, solid, 2);



Grazie per la disponibilita, lo ho testato ma i risultati sono deludenti, ovvero negativi.
 

solospread

Forumer storico
Ho inserito due filtri alla versione di pag.183 . In 10 gg si guadagnano circa 560 punti , ma la cosa piu' importante è la riduzione del numero di operazioni, circa una decina in meno.Il TS è ulteriormente migliorabile con le ultime due stringhe che ho inserito in fondo al listato prima di PlotChart. Adesso non sono operative cioè non producono alcun effetto sulle istruzioni del TS se non quelle di essere visualizzate sul grafico quando plottate il Ts. Qui ci vuole il nostro superesperto in semafori che è senz'altro capace di settarle nel modo giusto. Io ho provato ad inserirle nella routine ma mi schiacciano il grafico e deve esserci qualcosa che non và. In pratica quello che ho scritto e vorrei che il TS eseguisse è questo.
1) Siamo LONG,si esce in Take e se si vuole rientrare nella stessa direzione il TS rientra al valore di Valexit+10. E questo và bene.
2) Il problema si pone se dopo l'uscita in Take noi vogliamo entrare in posizione opposta.Per come è impostato ora (versione pag. 183), il TS prende come livello di entrata lo step precedente l'uscita in take e se questo è molto distante dal livello di adesso il TS rimane flat fino a raggiungere il livello oppure si aggiora al prossimo step.
3) Quello che invece voglio che faccia è che se esce in Takeprofit prenda come nuovo pivot il valore di uscita dell'ultima operazione ed invalidi il Pivot che comanda questo intervallo e che possa quindi entrare al nuovo valore di rientro (Rientro = valexit+10;valexit-10).
Codice:
// TS: CICLONE_SOLOSPREAD_ROBOM_1949
Var: miavar(0), Miacondizione1,Miacondizione2,miacondizione3,Miacondizione4,Miacondizione5,Miacondizione6;
Var: Miacondizione7,Miacondizione8, Miacondizione9,Miacondizione10, Miacondizione11,Miacondizione12, Miacondizione13,Miacondizione14;
Var: Miacondizione15,Miacondizione16,Miacondizione17,miacondizione18,STOP;
Var: Semaforo0910(0), semaforo1010(0), semaforo1110(0), Semaforo1210(0), semaforo1310(0), semaforo1410(0),Semaforo1510(0), semaforo1610(0), semaforo1710(0);
Var: ultimaposizione(0), indzona1(0), valoreritracciamento(0), valore(0), ultimoprezzo(0), barra(0), ope1(0), min1(0), max1(0), clo1(0), ritracciamentocalcolato(0);
Var: miavel, mio10, vettorestop(0), pippo(0), vettoreposizione(0),e,MioHight,MioLow,valorerientro;


//installtrailingprofit (inperc,0.8,0.1,trailing);
InstalltakeProfit(INPERC, 0.75, "take");

MioHight = HHV(REF(H,4),1);
MioLow = LLV(REF(L,4),1);
//************************************************** ************************************************** ************
if T = 0910 then Miacondizione1 = C+20; Miacondizione2 = C-20; endif;
if T = 1010 then Miacondizione3 = C+20; Miacondizione4 = C-20; endif;
if T = 1110 then Miacondizione5 = C+20; Miacondizione6 = C-20; endif;
if T = 1210 then Miacondizione7 = C+20; Miacondizione8 = C-20; endif;
if T = 1310 then Miacondizione9 = C+20; Miacondizione10= C-20; endif;
if T = 1410 then Miacondizione11= C+20; Miacondizione12= C-20; endif;
if T = 1510 then Miacondizione13 =C+20; Miacondizione14= C-20; endif;
if T = 1610 then Miacondizione15 =C+20; Miacondizione16= C-20; endif;
if T = 1710 then Miacondizione17 =C+20; Miacondizione18= C-20; endif;
//************************************************** ************************************************** *********************
//Non si riesce a capire perche ma se metto il controllo in T = non lo prende, probabilmente perche delle barre potrebbero mancare
//in assenza di contrattazione
if T >=0910 and T <= 1009 then if positiondir = 1 then semaforo0910 = 1; endif; if positiondir = - 1 then semaforo0910 = - 1; endif; endif;
if T >=1010 and T <= 1109 then if positiondir = 1 then semaforo1010 = 1; endif; if positiondir = - 1 then semaforo1010 = - 1; endif; endif;
if T >=1110 and T <= 1209 then if positiondir = 1 then semaforo1110 = 1; endif; if positiondir = - 1 then semaforo1110 = - 1; endif; endif;
if T >=1210 and T <= 1309 then if positiondir = 1 then semaforo1210 = 1; endif; if positiondir = - 1 then semaforo1210 = - 1; endif; endif;
if T >=1310 and T <= 1409 then if positiondir = 1 then semaforo1310 = 1; endif; if positiondir = - 1 then semaforo1310 = - 1; endif; endif;
if T >=1410 and T <= 1509 then if positiondir = 1 then semaforo1410 = 1; endif; if positiondir = - 1 then semaforo1410 = - 1; endif; endif;
if T >=1510 and T <= 1609 then if positiondir = 1 then semaforo1510 = 1; endif; if positiondir = - 1 then semaforo1510 = - 1; endif; endif;
if T >=1610 and T <= 1709 then if positiondir = 1 then semaforo1610 = 1; endif; if positiondir = - 1 then semaforo1610 = - 1; endif; endif;
if T >=1710 and T <= 1730 then if positiondir = 1 then semaforo1710 = 1; endif; if positiondir = - 1 then semaforo1710 = - 1; endif; endif;
//************************************************** ************************************************** ***************************************
//Identifica il livello del ritracciamento
//Con vettoreposizione mi salvo la posizione del sistema in ogni barra
//Se la posizione attuale è flat e la precedente era long e lastopisstop = true vuole dire (fino a quando non attiviamo lo stoploss che
//è uscito in trailing
vettoreposizione = positiondir;
if vettoreposizione = 0 and vettoreposizione[1] = 1  and LastopIsStop = true then valoreritracciamento = valexit;

               if (CompareTime(09, 10, 0) > 0) and (CompareTime(10,09, 0) < 0) then Miacondizione1 = valexit + 10; semaforo0910 = 0; endif;
               if (CompareTime(10, 10, 0) > 0) and (CompareTime(11,09, 0) < 0) then Miacondizione3 = valexit + 10; semaforo1010 = 0; endif;
               if (CompareTime(11, 10, 0) > 0) and (CompareTime(12,09, 0) < 0) then Miacondizione5 = valexit + 10; semaforo1110 = 0; endif;
               if (CompareTime(12, 10, 0) > 0) and (CompareTime(13,09, 0) < 0) then Miacondizione7 = valexit + 10; semaforo1210 = 0; endif;
               if (CompareTime(13, 10, 0) > 0) and (CompareTime(14,09, 0) < 0) then Miacondizione9 = valexit + 10; semaforo1310 = 0; endif;
               if (CompareTime(14, 10, 0) > 0) and (CompareTime(15,09, 0) < 0) then Miacondizione11= valexit + 10; semaforo1410 = 0; endif;
               if (CompareTime(15, 10, 0) > 0) and (CompareTime(16,09, 0) < 0) then Miacondizione13= valexit + 10; semaforo1510 = 0; endif;
               if (CompareTime(16, 10, 0) > 0) and (CompareTime(17,09, 0) < 0) then Miacondizione15= valexit + 10; semaforo1610 = 0; endif;
               if (CompareTime(17, 10, 0) > 0) and (CompareTime(17,30, 0) < 0) then Miacondizione17= valexit + 10; semaforo1710 = 0; endif;
       endif;

if vettoreposizione = 0 and vettoreposizione[1] = -1 and LastopIsStop = true then valoreritracciamento = valexit;

               if (CompareTime(09, 10, 0) > 0) and (CompareTime(10,09, 0) < 0) then Miacondizione2 = valexit - 10; semaforo0910 = 0; endif;
               if (CompareTime(10, 10, 0) > 0) and (CompareTime(11,09, 0) < 0) then Miacondizione4 = valexit - 10; semaforo1010 = 0; endif;
               if (CompareTime(11, 10, 0) > 0) and (CompareTime(12,09, 0) < 0) then Miacondizione6 = valexit - 10; semaforo1110 = 0; endif;
               if (CompareTime(12, 10, 0) > 0) and (CompareTime(13,09, 0) < 0) then Miacondizione8 = valexit - 10; semaforo1210 = 0; endif;
               if (CompareTime(13, 10, 0) > 0) and (CompareTime(14,09, 0) < 0) then Miacondizione10= valexit - 10; semaforo1310 = 0; endif;
               if (CompareTime(14, 10, 0) > 0) and (CompareTime(15,09, 0) < 0) then Miacondizione12= valexit - 10; semaforo1410 = 0; endif;
               if (CompareTime(15, 10, 0) > 0) and (CompareTime(16,09, 0) < 0) then Miacondizione14= valexit - 10; semaforo1510 = 0; endif;
               if (CompareTime(16, 10, 0) > 0) and (CompareTime(17,09, 0) < 0) then Miacondizione16= valexit - 10; semaforo1610 = 0; endif;
               if (CompareTime(17, 10, 0) > 0) and (CompareTime(17,30, 0) < 0) then Miacondizione18= valexit - 10; semaforo1710 = 0; endif;
       endif;

//************************************************** ************************************************** **********************************************
if (CompareTime(09, 10, 0) > 0) and (CompareTime(10,09, 0) < 0) then
if C > Miacondizione1 and semaforo0910 <> 1 and C > MioHight and C > C[1] then EnterLong(NextBar, AtOpen); semaforo0910 = 1;  endif;
if C < Miacondizione2 and semaforo0910 <> -1 and C < MioHight and C < C[1]then EnterShort(NextBar,AtOpen); semaforo0910 = -1; endif;
endif;
if (CompareTime(10, 10, 0) > 0) and(CompareTime(11,09, 0) < 0) then
if C > Miacondizione3 and semaforo1010 <> 1  and C > MioHight and C > C[1] then EnterLong(NextBar, AtOpen); semaforo1010 = 1;   endif;
if C < Miacondizione4 and semaforo1010 <> -1 and C < MioHight  and C < C[1] then EnterShort(NextBar,AtOpen); semaforo1010 = -1; endif;
endif;
if (CompareTime(11, 10, 0) > 0) and (CompareTime(12,09, 0) < 0) then
if C > Miacondizione5 and semaforo1110 <> 1  and C > MioHight and C > C[1] then EnterLong(NextBar, AtOpen); semaforo1110 = 1;   endif;
if C < Miacondizione6 and semaforo1110 <> -1  and C < MioHight and C < C[1] then EnterShort(NextBar,AtOpen); semaforo1110 = -1; endif;
endif;
if (CompareTime(12, 10, 0) > 0) and (CompareTime(13,09, 0) < 0) then
if C > Miacondizione7 and semaforo1210 <> 1 and C > MioHight and C > C[1] then EnterLong(NextBar, AtOpen); semaforo1210 = 1;   endif;
if C < Miacondizione8 and semaforo1210 <> -1 and C < MioHight and C < C[1] then EnterShort(NextBar,AtOpen); semaforo1210 = -1; endif;
endif;
if (CompareTime(13, 10, 0) > 0) and (CompareTime(14,09, 0) < 0) then
if C > Miacondizione9 and semaforo1310 <> 1 and C > MioHight and C > C[1] then EnterLong(NextBar, AtOpen); semaforo1310 = 1;   endif;
if C < Miacondizione10 and semaforo1310 <>-1 and C < MioHight and C < C[1] then EnterShort(NextBar,AtOpen); semaforo1310 = -1;endif;
endif;
if (CompareTime(14, 10, 0) > 0) and (CompareTime(15,09, 0) < 0) then
if C > Miacondizione11 and semaforo1410 <> 1 and C > MioHight and C > C[1]then EnterLong(NextBar, AtOpen); semaforo1410 = 1;  endif;
if C < Miacondizione12 and semaforo1410 <>-1 and C < MioHight and C < C[1]then EnterShort(NextBar,AtOpen); semaforo1410 = -1;endif;
endif;
if (CompareTime(15, 10, 0) > 0) and (CompareTime(16,09, 0) < 0) then
if C > Miacondizione13 and semaforo1510 <> 1 and C > MioHight and C > C[1] then EnterLong(NextBar, AtOpen); semaforo1510 = 1;   endif;
if C < Miacondizione14 and semaforo1510 <>-1 and C < MioHight and C < C[1] then EnterShort(NextBar,AtOpen); semaforo1510 = -1; endif;
endif;
if (CompareTime(16, 10, 0) > 0) and (CompareTime(17,09, 0) < 0) then
if C > Miacondizione15 and semaforo1610 <> 1 and C > MioHight and C > C[1] then EnterLong(NextBar, AtOpen); semaforo1610 = 1;   endif;
if C < Miacondizione16 and semaforo1610 <>-1 and C < MioHight and C < C[1] then EnterShort(NextBar,AtOpen); semaforo1610 = -1; endif;
endif;
if (CompareTime(17, 10, 0) > 0) and (CompareTime(17,30, 0) < 0) then
if C > Miacondizione17 and semaforo1710 <> 1 and C > MioHight and C > C[1] then EnterLong(NextBar, AtOpen); semaforo1710 = 1;   endif;
if C < Miacondizione18 and semaforo1710 <>-1 and C < MioHight and C < C[1] then EnterShort(NextBar, AtOpen);semaforo1710 = -1; endif;
endif;
//************************************************** ************************************************** *if t>=1732 then
if t>=1732 then
if positiondir=1 then
exitlong(bar,atclose);
endif;
if positiondir=-1 then
exitshort(bar,atclose);
endif;
endif;
if T >=0910 and T <= 1730  and vettoreposizione[1] = 1  and LastopIsStop = true then valorerientro = valexit-10; endif;
if T >=0910 and T <= 1730  and vettoreposizione[1] = -1  and LastopIsStop = true then valorerientro = valexit+10; endif;
PlotChart(valoreritracciamento,0,red,solid,2);
plotChart(valorerientro,0,green,solid,2);
 
Ultima modifica:

solospread

Forumer storico
Per meglio spiegare il concetto sopraesposto metto questo grafico dove si notano chiaramente le zone in cui il TS flatta. Con la condizione che ho spiegato sopra questi vuoti sono facilmente colmabili con trade vincenti. Un altro pregio di questo Ts è che non ha bisogno di stoploss in quanto si autoregola con un DD minimo.

ScreenHunter_01 Jan. 11 13.25.gif
 

Ciclone21

Forumer attivo
Grazie per la disponibilita, lo ho testato ma i risultati sono deludenti, ovvero negativi.

Eurostox
Prova questo: timeframe 5 minuti.

Ciclone21

//TS: Ciclone_Solospread_Robomeurex
Var: miavar(0), Miacondizione1,Miacondizione2,miacondizione3,Miacondizione4,Miacondizione5,Miacondizione6;
Var: Miacondizione7,Miacondizione8, Miacondizione9,Miacondizione10, Miacondizione11,Miacondizione12, Miacondizione13,Miacondizione14;
Var: Miacondizione15,Miacondizione16,Miacondizione17,miacondizione18,Miacondizione19, Miacondizione20, Miacondizione21, Miacondizione22, Miacondizione23, Miacondizione24, Miacondizione25, Miacondizione26, Miacondizione27, Miacondizione28, STOP;
Var: Semaforo0810(0),Semaforo0910(0), semaforo1010(0), semaforo1110(0), Semaforo1210(0), semaforo1310(0), semaforo1410(0),Semaforo1510(0), semaforo1610(0), semaforo1710(0), Semaforo1810(0), Semaforo1910(0), Semaforo2010(0), Semaforo2110(0);
Var: ultimaposizione(0), indzona1(0), valoreritracciamento(0), valore(0), ultimoprezzo(0), barra(0), ope1(0), min1(0), max1(0), clo1(0);
Var: miavel, mio10, vettorestop(0), pippo(0), miaregr;
miavel = STOCHD (C, 3, 10, 14);
miaregr = RegrLin(C, 6);

//************************************************** ************************************************** ************

if T = 0810 then Miacondizione1 = C+2; Miacondizione2 = C-2; endif;
if T = 0910 then Miacondizione3 = C+2; Miacondizione4 = C-2; endif;
if T = 1010 then Miacondizione5 = C+2; Miacondizione6 = C-2; endif;
if T = 1110 then Miacondizione7 = C+2; Miacondizione8 = C-2; endif;
if T = 1210 then Miacondizione9 = C+2; Miacondizione10 = C-2; endif;
if T = 1310 then Miacondizione11 = C+2; Miacondizione12= C-2; endif;
if T = 1410 then Miacondizione13= C+2; Miacondizione14= C-2; endif;
if T = 1510 then Miacondizione15 =C+2; Miacondizione16= C-2; endif;
if T = 1610 then Miacondizione17 =C+2; Miacondizione18= C-2; endif;
if T = 1710 then Miacondizione19 =C+2; Miacondizione20= C-2; endif;
if T = 1810 then Miacondizione21 =C+2; Miacondizione22= C-2; endif;
if T = 1910 then Miacondizione23 =C+2; Miacondizione24= C-2; endif;
if T = 2010 then Miacondizione25 =C+2; Miacondizione26= C-2; endif;
if T = 2110 then Miacondizione27 =C+2; Miacondizione28= C-2; endif;
//************************************************** ************************************************** *********************

//Non si riesce a capire perche ma se metto il controllo in T = non lo prende, probabilmente perche delle barre potrebbero mancare
//in assenza di contrattazione
if T >=0810 and T <= 0909 then if positiondir = 1 then semaforo0810 = 1; endif; if positiondir = - 1 then semaforo0810 = - 1; endif; endif;
if T >=0910 and T <= 1009 then if positiondir = 1 then semaforo0910 = 1; endif; if positiondir = - 1 then semaforo0910 = - 1; endif; endif;
if T >=1010 and T <= 1109 then if positiondir = 1 then semaforo1010 = 1; endif; if positiondir = - 1 then semaforo1010 = - 1; endif; endif;
if T >=1110 and T <= 1209 then if positiondir = 1 then semaforo1110 = 1; endif; if positiondir = - 1 then semaforo1110 = - 1; endif; endif;
if T >=1210 and T <= 1309 then if positiondir = 1 then semaforo1210 = 1; endif; if positiondir = - 1 then semaforo1210 = - 1; endif; endif;
if T >=1310 and T <= 1409 then if positiondir = 1 then semaforo1310 = 1; endif; if positiondir = - 1 then semaforo1310 = - 1; endif; endif;
if T >=1410 and T <= 1509 then if positiondir = 1 then semaforo1410 = 1; endif; if positiondir = - 1 then semaforo1410 = - 1; endif; endif;
if T >=1510 and T <= 1609 then if positiondir = 1 then semaforo1510 = 1; endif; if positiondir = - 1 then semaforo1510 = - 1; endif; endif;
if T >=1610 and T <= 1709 then if positiondir = 1 then semaforo1610 = 1; endif; if positiondir = - 1 then semaforo1610 = - 1; endif; endif;
if T >=1710 and T <= 1809 then if positiondir = 1 then semaforo1710 = 1; endif; if positiondir = - 1 then semaforo1710 = - 1; endif; endif;
if T >=1810 and T <= 1909 then if positiondir = 1 then semaforo1810 = 1; endif; if positiondir = - 1 then semaforo1810 = - 1; endif; endif;
if T >=1910 and T <= 2009 then if positiondir = 1 then semaforo1910 = 1; endif; if positiondir = - 1 then semaforo1910 = - 1; endif; endif;
if T >=2010 and T <= 2109 then if positiondir = 1 then semaforo2010 = 1; endif; if positiondir = - 1 then semaforo2010 = - 1; endif; endif;
if T >=2110 and T <= 2159 then if positiondir = 1 then semaforo2110 = 1; endif; if positiondir = - 1 then semaforo2110 = - 1; endif; endif;

//************************************************** ************************************************** ***************************************
//Identifica il livello del ritracciamento
if lastopisstop = false then vettorestop = 0; colorbar(lime); endif;
if lastopisstop = true then vettorestop = 1; colorbar(red); endif;
if vettorestop[1] <> vettorestop and vettorestop = 1 then
if ultimaposizione = 1 then valoreritracciamento = H[1];
if (CompareTime(08, 10, 0) > 0) and (CompareTime(09,09, 0) < 0) then Miacondizione1 = H[1] + 2; semaforo0810 = 0; endif;
if (CompareTime(09, 10, 0) > 0) and (CompareTime(10,09, 0) < 0) then Miacondizione3 = H[1] + 2; semaforo0910 = 0; endif;
if (CompareTime(10, 10, 0) > 0) and (CompareTime(11,09, 0) < 0) then Miacondizione5 = H[1] + 2; semaforo1010 = 0; endif;
if (CompareTime(11, 10, 0) > 0) and (CompareTime(12,09, 0) < 0) then Miacondizione7 = H[1] + 2; semaforo1110 = 0; endif;
if (CompareTime(12, 10, 0) > 0) and (CompareTime(13,09, 0) < 0) then Miacondizione9 = H[1] + 2; semaforo1210 = 0; endif;
if (CompareTime(13, 10, 0) > 0) and (CompareTime(14,09, 0) < 0) then Miacondizione11 = H[1] + 2; semaforo1310 = 0; endif;
if (CompareTime(14, 10, 0) > 0) and (CompareTime(15,09, 0) < 0) then Miacondizione13= H[1] + 2; semaforo1410 = 0; endif;
if (CompareTime(15, 10, 0) > 0) and (CompareTime(16,09, 0) < 0) then Miacondizione15= H[1] + 2; semaforo1510 = 0; endif;
if (CompareTime(16, 10, 0) > 0) and (CompareTime(17,09, 0) < 0) then Miacondizione17= H[1] + 2; semaforo1610 = 0; endif;
if (CompareTime(17, 10, 0) > 0) and (CompareTime(18,09, 0) < 0) then Miacondizione19= H[1] + 2; semaforo1710 = 0; endif;
if (CompareTime(18, 10, 0) > 0) and (CompareTime(19,09, 0) < 0) then Miacondizione21= H[1] + 2; semaforo1810 = 0; endif;
if (CompareTime(19, 10, 0) > 0) and (CompareTime(20,09, 0) < 0) then Miacondizione23= H[1] + 2; semaforo1910 = 0; endif;
if (CompareTime(20, 10, 0) > 0) and (CompareTime(21,09, 0) < 0) then Miacondizione25= H[1] + 2; semaforo2010 = 0; endif;
if (CompareTime(21, 10, 0) > 0) and (CompareTime(21,59, 0) < 0) then Miacondizione27= H[1] + 2; semaforo2110 = 0; endif;
endif;
if ultimaposizione = -1 then valoreritracciamento = L[1];
if (CompareTime(08, 10, 0) > 0) and (CompareTime(09,09, 0) < 0) then Miacondizione2 = L[1] - 2; semaforo0810 = 0; endif;
if (CompareTime(09, 10, 0) > 0) and (CompareTime(10,09, 0) < 0) then Miacondizione4 = L[1] - 2; semaforo0910 = 0; endif;
if (CompareTime(10, 10, 0) > 0) and (CompareTime(11,09, 0) < 0) then Miacondizione6 = L[1] - 2; semaforo1010 = 0; endif;
if (CompareTime(11, 10, 0) > 0) and (CompareTime(12,09, 0) < 0) then Miacondizione8 = L[1] - 2; semaforo1110 = 0; endif;
if (CompareTime(12, 10, 0) > 0) and (CompareTime(13,09, 0) < 0) then Miacondizione10 = L[1] - 2; semaforo1210 = 0; endif;
if (CompareTime(13, 10, 0) > 0) and (CompareTime(14,09, 0) < 0) then Miacondizione12= L[1] - 2; semaforo1310 = 0; endif;
if (CompareTime(14, 10, 0) > 0) and (CompareTime(15,09, 0) < 0) then Miacondizione14= L[1] - 2; semaforo1410 = 0; endif;
if (CompareTime(15, 10, 0) > 0) and (CompareTime(16,09, 0) < 0) then Miacondizione16= L[1] - 2; semaforo1510 = 0; endif;
if (CompareTime(16, 10, 0) > 0) and (CompareTime(17,09, 0) < 0) then Miacondizione18= L[1] - 2; semaforo1610 = 0; endif;
if (CompareTime(17, 10, 0) > 0) and (CompareTime(18,09, 0) < 0) then Miacondizione20= L[1] - 2; semaforo1710 = 0; endif;
if (CompareTime(18, 10, 0) > 0) and (CompareTime(19,09, 0) < 0) then Miacondizione22= L[1] - 2; semaforo1810 = 0; endif;
if (CompareTime(19, 10, 0) > 0) and (CompareTime(20,09, 0) < 0) then Miacondizione24= L[1] - 2; semaforo1910 = 0; endif;
if (CompareTime(20, 10, 0) > 0) and (CompareTime(21,09, 0) < 0) then Miacondizione26= L[1] - 2; semaforo2010 = 0; endif;
if (CompareTime(21, 10, 0) > 0) and (CompareTime(21,59, 0) < 0) then Miacondizione28= L[1] - 2; semaforo2110 = 0; endif;
endif;
endif;
//************************************************** ************************************************** **********************************************


if (CompareTime(08, 10, 0) > 0) and (CompareTime(09,09, 0) < 0) then
if C > Miacondizione1 and semaforo0810 <> 1 and miaregr > C[1] and miavel > 30 then EnterLong(NextBar, AtOpen); semaforo0810 = 1; ultimaposizione = 1; endif;
if C < Miacondizione2 and semaforo0810 <> -1 and miaregr < C[1]and miavel < 60 then EnterShort(NextBar,AtOpen); semaforo0810 = -1; ultimaposizione = -1; endif;
endif;
if (CompareTime(09, 10, 0) > 0) and (CompareTime(10,09, 0) < 0) then
if C > Miacondizione3 and semaforo0910 <> 1 and miaregr > C[1] and miavel > 30 then EnterLong(NextBar, AtOpen); semaforo0910 = 1; ultimaposizione = 1; endif;
if C < Miacondizione4 and semaforo0910 <> -1 and miaregr < C[1]and miavel < 60 then EnterShort(NextBar,AtOpen); semaforo0910 = -1; ultimaposizione = -1; endif;
endif;
if (CompareTime(10, 10, 0) > 0) and(CompareTime(11,09, 0) < 0) then
if C > Miacondizione5 and semaforo1010 <> 1 and miaregr > C[1]and miavel > 30 then EnterLong(NextBar, AtOpen); semaforo1010 = 1; ultimaposizione = 1; endif;
if C < Miacondizione6 and semaforo1010 <> -1 and miaregr < C[1]and miavel < 60 then EnterShort(NextBar,AtOpen); semaforo1010 = -1; ultimaposizione = -1; endif;
endif;
if (CompareTime(11, 10, 0) > 0) and (CompareTime(12,09, 0) < 0) then
if C > Miacondizione7 and semaforo1110 <> 1 and miaregr > C[1]and miavel > 30 then EnterLong(NextBar, AtOpen); semaforo1110 = 1; ultimaposizione = 1; endif;
if C < Miacondizione8 and semaforo1110 <> -1 and miaregr < C[1]and miavel < 60 then EnterShort(NextBar,AtOpen); semaforo1110 = -1; ultimaposizione = -1; endif;
endif;
if (CompareTime(12, 10, 0) > 0) and (CompareTime(13,09, 0) < 0) then
if C > Miacondizione9 and semaforo1210 <> 1 and miaregr > C[1]and miavel > 30 then EnterLong(NextBar, AtOpen); semaforo1210 = 1; ultimaposizione = 1; endif;
if C < Miacondizione10 and semaforo1210 <> -1 and miaregr < C[1]and miavel < 60 then EnterShort(NextBar,AtOpen); semaforo1210 = -1; ultimaposizione = -1; endif;
endif;
if (CompareTime(13, 10, 0) > 0) and (CompareTime(14,09, 0) < 0) then
if C > Miacondizione11 and semaforo1310 <> 1 and miaregr > C[1]and miavel > 30 then EnterLong(NextBar, AtOpen); semaforo1310 = 1; ultimaposizione = 1; endif;
if C < Miacondizione12 and semaforo1310 <> -1 and miaregr < C[1]and miavel < 60 then EnterShort(NextBar,AtOpen); semaforo1310 = -1; ultimaposizione = -1; endif;
endif;
if (CompareTime(14, 10, 0) > 0) and (CompareTime(15,09, 0) < 0) then
if C > Miacondizione13 and semaforo1410 <> 1 and miaregr > C[1]and miavel > 30 then EnterLong(NextBar, AtOpen); semaforo1410 = 1; ultimaposizione = 1; endif;
if C < Miacondizione14 and semaforo1410 <> -1 and miaregr < C[1]and miavel < 60 then EnterShort(NextBar,AtOpen); semaforo1410 = -1; ultimaposizione = -1; endif;
endif;
if (CompareTime(15, 10, 0) > 0) and (CompareTime(16,09, 0) < 0) then
if C > Miacondizione15 and semaforo1510 <> 1 and miaregr > C[1]and miavel > 30 then EnterLong(NextBar, AtOpen); semaforo1510 = 1; ultimaposizione = 1; endif;
if C < Miacondizione16 and semaforo1510 <> -1 and miaregr < C[1]and miavel < 60 then EnterShort(NextBar,AtOpen); semaforo1510 = -1; ultimaposizione = -1; endif;
endif;
if (CompareTime(16, 10, 0) > 0) and (CompareTime(17,09, 0) < 0) then
if C > Miacondizione17 and semaforo1610 <> 1 and miaregr > C[1] and miavel > 30 then EnterLong(NextBar, AtOpen); semaforo1610 = 1; ultimaposizione = 1; endif;
if C < Miacondizione18 and semaforo1610 <> -1 and miaregr < C[1]and miavel < 60 then EnterShort(NextBar,AtOpen); semaforo1610 = -1; ultimaposizione = -1; endif;
endif;
if (CompareTime(17, 10, 0) > 0) and (CompareTime(18,09, 0) < 0) then
if C > Miacondizione19 and semaforo1710 <> 1 and miaregr > C[1]and miavel > 30 then EnterLong(NextBar, AtOpen); semaforo1710 = 1; ultimaposizione = 1; endif;
if C < Miacondizione20 and semaforo1710 <> -1 and miaregr < C[1]and miavel < 60 then EnterShort(NextBar, AtOpen);semaforo1710 = -1; ultimaposizione = -1; endif;
endif;
if (CompareTime(18, 10, 0) > 0) and (CompareTime(19,09, 0) < 0) then
if C > Miacondizione21 and semaforo1810 <> 1 and miaregr > C[1]and miavel > 30 then EnterLong(NextBar, AtOpen); semaforo1810 = 1; ultimaposizione = 1; endif;
if C < Miacondizione22 and semaforo1810 <> -1 and miaregr < C[1]and miavel < 60 then EnterShort(NextBar, AtOpen);semaforo1810 = -1; ultimaposizione = -1; endif;
endif;
if (CompareTime(19, 10, 0) > 0) and (CompareTime(20,09, 0) < 0) then
if C > Miacondizione23 and semaforo1910 <> 1 and miaregr > C[1]and miavel > 30 then EnterLong(NextBar, AtOpen); semaforo1910 = 1; ultimaposizione = 1; endif;
if C < Miacondizione24 and semaforo1910 <> -1 and miaregr < C[1]and miavel < 60 then EnterShort(NextBar, AtOpen);semaforo1910 = -1; ultimaposizione = -1; endif;
endif;
if (CompareTime(20, 10, 0) > 0) and (CompareTime(21,09, 0) < 0) then
if C > Miacondizione25 and semaforo2010 <> 1 and miaregr > C[1]and miavel > 30 then EnterLong(NextBar, AtOpen); semaforo2010 = 1; ultimaposizione = 1; endif;
if C < Miacondizione26 and semaforo2010 <> -1 and miaregr < C[1]and miavel < 60 then EnterShort(NextBar, AtOpen);semaforo2010 = -1; ultimaposizione = -1; endif;
endif;
if (CompareTime(21, 10, 0) > 0) and (CompareTime(21,59, 0) < 0) then
if C > Miacondizione27 and semaforo2110 <> 1 and miaregr > C[1]and miavel > 30 then EnterLong(NextBar, AtOpen); semaforo2110 = 1; ultimaposizione = 1; endif;
if C < Miacondizione28 and semaforo2110 <> -1 and miaregr < C[1]and miavel < 60 then EnterShort(NextBar, AtOpen);semaforo2110 = -1; ultimaposizione = -1; endif;
endif;

//************************************************** ************************************************** **************************************************
if t>=2159 then
if positiondir=1 then
exitlong(bar,atclose);
endif;
if positiondir=-1 then
exitshort(bar,atclose);
endif;
endif;
if lastbar = true then
Semaforo0810 = 0;
Semaforo0910 = 0;
Semaforo1010 = 0;
semaforo1110 = 0;
Semaforo1210 = 0;
semaforo1310 = 0;
semaforo1410 = 0;
Semaforo1510 = 0;
semaforo1610 = 0;
semaforo1710 = 0;
Semaforo1810 = 0;
Semaforo1910 = 0;
Semaforo2010 = 0;
Semaforo2110 = 0;
endif;

installtrailingprofit (inperc,0.8,0.1,trailing);
 

Users who are viewing this thread

Alto