x Michelangelo
//_______________________________Daniele giugno 2018___________________________//
Var: input1,input2;
Var: newday(false), mioopen(0), miomin(0), miomax(0), mioclose(0),metaieri;
Var: wmax,wmin,metaoggi,DMAX,DMIN;
Var: Pr_Ingr(0), Max_Gain(0), Max_Gain_perc(0), Gain(0);
Var: condizionelong,condizioneshort;
Var: condizionetempo;
Var: esp(2), vol;
vol = op(v,constval(esp),pow);
/////////////////////////////////////////////////////////////////////////////////////////////////////
if IsFirstBarDay then input1=H;endif;
if IsFirstBarDay then input2=L;endif;
/////////////////////////////////////////////////////////////////////////////////////////////////////
newday=GetValues(days,1,mioopen,miomin,miomax,mioclose);
metaieri= miomin+(50*(miomax-miomin))/100;
if isfirstbarday then
WMAX=H;
WMIN=L;
else
WMAX=iif(H>=WMAX[1],H,WMAX[1]);
WMIN=iif(L<=WMIN[1],L,WMIN[1]);
metaoggi=wmax-(wmax-wmin)*0.5;
endif;
/////////////////////////////////// Gain /////////////////////////////////////////////////////
if Positionvalue<>0 then
Pr_Ingr = positionValue;
if Positiondir=1 then
if (C>Max_Gain) or (Max_Gain=0) then
Max_Gain = C;
Max_Gain_perc = ((Max_Gain-Pr_ingr)*100)/Pr_Ingr;
endif;
Gain = ((C-Pr_ingr)*100)/Pr_Ingr;
else
if (C<Max_Gain) or (Max_Gain=0) then
Max_Gain = C;
Max_Gain_perc = ((Pr_ingr-Max_Gain)*100)/Pr_Ingr;
endif;
Gain = ((Pr_ingr-C)*100)/Pr_Ingr;
endif;
else
Pr_ingr = 0;
Max_Gain = 0;
Gain = 0;
endif;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if c>highd(1) and c>input1 then condizionelong=1;endif;
if c<lowd(1) and c<input2 then condizionelong=0;endif;
if c<lowd(1) and c<input2 then condizioneshort=1;endif;
if c>highd(1) and c>input1 then condizioneshort=0;endif;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if t<=1400 or t>=1515 then condizionetempo=1;else condizionetempo=0;endif;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
{installstoploss(inperc,3.00,"SL", STARTNEXTBAR);
plotchartNoZero(getstoploss, 0, red, solid, 2);
DrawText(NEWOGG,0 , D,getstoploss , "sl",getstoploss , red, 15, 1+4,Alright);}
//////////////////////////////////////////____________LONG /SHORT___________________/////////////////////////////////////////////////////////
if condizionelong=1 and wmax>wmax[1] and wmax>wmax[2] and wmax>wmax[3] and condizionetempo=1 and vol>1/2*(vol[1]+vol[2]) then EnterLong(nextbar,atopen);endif;
if positiondir=1 and gain<-3 then exitlong (nextbar,atopen);endif;
if condizioneshort=1 and wmin<wmin[1] and wmin<wmin[2] and wmin<wmin[3] and condizionetempo=1 and vol>1/2*(vol[1]+vol[2]) then Entershort(nextbar,atopen);endif;
if positiondir=-1 and gain<-3 then exitshort (nextbar,atopen);endif;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//_______________________________Daniele giugno 2018___________________________//
Var: input1,input2;
Var: newday(false), mioopen(0), miomin(0), miomax(0), mioclose(0),metaieri;
Var: wmax,wmin,metaoggi,DMAX,DMIN;
Var: Pr_Ingr(0), Max_Gain(0), Max_Gain_perc(0), Gain(0);
Var: condizionelong,condizioneshort;
Var: condizionetempo;
Var: esp(2), vol;
vol = op(v,constval(esp),pow);
/////////////////////////////////////////////////////////////////////////////////////////////////////
if IsFirstBarDay then input1=H;endif;
if IsFirstBarDay then input2=L;endif;
/////////////////////////////////////////////////////////////////////////////////////////////////////
newday=GetValues(days,1,mioopen,miomin,miomax,mioclose);
metaieri= miomin+(50*(miomax-miomin))/100;
if isfirstbarday then
WMAX=H;
WMIN=L;
else
WMAX=iif(H>=WMAX[1],H,WMAX[1]);
WMIN=iif(L<=WMIN[1],L,WMIN[1]);
metaoggi=wmax-(wmax-wmin)*0.5;
endif;
/////////////////////////////////// Gain /////////////////////////////////////////////////////
if Positionvalue<>0 then
Pr_Ingr = positionValue;
if Positiondir=1 then
if (C>Max_Gain) or (Max_Gain=0) then
Max_Gain = C;
Max_Gain_perc = ((Max_Gain-Pr_ingr)*100)/Pr_Ingr;
endif;
Gain = ((C-Pr_ingr)*100)/Pr_Ingr;
else
if (C<Max_Gain) or (Max_Gain=0) then
Max_Gain = C;
Max_Gain_perc = ((Pr_ingr-Max_Gain)*100)/Pr_Ingr;
endif;
Gain = ((Pr_ingr-C)*100)/Pr_Ingr;
endif;
else
Pr_ingr = 0;
Max_Gain = 0;
Gain = 0;
endif;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if c>highd(1) and c>input1 then condizionelong=1;endif;
if c<lowd(1) and c<input2 then condizionelong=0;endif;
if c<lowd(1) and c<input2 then condizioneshort=1;endif;
if c>highd(1) and c>input1 then condizioneshort=0;endif;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if t<=1400 or t>=1515 then condizionetempo=1;else condizionetempo=0;endif;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
{installstoploss(inperc,3.00,"SL", STARTNEXTBAR);
plotchartNoZero(getstoploss, 0, red, solid, 2);
DrawText(NEWOGG,0 , D,getstoploss , "sl",getstoploss , red, 15, 1+4,Alright);}
//////////////////////////////////////////____________LONG /SHORT___________________/////////////////////////////////////////////////////////
if condizionelong=1 and wmax>wmax[1] and wmax>wmax[2] and wmax>wmax[3] and condizionetempo=1 and vol>1/2*(vol[1]+vol[2]) then EnterLong(nextbar,atopen);endif;
if positiondir=1 and gain<-3 then exitlong (nextbar,atopen);endif;
if condizioneshort=1 and wmin<wmin[1] and wmin<wmin[2] and wmin<wmin[3] and condizionetempo=1 and vol>1/2*(vol[1]+vol[2]) then Entershort(nextbar,atopen);endif;
if positiondir=-1 and gain<-3 then exitshort (nextbar,atopen);endif;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ah ma pensavo fossero modifiche al 50%, invece cambiano proprio le regole di ingaggio
ResponderEliminarproveró a metterci il MM e vedere cosa viene fuori
ma fa senso confrontare questi risultati con quelli del ts 50% base ?
gli input di entrata principale sono i solito...poi ci sono i filtri dei volumi/tempo/max e min..non è molto differente dal 50% base
Eliminargrazie Bruno per i test
ResponderEliminarmi sembra che il filtro volumi nei 14 anni sia piuttosto inutile, per il resto vediamo come si comporta
scusa Michelangelo ma cosa sarebbe il MM?
money management, le regole di uscita
Eliminarho iniziato da poco a seguire, dove le trovo queste regole?
ResponderEliminarDaniele..ci sono varie stringhe di uscita operazioni( che definiamo come strategia di money management)..la principale è lo stoploss secco del 3%..poi altre basate su dati statistici..le trovi nei post precedenti o al limite faccio una carrellata e te le posto
Eliminarquando puoi, mi faresti un favore
Eliminar