jueves, 31 de enero de 2019
per quanto riguarda il ts openmese..a gennaio..il sistema ..con lo spostamento dello sl in gain ha prodotto 3 operazioni..una il short in loss del 3% e due in long in gain del 4.66% e del 5.28%
in questo caso lo spostamento dello stop loss ha disturbato il profitto totale..se non si fosse attivato ci sarebbero state 2 operazioni..la 1ª in short in loss del 3% e la 2ª in long in gain del 12.79€
in questo caso lo spostamento dello stop loss ha disturbato il profitto totale..se non si fosse attivato ci sarebbero state 2 operazioni..la 1ª in short in loss del 3% e la 2ª in long in gain del 12.79€
viernes, 25 de enero de 2019
situazione grafica su Fiat
18simo giorno borsistico del mese
quotazioni nei pressi dello sviluppo stimato del 20% di range mensile
statisticamente nella fase finale del mensile i movimenti sono speculativi senza nessuna tendenza ben definita..la stessa condizione soddisfatta del range mensile medio stimato avvalora questo contesto
i sistemi sono flat...al limite solo il 50% può dare un eventuale short..una buona opzione di money managent è quella di non stare perennemente esposti a mercato
18simo giorno borsistico del mese
quotazioni nei pressi dello sviluppo stimato del 20% di range mensile
statisticamente nella fase finale del mensile i movimenti sono speculativi senza nessuna tendenza ben definita..la stessa condizione soddisfatta del range mensile medio stimato avvalora questo contesto
i sistemi sono flat...al limite solo il 50% può dare un eventuale short..una buona opzione di money managent è quella di non stare perennemente esposti a mercato
martes, 22 de enero de 2019
stringa enterlong ts 50%
if c>highd(1)//close sopra massimi di ieri
and condizionelgno=0
and GetNumOpEnterLongToday=0 // solo un long al giorno
and c>input1 //close sopra massimi prima candela a 15 minuti
and condizioneB=0 // non entra long per 90 candele se ultimo gain short maggiore del 3%
and rangemassimi<10
then enterlong( nextbar,atopen,STOP, 0,"Enter Lg 1");endif;
and condizionelgno significa che dopo il 10ecimo giorno borsistico del mese se le operazioni short precedenti da inizio mese hanno una resa media superiore al 2%( probabile tendenza short) non entra long
rangemassimi<10 significa che farà operazioni long solo se la distanza tra openmese e massimi del mese è inferiore al 10% ( se è superiore statisticamente siamo in zona eccesso per un eventuale long)
per l'entershort lo stesso ragionamento sopra speculare
if c>highd(1)//close sopra massimi di ieri
and condizionelgno=0
and GetNumOpEnterLongToday=0 // solo un long al giorno
and c>input1 //close sopra massimi prima candela a 15 minuti
and condizioneB=0 // non entra long per 90 candele se ultimo gain short maggiore del 3%
and rangemassimi<10
then enterlong( nextbar,atopen,STOP, 0,"Enter Lg 1");endif;
and condizionelgno significa che dopo il 10ecimo giorno borsistico del mese se le operazioni short precedenti da inizio mese hanno una resa media superiore al 2%( probabile tendenza short) non entra long
rangemassimi<10 significa che farà operazioni long solo se la distanza tra openmese e massimi del mese è inferiore al 10% ( se è superiore statisticamente siamo in zona eccesso per un eventuale long)
per l'entershort lo stesso ragionamento sopra speculare
lunes, 21 de enero de 2019
il range mensile è per ora del 21.38%...in una zona di eccesso secondo i dati statistici estratti dallo storico degli ultimi anni..un altro dato statistico individua nella prima parte del mese ( dal 1º al 11 esimo giorno borsistico) i movimenti con tendenza..nella seconda parte del mese una attivita prettamente speculativa
di conseguenza meglio proteggere eventuali guadagni e diminuire il tempo di esposizione a mercato
di conseguenza meglio proteggere eventuali guadagni e diminuire il tempo di esposizione a mercato
jueves, 17 de enero de 2019
ho inserito nel ts 50% lo spostamento dello stoploss ...diventa un trailingprofit
vi è un leggero miglioramento nel report
più che altro a livello emotivo perchè non permette che un ampio gain virtuale diventi un loss reale
/////////////__________ModifiStopLoss_____________////////////////////////////////////////////
if positiondir=1 and Max_Gain_perc>6 then ModifyStopLoss(INPERC,-1.50);endif;
if positiondir=-1 and Max_Gain_perc>6 then ModifyStopLoss(INPERC,-1.50);endif;
if positiondir=1 and Max_Gain_perc>9 then ModifyStopLoss(INPERC,-3.50);endif;
if positiondir=-1 and Max_Gain_perc>9 then ModifyStopLoss(INPERC,-3.50);endif;
if positiondir=1 and Max_Gain_perc>12 then ModifyStopLoss(INPERC,-5.50);endif;
if positiondir=-1 and Max_Gain_perc>12 then ModifyStopLoss(INPERC,-5.50);endif;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
vi è un leggero miglioramento nel report
più che altro a livello emotivo perchè non permette che un ampio gain virtuale diventi un loss reale
/////////////__________ModifiStopLoss_____________////////////////////////////////////////////
if positiondir=1 and Max_Gain_perc>6 then ModifyStopLoss(INPERC,-1.50);endif;
if positiondir=-1 and Max_Gain_perc>6 then ModifyStopLoss(INPERC,-1.50);endif;
if positiondir=1 and Max_Gain_perc>9 then ModifyStopLoss(INPERC,-3.50);endif;
if positiondir=-1 and Max_Gain_perc>9 then ModifyStopLoss(INPERC,-3.50);endif;
if positiondir=1 and Max_Gain_perc>12 then ModifyStopLoss(INPERC,-5.50);endif;
if positiondir=-1 and Max_Gain_perc>12 then ModifyStopLoss(INPERC,-5.50);endif;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
miércoles, 16 de enero de 2019
sorgente del ts 50%
lo stoploss è al 3% ma anche mettendolo al 2 o al 1.5% il report non peggiora di molto
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//_____________________________Ts 50%_______________________gennaio 2019____//
Var: rangeminimi,rangemassimi,percentualemese;
Var: formulaprimariaup,formulaprimariadown,codiceup,codiceup1,dayafter,tp1up,tp1down;
Var: formulaprimariaup1,formulaprimariadown1,codiceup2,codiceup3,tp1up1,tp1down1;
Var: contatp1up,contatp1down,input1,input2;
Var: newday(false), mioopen(0), miomin(0), miomax(0), mioclose(0),dvmed;
Var: wmax,wmin,wmed,DMAX,DMIN;
Var: fflat,lg,sh,contalg,contash,contaflat;
Var: cambiatogiorno,prova,contagiornoinessere;
Var: Pr_Ingr(0), Max_Gain(0), Max_Gain_perc(0), Gain(0),condizioneA,condizioneB;
Var: vp1,vp2,vp3,vp4,vp5;
Var: meseprec,meseprec8,meseprec9,contagain;
Var: condizionenolungo,condizionenocorto{,condiztrimestrale};
Var: contaoplong,contaopshort,meseprec48;
Var: contagainlong,contagainshort,idlastop,meseprec99,resamedialong,resamediashort;
Var: condizionelgno,condizioneshno;
///////////////////////////////////////////////////////////////////////////////////////////////////
rangeminimi=(((openm-lowm)/openm)*100);
rangemassimi=(((highm-openm)/openm)*100);
percentualemese=rangeminimi+rangemassimi;
//////////////////////////////////////////////////////////////////////////////////////////////////
formulaPrimariaup=openm+(openm/100)*20;
formulaPrimariadown=openm-(openm/100)*20;
codiceup=op(formulaprimariaup,openm,sub);
codiceup1=op(codiceup,22,divis);
formulaPrimariaup1=openm+(openm/100)*10;
formulaPrimariadown1=openm-(openm/100)*10;
codiceup2=op(formulaprimariaup1,openm,sub);
codiceup3=op(codiceup2,22,divis);
if getday<>dayafter and IsFirstBarDay then tp1up=tp1up+codiceup1;endif;
if getday<>dayafter and IsFirstBarDay then tp1down=tp1down-codiceup1;endif;
if getmonth<>meseprec then tp1up=openm;endif;
if getmonth<>meseprec then tp1down=openm;endif;
/////////////////////////////////////////////////////////////////////////////////////////////////////
if getday<>dayafter and IsFirstBarDay then tp1up1=tp1up1+codiceup3;endif;
if getday<>dayafter and IsFirstBarDay then tp1down1=tp1down1-codiceup3;endif;
dayafter=getday;
if getmonth<>meseprec then tp1up1=openm;endif;
if getmonth<>meseprec then tp1down1=openm;endif;
meseprec=getmonth;
if c>tp1up1 then contatp1up=contatp1up+1;endif;
if c<tp1down1 then contatp1down=contatp1down+1;endif;
if getmonth<>meseprec8 then contatp1up=0;endif;
if getmonth<>meseprec8 then contatp1down=0;endif;
meseprec8=getmonth;
/////////////////////////////////////////////////////////////////////////////////////////////////////
if IsFirstBarDay then input1=H;endif;
if IsFirstBarDay then input2=L;endif;
plotchart(input1, 0 , green, solid, 2);
plotchart(input2, 0 , red, solid, 2);
/////////////////////////////////////////////////////////////////////////////////////////////////////
newday=GetValues(days,1,mioopen,miomin,miomax,mioclose);
dvmed= 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]);
WMED=wmax-(wmax-wmin)*0.5;
endif;
PlotChart(WMED,0, gray, dot, 1);
Plotchart(dvmed,0,blue,solid,1);
DrawText(NEWOGG,0 , D,wmed , "50% intraday",wmed , red, 14, 2+2,Alright);
DrawText(NEWOGG,0 , D,dvmed , "50% ieri",dvmed , white, 14, 3+2,Alleft);
//////////////////////___CONTA_Situazione___///////////////////////////////////////////////
if positiondir=0 then fflat=1;endif; if positiondir<>0 then fflat=0;contaflat=0;endif; if fflat=1 and fflat[1]=1 then contaflat=(contaflat[1]+1);endif;
if positiondir=1 then lg=1;endif; if positiondir<>1 then lg=0;contalg=0;endif; if lg=1 and lg[1]=1 then contalg=(contalg[1]+1);endif;
if positiondir=-1 then sh=1;endif; if positiondir<>-1 then sh=0;contash=0;endif; if sh=1 and sh[1]=1 then contash=(contash[1]+1);endif;
////////////////////////////////////////////////////////////////////////////////////////////////
if getmonth<>meseprec9 then contagiornoinessere=0;endif;
meseprec9=getmonth;
cambiatogiorno = GetValues(days, 1, prova, prova, prova, prova);
if cambiatogiorno then contagiornoinessere=contagiornoinessere+1;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 (LastTradeClosedPerc > 3.00) and contaflat<90 and lastopclosed=1 then condizioneA=1;else condizioneA=0;endif;
if (LastTradeClosedPerc > 3.00) and contaflat<90 and lastopclosed=3 then condizioneB=1;else condizioneB=0;endif;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if contagiornoinessere>15 and c<tp1up1 then condizionenolungo=1;else condizionenolungo=0;endif;
if contagiornoinessere>15 and c>tp1down1 then condizionenocorto=1;else condizionenocorto=0;endif;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if positiondir=1 and contalg=1 then contaoplong=contaoplong+1;endif;
if getmonth<>meseprec48 then contaoplong=0;endif;
if positiondir=-1 and contash=1 then contaopshort=contaopshort+1;endif;
if getmonth<>meseprec48 then contaopshort=0;endif;
meseprec48=getmonth;
resamedialong= OP (contagainlong,contaoplong,divis);
resamediashort= OP (contagainshort,contaopshort,divis);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if contagiornoinessere>10 and resamediashort>2 then condizionelgno=1;else condizionelgno=0;endif;
if contagiornoinessere>10 and resamedialong>2 then condizioneshno=1;else condizioneshno=0;endif;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
installstoploss(inperc,3.00,"Stop");
plotchartNoZero(getstoploss, 0, red, solid, 2);
DrawText(NEWOGG,0 , D,getstoploss , "sl",getstoploss , red, 25, 1+4,Alright);
//////////////////////////////////////////____________LONG___________________/////////////////////////////////////////////////////////
if c>highd(1) and condizionelgno=0//close sopra massimi di ieri
and GetNumOpEnterLongToday=0 // solo un long al giorno
and c>input1 //close sopra massimi prima candela a 15 minuti
and condizioneB=0 // non entra long per 90 candele se ultimo gain short maggiore del 3%
and rangemassimi<10
then enterlong( nextbar,atopen,STOP, 0,"Enter Lg 1");endif;
///////////////////// Exit Long ///////////////////////////////////////////////////////////////////////////////////////////
if positiondir=1 and contalg>20 and gain<1.00 and c<wmed {intraday} then exitlong(nextbar,atopen,STOP, 0,"Exit Lg 1");endif;
if positiondir=1 and condizionenolungo=1 and gain>0.40 then exitlong(nextbar,atopen,STOP,0,"Exit Lg 2");endif;
//if positiondir=1 and c<dvmed {ieri} then exitlong(nextbar,atopen,STOP, 0,"Exit Lg 3");endif;
//////////////////////////////////////////____________SHORT___________________/////////////////////////////////////////////////////////
if c<lowd(1) and condizioneshno=0 //minimi di ieri
and GetNumOpEntershortToday=0 //solo uno short al giorno
and c<input2 //close sotto i minimi prima candela a 15 minuti
and condizioneA=0 //non entra short per 90 candele se ultimo gain long maggiore del 3%
and rangeminimi<10 //entra solo se il range mese è inferiore a 21
then entershort(nextbar,atopen,STOP, 0,"Enter Sh 1" );endif;
//////////////////// Exit Short ////////////////////////////////////////////////////////////////////////////////////////////
if positiondir=-1 and contash>20 and gain<1.00 and c>wmed {intraday} then exitshort(nextbar,atopen,STOP, 0,"Exit Sh 1");endif;
if positiondir=-1 and condizionenocorto=1 and gain>0.40 then exitshort(nextbar,atopen,STOP,0,"Exit Sh 2");endif;
//if positiondir=-1 and c>dvmed {ieri} then exitshort(nextbar,atopen,STOP, 0,"Exit Sh 3");endif;
//////////////////////// EQUITY MENSILE/////////////////////////////////
if getMonth <> meseprec then
contagain = 0;
endif;
if IdLastOpClosed > idlastop then
contagain = contagain + LastTradeClosedPerc;
endif;
idlastop = IdLastOpClosed;
////////////////////////equity long e short/////////////////////////////////////
if contagain<>contagain[1] and (LastOpClosed = tsEnterLong) then
contagainlong = contagainlong + LastTradeClosedPerc;
endif;
if contagain<>contagain[1] and (LastOpClosed = tsEntershort) then
contagainshort = contagainshort + LastTradeClosedPerc;
endif;
if getMonth <> meseprec99 then
contagainlong = 0;
endif;
if getMonth <> meseprec99 then
contagainshort = 0;
endif;
meseprec99=getmonth;
//_________Plottaggi__________//
vp1 = Createviewport(250);
Plotchart(contaoplong,vp1,green,solid,2);
Plotchart(contaopshort,vp1,red,solid,2);
vp2=Createviewport(200);
Plotchart(contagainlong,vp2,green,solid,2);
Plotchart(contagainshort,vp2,red,solid,2);
vp3=Createviewport(200);
Plotchart(resamedialong,vp3,green,solid,2);
Plotchart(resamediashort,vp3,red,solid,2);
lo stoploss è al 3% ma anche mettendolo al 2 o al 1.5% il report non peggiora di molto
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//_____________________________Ts 50%_______________________gennaio 2019____//
Var: rangeminimi,rangemassimi,percentualemese;
Var: formulaprimariaup,formulaprimariadown,codiceup,codiceup1,dayafter,tp1up,tp1down;
Var: formulaprimariaup1,formulaprimariadown1,codiceup2,codiceup3,tp1up1,tp1down1;
Var: contatp1up,contatp1down,input1,input2;
Var: newday(false), mioopen(0), miomin(0), miomax(0), mioclose(0),dvmed;
Var: wmax,wmin,wmed,DMAX,DMIN;
Var: fflat,lg,sh,contalg,contash,contaflat;
Var: cambiatogiorno,prova,contagiornoinessere;
Var: Pr_Ingr(0), Max_Gain(0), Max_Gain_perc(0), Gain(0),condizioneA,condizioneB;
Var: vp1,vp2,vp3,vp4,vp5;
Var: meseprec,meseprec8,meseprec9,contagain;
Var: condizionenolungo,condizionenocorto{,condiztrimestrale};
Var: contaoplong,contaopshort,meseprec48;
Var: contagainlong,contagainshort,idlastop,meseprec99,resamedialong,resamediashort;
Var: condizionelgno,condizioneshno;
///////////////////////////////////////////////////////////////////////////////////////////////////
rangeminimi=(((openm-lowm)/openm)*100);
rangemassimi=(((highm-openm)/openm)*100);
percentualemese=rangeminimi+rangemassimi;
//////////////////////////////////////////////////////////////////////////////////////////////////
formulaPrimariaup=openm+(openm/100)*20;
formulaPrimariadown=openm-(openm/100)*20;
codiceup=op(formulaprimariaup,openm,sub);
codiceup1=op(codiceup,22,divis);
formulaPrimariaup1=openm+(openm/100)*10;
formulaPrimariadown1=openm-(openm/100)*10;
codiceup2=op(formulaprimariaup1,openm,sub);
codiceup3=op(codiceup2,22,divis);
if getday<>dayafter and IsFirstBarDay then tp1up=tp1up+codiceup1;endif;
if getday<>dayafter and IsFirstBarDay then tp1down=tp1down-codiceup1;endif;
if getmonth<>meseprec then tp1up=openm;endif;
if getmonth<>meseprec then tp1down=openm;endif;
/////////////////////////////////////////////////////////////////////////////////////////////////////
if getday<>dayafter and IsFirstBarDay then tp1up1=tp1up1+codiceup3;endif;
if getday<>dayafter and IsFirstBarDay then tp1down1=tp1down1-codiceup3;endif;
dayafter=getday;
if getmonth<>meseprec then tp1up1=openm;endif;
if getmonth<>meseprec then tp1down1=openm;endif;
meseprec=getmonth;
if c>tp1up1 then contatp1up=contatp1up+1;endif;
if c<tp1down1 then contatp1down=contatp1down+1;endif;
if getmonth<>meseprec8 then contatp1up=0;endif;
if getmonth<>meseprec8 then contatp1down=0;endif;
meseprec8=getmonth;
/////////////////////////////////////////////////////////////////////////////////////////////////////
if IsFirstBarDay then input1=H;endif;
if IsFirstBarDay then input2=L;endif;
plotchart(input1, 0 , green, solid, 2);
plotchart(input2, 0 , red, solid, 2);
/////////////////////////////////////////////////////////////////////////////////////////////////////
newday=GetValues(days,1,mioopen,miomin,miomax,mioclose);
dvmed= 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]);
WMED=wmax-(wmax-wmin)*0.5;
endif;
PlotChart(WMED,0, gray, dot, 1);
Plotchart(dvmed,0,blue,solid,1);
DrawText(NEWOGG,0 , D,wmed , "50% intraday",wmed , red, 14, 2+2,Alright);
DrawText(NEWOGG,0 , D,dvmed , "50% ieri",dvmed , white, 14, 3+2,Alleft);
//////////////////////___CONTA_Situazione___///////////////////////////////////////////////
if positiondir=0 then fflat=1;endif; if positiondir<>0 then fflat=0;contaflat=0;endif; if fflat=1 and fflat[1]=1 then contaflat=(contaflat[1]+1);endif;
if positiondir=1 then lg=1;endif; if positiondir<>1 then lg=0;contalg=0;endif; if lg=1 and lg[1]=1 then contalg=(contalg[1]+1);endif;
if positiondir=-1 then sh=1;endif; if positiondir<>-1 then sh=0;contash=0;endif; if sh=1 and sh[1]=1 then contash=(contash[1]+1);endif;
////////////////////////////////////////////////////////////////////////////////////////////////
if getmonth<>meseprec9 then contagiornoinessere=0;endif;
meseprec9=getmonth;
cambiatogiorno = GetValues(days, 1, prova, prova, prova, prova);
if cambiatogiorno then contagiornoinessere=contagiornoinessere+1;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 (LastTradeClosedPerc > 3.00) and contaflat<90 and lastopclosed=1 then condizioneA=1;else condizioneA=0;endif;
if (LastTradeClosedPerc > 3.00) and contaflat<90 and lastopclosed=3 then condizioneB=1;else condizioneB=0;endif;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if contagiornoinessere>15 and c<tp1up1 then condizionenolungo=1;else condizionenolungo=0;endif;
if contagiornoinessere>15 and c>tp1down1 then condizionenocorto=1;else condizionenocorto=0;endif;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if positiondir=1 and contalg=1 then contaoplong=contaoplong+1;endif;
if getmonth<>meseprec48 then contaoplong=0;endif;
if positiondir=-1 and contash=1 then contaopshort=contaopshort+1;endif;
if getmonth<>meseprec48 then contaopshort=0;endif;
meseprec48=getmonth;
resamedialong= OP (contagainlong,contaoplong,divis);
resamediashort= OP (contagainshort,contaopshort,divis);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if contagiornoinessere>10 and resamediashort>2 then condizionelgno=1;else condizionelgno=0;endif;
if contagiornoinessere>10 and resamedialong>2 then condizioneshno=1;else condizioneshno=0;endif;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
installstoploss(inperc,3.00,"Stop");
plotchartNoZero(getstoploss, 0, red, solid, 2);
DrawText(NEWOGG,0 , D,getstoploss , "sl",getstoploss , red, 25, 1+4,Alright);
//////////////////////////////////////////____________LONG___________________/////////////////////////////////////////////////////////
if c>highd(1) and condizionelgno=0//close sopra massimi di ieri
and GetNumOpEnterLongToday=0 // solo un long al giorno
and c>input1 //close sopra massimi prima candela a 15 minuti
and condizioneB=0 // non entra long per 90 candele se ultimo gain short maggiore del 3%
and rangemassimi<10
then enterlong( nextbar,atopen,STOP, 0,"Enter Lg 1");endif;
///////////////////// Exit Long ///////////////////////////////////////////////////////////////////////////////////////////
if positiondir=1 and contalg>20 and gain<1.00 and c<wmed {intraday} then exitlong(nextbar,atopen,STOP, 0,"Exit Lg 1");endif;
if positiondir=1 and condizionenolungo=1 and gain>0.40 then exitlong(nextbar,atopen,STOP,0,"Exit Lg 2");endif;
//if positiondir=1 and c<dvmed {ieri} then exitlong(nextbar,atopen,STOP, 0,"Exit Lg 3");endif;
//////////////////////////////////////////____________SHORT___________________/////////////////////////////////////////////////////////
if c<lowd(1) and condizioneshno=0 //minimi di ieri
and GetNumOpEntershortToday=0 //solo uno short al giorno
and c<input2 //close sotto i minimi prima candela a 15 minuti
and condizioneA=0 //non entra short per 90 candele se ultimo gain long maggiore del 3%
and rangeminimi<10 //entra solo se il range mese è inferiore a 21
then entershort(nextbar,atopen,STOP, 0,"Enter Sh 1" );endif;
//////////////////// Exit Short ////////////////////////////////////////////////////////////////////////////////////////////
if positiondir=-1 and contash>20 and gain<1.00 and c>wmed {intraday} then exitshort(nextbar,atopen,STOP, 0,"Exit Sh 1");endif;
if positiondir=-1 and condizionenocorto=1 and gain>0.40 then exitshort(nextbar,atopen,STOP,0,"Exit Sh 2");endif;
//if positiondir=-1 and c>dvmed {ieri} then exitshort(nextbar,atopen,STOP, 0,"Exit Sh 3");endif;
//////////////////////// EQUITY MENSILE/////////////////////////////////
if getMonth <> meseprec then
contagain = 0;
endif;
if IdLastOpClosed > idlastop then
contagain = contagain + LastTradeClosedPerc;
endif;
idlastop = IdLastOpClosed;
////////////////////////equity long e short/////////////////////////////////////
if contagain<>contagain[1] and (LastOpClosed = tsEnterLong) then
contagainlong = contagainlong + LastTradeClosedPerc;
endif;
if contagain<>contagain[1] and (LastOpClosed = tsEntershort) then
contagainshort = contagainshort + LastTradeClosedPerc;
endif;
if getMonth <> meseprec99 then
contagainlong = 0;
endif;
if getMonth <> meseprec99 then
contagainshort = 0;
endif;
meseprec99=getmonth;
//_________Plottaggi__________//
vp1 = Createviewport(250);
Plotchart(contaoplong,vp1,green,solid,2);
Plotchart(contaopshort,vp1,red,solid,2);
vp2=Createviewport(200);
Plotchart(contagainlong,vp2,green,solid,2);
Plotchart(contagainshort,vp2,red,solid,2);
vp3=Createviewport(200);
Plotchart(resamedialong,vp3,green,solid,2);
Plotchart(resamediashort,vp3,red,solid,2);
vi metto i risultati degli ultimi 14 anni di storico del ts 50% migliore
in questo report è attivata l'uscita dal long e dallo short se le quotazioni scendono(x il long) e salgono( x lo short) rispetto al 50% intraday..se si attiva anche la stringa che monitorizza il 50% del giorno precedente la differenza di resa sullo storico è circa di un -60%
poi metto il codice
in questo report è attivata l'uscita dal long e dallo short se le quotazioni scendono(x il long) e salgono( x lo short) rispetto al 50% intraday..se si attiva anche la stringa che monitorizza il 50% del giorno precedente la differenza di resa sullo storico è circa di un -60%
poi metto il codice
lunes, 14 de enero de 2019
una triste situazione qui..come quella del 1981 in italia che ebbe come protagonista il povero Alfredino di vermicino..un bimbo è caduto in un pozzo del diametro di 25 cm e 100 metri di profondita..speriamo non finisca come il caso italiano
https://elpais.com/politica/2019/01/14/actualidad/1547468981_372559.html
https://elpais.com/politica/2019/01/14/actualidad/1547468981_372559.html
situazione grafica su Fiat
la tendenza long iniziata il 4 gennaio è ancora attiva
lo sviluppo mensile del 20% di range stimato oggi passa a 13.52€ circa
uno dato da tener da conto è il range ad oggi della candela mensile che è oltre il 18% e comincia ad essere un pò in eccesso
il ts openmese si è messo flat e sino a febbraio non rientrera a mercato
la tendenza long iniziata il 4 gennaio è ancora attiva
lo sviluppo mensile del 20% di range stimato oggi passa a 13.52€ circa
uno dato da tener da conto è il range ad oggi della candela mensile che è oltre il 18% e comincia ad essere un pò in eccesso
il ts openmese si è messo flat e sino a febbraio non rientrera a mercato
domingo, 13 de enero de 2019
x Simone
lo spostamento al 8.5% dello stoploss è secco e anche se poi il titolo sale oltre il +13% rimane fermo e non insegue il guadagno in aumento
il take profit al 20% di range sul mensile non produce profitto per come è strutturato ora il ts..praticamente le opzioni di money management(trailing,take) in caso di marcata tendenza solo dan fastidio..vi sono mesi in sui fiat ha avuto un range mensile molto superiore al 20% e se ci fosse stato il take profit avrebbe tagliato le operazioni in corso riducendo sensibilmente la resa finale
lo spostamento al 8.5% dello stoploss è secco e anche se poi il titolo sale oltre il +13% rimane fermo e non insegue il guadagno in aumento
il take profit al 20% di range sul mensile non produce profitto per come è strutturato ora il ts..praticamente le opzioni di money management(trailing,take) in caso di marcata tendenza solo dan fastidio..vi sono mesi in sui fiat ha avuto un range mensile molto superiore al 20% e se ci fosse stato il take profit avrebbe tagliato le operazioni in corso riducendo sensibilmente la resa finale
miércoles, 9 de enero de 2019
naturalmente lo spostamento dello stoploss è una opzione di money management ed a volte può disturbare il regolare funzionamento del sistema..ad esempio a giugno 2018 ha chiuso l'operazione con un +8% di gain ma se non ci fosse stato il gain sarebbe stato di oltre il 15% e rotti
è una soluzione soggettiva..ogni trader lo deve modulare a secondo delle proprie esigenze
una delle migliori soluzioni sarebbe quella di monetizzare una parte dell'esposizione e proteggere bene il restante ma purtoppo per ora il fornitore dati non sistema il difetto di calcolo delle % del report
è una soluzione soggettiva..ogni trader lo deve modulare a secondo delle proprie esigenze
una delle migliori soluzioni sarebbe quella di monetizzare una parte dell'esposizione e proteggere bene il restante ma purtoppo per ora il fornitore dati non sistema il difetto di calcolo delle % del report
if positiondir=1 and Max_Gain_perc>7 and filtrotrend<10 and contalg>102 then ModifyStopLoss(INPERC,-8.50);endif;
è soddisfatta la 1ª condizione...+7% di gain...verso le 14e30 saran 102 candele che il segnale è attivo e poi su ogni candela verra calcolata la differenza tra la distanza dai massimi prodotti rispetto ai minimi del mese..ora siamo a +14.16% ..e la distanza di ritraccio rispetto ai massimi..ora siamo a 0.24%..ora il risultato è 13.91%...filtrotrend...se questo scende sotto 10% si modifichera lo sl ( diventera praticamente un trailing profit)
l'altro spostamento sl è correlato allo sviluppo del 10% mensile..che oggi passa a 12.89
martes, 8 de enero de 2019
lunes, 7 de enero de 2019
x Corrado
questo il ts openmese migliore ( se il copiaincolla fa errore te lo invio per email)
//_________________________Openmese_______________novembre 2018______________//
Var: fflat,lg,sh,contalg,contash,contaflat; // monitoraggio situazione flat / long / short
Var: Pr_Ingr(0), Max_Gain(0), Max_Gain_perc(0), actual(0); ///_____Actual=Gain
var: meseprec18,meseprec9,cambiatogiorno,contagiornoinessere,prova;
var: prox01,prox02;
Var: idlastop,contagain;
Var: contaoplong,contaopshort,meseprec66,optotal;
Var: rangeminimi,rangemassimi,percentualemese;
Var: formulaprimariaup,formulaprimariadown,codiceup,codiceup1,dayafter,tp1up,tp1down;
Var: formulaprimariaup1,formulaprimariadown1,codiceup2,codiceup3,tp1up1,tp1down1;
Var: meseprec,meseprec51,resarealtime,colore;
Var: indzona1,indzona2,indzona3,indzona4,indzona5;
Var: contaprimaup,contaprimadown;
Var: rangediscesa,rangesalita,max_rangediscesa,max_rangesalita,meseprecAA,meseprecBB,filtrotrend,vp1,vp2,vp3,annoprec,ivp2;
Var: openday,contagainlong,contagainshort,contagainAnno,idlastopA,idlastopB,contagainA;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if isfirstbarday then openday=open;endif;
rangediscesa=(((highm-l)/highm)*100);
rangesalita=(((h-lowm)/lowm)*100);
if getmonth<>meseprecAA then rangediscesa=0;endif;
if getmonth<>meseprecAA then rangesalita=0;endif;
meseprecAA=getmonth;
if (rangediscesa>max_rangediscesa) then max_rangediscesa=rangediscesa;endif;
if (rangesalita>max_rangesalita) then max_rangesalita=rangesalita;endif;
if getmonth<>meseprecBB then max_rangediscesa=0;endif;
if getmonth<>meseprecBB then max_rangesalita=0;endif;
meseprecBB=getmonth;
filtrotrend=abs(rangesalita-rangediscesa);
/////////////////////////////////////////////////////////////////////////////////////////////////
rangeminimi=(((openm-lowm)/openm)*100);
rangemassimi=(((highm-openm)/openm)*100);
percentualemese=rangeminimi+rangemassimi;
/////////////////////////////////////////////////////////////////////////////////////////////
formulaPrimariaup=openm+(openm/100)*20;
formulaPrimariadown=openm-(openm/100)*20;
codiceup=op(formulaprimariaup,openm,sub);
codiceup1=op(codiceup,22,divis);
formulaPrimariaup1=openm+(openm/100)*10;
formulaPrimariadown1=openm-(openm/100)*10;
codiceup2=op(formulaprimariaup1,openm,sub);
codiceup3=op(codiceup2,22,divis);
if getday<>dayafter and IsFirstBarDay then tp1up=tp1up+codiceup1;endif;
if getday<>dayafter and IsFirstBarDay then tp1down=tp1down-codiceup1;endif;
if getmonth<>meseprec then tp1up=openm;endif;
if getmonth<>meseprec then tp1down=openm;endif;
/////////////////////////////////////////////////////////////////////////////////////////////////////
if getday<>dayafter and IsFirstBarDay then tp1up1=tp1up1+codiceup3;endif;
if getday<>dayafter and IsFirstBarDay then tp1down1=tp1down1-codiceup3;endif;
dayafter=getday;
if getmonth<>meseprec then tp1up1=openm;endif;
if getmonth<>meseprec then tp1down1=openm;endif;
meseprec=getmonth;
plotchart(tp1up, 0 , green, solid, 2);
plotchart(tp1up1, 0 , green, dot, 1);
plotchart(tp1down, 0 , red, solid, 2);
plotchart(tp1down1, 0 , red, dot, 1);
{if positiondir=1 then tp1down=openm;endif;
if positiondir=1 then tp1down1=openm;endif;
if positiondir=-1 then tp1up=openm;endif;
if positiondir=-1 then tp1up1=openm;endif;}
//////////////////////___CONTA_Situazione___///////////////////////////////////////////////
if positiondir=0 then fflat=1;endif; if positiondir<>0 then fflat=0;contaflat=0;endif; if fflat=1 and fflat[1]=1 then contaflat=(contaflat[1]+1);endif;
if positiondir=1 then lg=1;endif; if positiondir<>1 then lg=0;contalg=0;endif; if lg=1 and lg[1]=1 then contalg=(contalg[1]+1);endif;
if positiondir=-1 then sh=1;endif; if positiondir<>-1 then sh=0;contash=0;endif; if sh=1 and sh[1]=1 then contash=(contash[1]+1);endif;
//////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////// ACTUAL /////////////////////////////////////////////////////
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;
Actual = ((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;
Actual = ((Pr_ingr-C)*100)/Pr_Ingr;endif;
else Pr_ingr = 0;Max_Gain = 0; Actual = 0;endif;
/////////////////////////////////////////////////////////////////////////////
cambiatogiorno = GetValues(days, 1, prova, prova, prova, prova);
if getmonth<>meseprec18 then contagiornoinessere=0;endif;
if cambiatogiorno then contagiornoinessere=contagiornoinessere+1;endif;
meseprec18=getmonth;
prox01=addperc(openm,2);
prox02=addperc(openm,-2);
PlotChart(openM,0, gray, solid, 1);
PlotChart(prox01,0, aqua, dot, 1);
PlotChart(prox02,0, red, dot, 1);
DrawText(5,0 ,D ,openm , "OpenMese=",openm , red, 11, 1+3,Alright);
DrawText(2,0 ,D ,prox01 , "2 % sup.=",prox01 , aqua, 9, 1+3,Alright);
DrawText(3,0 ,D ,prox02 , "2 % inf.=",prox02 , aqua, 9, 1+3,Alright);
////////////////////////////////////////////////////////////////////////////////////////////////
if positiondir=1 and contalg=1 then contaoplong=contaoplong+1;endif;
if positiondir=-1 and contash=1 then contaopshort=contaopshort+1;endif;
if getmonth<>meseprec66 then contaoplong=0;endif;
if getmonth<>meseprec66 then contaopshort=0;endif;
meseprec66=getmonth;
optotal=contaoplong+contaopshort;
////////////////////////////////////////////////////////////////////////////////////////////
resarealtime=actual+contagain;
///////////////////////// Stop Loss //////////////////////////////////////////////////////////////////////////////
InstallStopLoss(INPERC, 3.00, "Stop");
plotchartNoZero(getstoploss, 0, red, solid, 2);
DrawText(4,0 , D,getstoploss , "sl",getstoploss , red, 15, 1+4,Alright);
////////////////////// Enter & Exit Long ///////////////////////////////////////////////////////////////////////////
if c>prox01 and contagiornoinessere<19 and contaflat>1 and contagain<3 {and (GetYear = 2014)} then enterlong(nextbar,atopen);endif;
if positiondir=1 and contagiornoinessere>18 then exitlong(nextbar,atopen);endif;
if positiondir=1 and getmonth<>meseprec51 then exitlong(nextbar,atopen);endif;
if positiondir=1 and actual>4.0 and contaoplong<>1 then exitlong(nextbar,atopen);endif;
////////////////////// Enter & Exit Short //////////////////////////////////////////////////////////////////////////
if c<prox02 and contagiornoinessere<19 and contaflat>1 and contagain<3 {and (GetYear = 2014)} then entershort(nextbar,atopen);endif;
if positiondir=-1 and contagiornoinessere>18 then exitshort(nextbar,atopen);endif;
if positiondir=-1 and getmonth<>meseprec51 then exitshort(nextbar,atopen);endif;
if positiondir=-1 and actual>4.0 and contaopshort<>1 then exitshort(nextbar,atopen);endif;
if positiondir=1 and Max_Gain_perc<3 and contalg>102 then ModifyStopLoss(INPERC,1.50);endif;
if positiondir=-1 and Max_Gain_perc<3 and contash>102 then ModifyStopLoss(INPERC,1.50);endif;
if positiondir=1 and c<tp1up1 and contalg>102 then ModifyStopLoss(INPERC,1.50);endif;
if positiondir=-1 and c>tp1down1 and contash>102 then ModifyStopLoss(INPERC,1.50);endif;
if positiondir=1 and Max_Gain_perc>7 and filtrotrend<10 and contalg>102 then ModifyStopLoss(INPERC,-8.50);endif;
if positiondir=-1 and Max_Gain_perc>7 and filtrotrend<10 and contash>102 then ModifyStopLoss(INPERC,-8.50);endif;
//////////////////////////////// Gain Mensile /////////////////////////////////////////////////////////////////////
meseprec51=getmonth;
if getMonth <> meseprec9 then
contagain = 0;
endif;
if IdLastOpClosed > idlastop then
contagain = contagain + LastTradeClosedPerc;
endif;
idlastop = IdLastOpClosed;
meseprec9=getmonth;
if resarealtime > 0 then
colore= green;
else
colore= red;
endif;
/////////////////////////////////////////////////////////////////////////////////
////////////////////////equity Annuale long e short/////////////////////////////////////
if getyear <> annoprec then
contagainlong = 0;
endif;
if getyear <> annoprec then
contagainshort = 0;
endif;
if IdLastOpClosed > idlastopA and (LastOpClosed = tsEnterLong) then
contagainlong = contagainlong + LastTradeClosedPerc;
endif;
idlastop = IdLastOpClosed;
if IdLastOpClosed > idlastopA and (LastOpClosed = tsEntershort) then
contagainshort = contagainshort + LastTradeClosedPerc;
//idlastop = IdLastOpClosed;
endif;
//////////////////////// EQUITY Annuale/////////////////////////////////
if getyear <> annoprec then
contagainAnno = 0;
endif;
if IdLastOpClosed > idlastopA then
contagainAnno = contagainAnno + LastTradeClosedPerc;
endif;
idlastopA = IdLastOpClosed;
ivp2 = Createviewport(200);
plotchart(contagain, ivp2, COLUPDOWNZERO);
/////////////////////////////////////////////////////////////////////////////////
annoprec=getyear;
//////////////////////////// Plottaggi Vari ////////////////////////////////////////////////////////////////////////
{Vp1=Createviewport(800);
PlotChart(rangediscesa,Vp1,red,solid,2);
DrawText(1,Vp1, D,rangediscesa , "% ",rangediscesa, red, 12, 2+2,Alright);
PlotChart(rangesalita,Vp1,green,solid,2);
DrawText(2,Vp1 , D,rangesalita , "% ",rangesalita , green, 12, 2+2,Alright);
Vp2=Createviewport(300);
PlotChart(max_rangediscesa,Vp2,red,solid,1);
DrawText(3,Vp2, D,max_rangediscesa , "% max discesa ",max_rangediscesa, red, 12, 2+2,Alleft);
PlotChart(max_rangesalita,Vp2,green,solid,1);
DrawText(4,Vp2 , D,max_rangesalita , "% max salita ",max_rangesalita , green, 12, 2+2,Alleft);
Vp3=Createviewport(300);
PlotChart(filtrotrend,Vp3,red,solid,1);
DrawText(5,Vp3 , D,filtrotrend , "% tendenza ",filtrotrend , green, 10, 1+1,Alright);}
//indzona1=Createviewport(100, 0, true);
{PlotChart(tr_max*(1-TrS_perc_trail/100),0,aqua,solid,1);
PlotChart(tr_min*(1+TrS_perc_trail/100),0,red,solid,1); }
{indzona2=Createviewport(100, 0, true);
PlotChart(contagain,indzona2,green,solid,2); }
indzona3=Createviewport(200, 0, true);
PlotChart(contagainlong,indzona3,green,solid,2);
PlotChart(contagainshort,indzona3,red,solid,2);
//PlotChart(optotal,indzona3,aqua,solid,3); }
Indzona4=CreateViewport(200, 0, true);
plotchart(contagainAnno, indzona4,red, solid, 3 );
//DrawText(6,indzona4 ,D ,contagiornoinessere , "giorni borsistici=",contagiornoinessere , red, 10, 2+2,Alleft); }
{indzona5=Createviewport(200, 0, true);
PlotChart(resarealtime,indzona5,colore,solid,3);
DrawText(7,indzona5 ,D ,resarealtime , "resa % RT=",resarealtime , red, 10, 2+2,Alleft); }
questo il ts openmese migliore ( se il copiaincolla fa errore te lo invio per email)
//_________________________Openmese_______________novembre 2018______________//
Var: fflat,lg,sh,contalg,contash,contaflat; // monitoraggio situazione flat / long / short
Var: Pr_Ingr(0), Max_Gain(0), Max_Gain_perc(0), actual(0); ///_____Actual=Gain
var: meseprec18,meseprec9,cambiatogiorno,contagiornoinessere,prova;
var: prox01,prox02;
Var: idlastop,contagain;
Var: contaoplong,contaopshort,meseprec66,optotal;
Var: rangeminimi,rangemassimi,percentualemese;
Var: formulaprimariaup,formulaprimariadown,codiceup,codiceup1,dayafter,tp1up,tp1down;
Var: formulaprimariaup1,formulaprimariadown1,codiceup2,codiceup3,tp1up1,tp1down1;
Var: meseprec,meseprec51,resarealtime,colore;
Var: indzona1,indzona2,indzona3,indzona4,indzona5;
Var: contaprimaup,contaprimadown;
Var: rangediscesa,rangesalita,max_rangediscesa,max_rangesalita,meseprecAA,meseprecBB,filtrotrend,vp1,vp2,vp3,annoprec,ivp2;
Var: openday,contagainlong,contagainshort,contagainAnno,idlastopA,idlastopB,contagainA;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if isfirstbarday then openday=open;endif;
rangediscesa=(((highm-l)/highm)*100);
rangesalita=(((h-lowm)/lowm)*100);
if getmonth<>meseprecAA then rangediscesa=0;endif;
if getmonth<>meseprecAA then rangesalita=0;endif;
meseprecAA=getmonth;
if (rangediscesa>max_rangediscesa) then max_rangediscesa=rangediscesa;endif;
if (rangesalita>max_rangesalita) then max_rangesalita=rangesalita;endif;
if getmonth<>meseprecBB then max_rangediscesa=0;endif;
if getmonth<>meseprecBB then max_rangesalita=0;endif;
meseprecBB=getmonth;
filtrotrend=abs(rangesalita-rangediscesa);
/////////////////////////////////////////////////////////////////////////////////////////////////
rangeminimi=(((openm-lowm)/openm)*100);
rangemassimi=(((highm-openm)/openm)*100);
percentualemese=rangeminimi+rangemassimi;
/////////////////////////////////////////////////////////////////////////////////////////////
formulaPrimariaup=openm+(openm/100)*20;
formulaPrimariadown=openm-(openm/100)*20;
codiceup=op(formulaprimariaup,openm,sub);
codiceup1=op(codiceup,22,divis);
formulaPrimariaup1=openm+(openm/100)*10;
formulaPrimariadown1=openm-(openm/100)*10;
codiceup2=op(formulaprimariaup1,openm,sub);
codiceup3=op(codiceup2,22,divis);
if getday<>dayafter and IsFirstBarDay then tp1up=tp1up+codiceup1;endif;
if getday<>dayafter and IsFirstBarDay then tp1down=tp1down-codiceup1;endif;
if getmonth<>meseprec then tp1up=openm;endif;
if getmonth<>meseprec then tp1down=openm;endif;
/////////////////////////////////////////////////////////////////////////////////////////////////////
if getday<>dayafter and IsFirstBarDay then tp1up1=tp1up1+codiceup3;endif;
if getday<>dayafter and IsFirstBarDay then tp1down1=tp1down1-codiceup3;endif;
dayafter=getday;
if getmonth<>meseprec then tp1up1=openm;endif;
if getmonth<>meseprec then tp1down1=openm;endif;
meseprec=getmonth;
plotchart(tp1up, 0 , green, solid, 2);
plotchart(tp1up1, 0 , green, dot, 1);
plotchart(tp1down, 0 , red, solid, 2);
plotchart(tp1down1, 0 , red, dot, 1);
{if positiondir=1 then tp1down=openm;endif;
if positiondir=1 then tp1down1=openm;endif;
if positiondir=-1 then tp1up=openm;endif;
if positiondir=-1 then tp1up1=openm;endif;}
//////////////////////___CONTA_Situazione___///////////////////////////////////////////////
if positiondir=0 then fflat=1;endif; if positiondir<>0 then fflat=0;contaflat=0;endif; if fflat=1 and fflat[1]=1 then contaflat=(contaflat[1]+1);endif;
if positiondir=1 then lg=1;endif; if positiondir<>1 then lg=0;contalg=0;endif; if lg=1 and lg[1]=1 then contalg=(contalg[1]+1);endif;
if positiondir=-1 then sh=1;endif; if positiondir<>-1 then sh=0;contash=0;endif; if sh=1 and sh[1]=1 then contash=(contash[1]+1);endif;
//////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////// ACTUAL /////////////////////////////////////////////////////
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;
Actual = ((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;
Actual = ((Pr_ingr-C)*100)/Pr_Ingr;endif;
else Pr_ingr = 0;Max_Gain = 0; Actual = 0;endif;
/////////////////////////////////////////////////////////////////////////////
cambiatogiorno = GetValues(days, 1, prova, prova, prova, prova);
if getmonth<>meseprec18 then contagiornoinessere=0;endif;
if cambiatogiorno then contagiornoinessere=contagiornoinessere+1;endif;
meseprec18=getmonth;
prox01=addperc(openm,2);
prox02=addperc(openm,-2);
PlotChart(openM,0, gray, solid, 1);
PlotChart(prox01,0, aqua, dot, 1);
PlotChart(prox02,0, red, dot, 1);
DrawText(5,0 ,D ,openm , "OpenMese=",openm , red, 11, 1+3,Alright);
DrawText(2,0 ,D ,prox01 , "2 % sup.=",prox01 , aqua, 9, 1+3,Alright);
DrawText(3,0 ,D ,prox02 , "2 % inf.=",prox02 , aqua, 9, 1+3,Alright);
////////////////////////////////////////////////////////////////////////////////////////////////
if positiondir=1 and contalg=1 then contaoplong=contaoplong+1;endif;
if positiondir=-1 and contash=1 then contaopshort=contaopshort+1;endif;
if getmonth<>meseprec66 then contaoplong=0;endif;
if getmonth<>meseprec66 then contaopshort=0;endif;
meseprec66=getmonth;
optotal=contaoplong+contaopshort;
////////////////////////////////////////////////////////////////////////////////////////////
resarealtime=actual+contagain;
///////////////////////// Stop Loss //////////////////////////////////////////////////////////////////////////////
InstallStopLoss(INPERC, 3.00, "Stop");
plotchartNoZero(getstoploss, 0, red, solid, 2);
DrawText(4,0 , D,getstoploss , "sl",getstoploss , red, 15, 1+4,Alright);
////////////////////// Enter & Exit Long ///////////////////////////////////////////////////////////////////////////
if c>prox01 and contagiornoinessere<19 and contaflat>1 and contagain<3 {and (GetYear = 2014)} then enterlong(nextbar,atopen);endif;
if positiondir=1 and contagiornoinessere>18 then exitlong(nextbar,atopen);endif;
if positiondir=1 and getmonth<>meseprec51 then exitlong(nextbar,atopen);endif;
if positiondir=1 and actual>4.0 and contaoplong<>1 then exitlong(nextbar,atopen);endif;
////////////////////// Enter & Exit Short //////////////////////////////////////////////////////////////////////////
if c<prox02 and contagiornoinessere<19 and contaflat>1 and contagain<3 {and (GetYear = 2014)} then entershort(nextbar,atopen);endif;
if positiondir=-1 and contagiornoinessere>18 then exitshort(nextbar,atopen);endif;
if positiondir=-1 and getmonth<>meseprec51 then exitshort(nextbar,atopen);endif;
if positiondir=-1 and actual>4.0 and contaopshort<>1 then exitshort(nextbar,atopen);endif;
if positiondir=1 and Max_Gain_perc<3 and contalg>102 then ModifyStopLoss(INPERC,1.50);endif;
if positiondir=-1 and Max_Gain_perc<3 and contash>102 then ModifyStopLoss(INPERC,1.50);endif;
if positiondir=1 and c<tp1up1 and contalg>102 then ModifyStopLoss(INPERC,1.50);endif;
if positiondir=-1 and c>tp1down1 and contash>102 then ModifyStopLoss(INPERC,1.50);endif;
if positiondir=1 and Max_Gain_perc>7 and filtrotrend<10 and contalg>102 then ModifyStopLoss(INPERC,-8.50);endif;
if positiondir=-1 and Max_Gain_perc>7 and filtrotrend<10 and contash>102 then ModifyStopLoss(INPERC,-8.50);endif;
//////////////////////////////// Gain Mensile /////////////////////////////////////////////////////////////////////
meseprec51=getmonth;
if getMonth <> meseprec9 then
contagain = 0;
endif;
if IdLastOpClosed > idlastop then
contagain = contagain + LastTradeClosedPerc;
endif;
idlastop = IdLastOpClosed;
meseprec9=getmonth;
if resarealtime > 0 then
colore= green;
else
colore= red;
endif;
/////////////////////////////////////////////////////////////////////////////////
////////////////////////equity Annuale long e short/////////////////////////////////////
if getyear <> annoprec then
contagainlong = 0;
endif;
if getyear <> annoprec then
contagainshort = 0;
endif;
if IdLastOpClosed > idlastopA and (LastOpClosed = tsEnterLong) then
contagainlong = contagainlong + LastTradeClosedPerc;
endif;
idlastop = IdLastOpClosed;
if IdLastOpClosed > idlastopA and (LastOpClosed = tsEntershort) then
contagainshort = contagainshort + LastTradeClosedPerc;
//idlastop = IdLastOpClosed;
endif;
//////////////////////// EQUITY Annuale/////////////////////////////////
if getyear <> annoprec then
contagainAnno = 0;
endif;
if IdLastOpClosed > idlastopA then
contagainAnno = contagainAnno + LastTradeClosedPerc;
endif;
idlastopA = IdLastOpClosed;
ivp2 = Createviewport(200);
plotchart(contagain, ivp2, COLUPDOWNZERO);
/////////////////////////////////////////////////////////////////////////////////
annoprec=getyear;
//////////////////////////// Plottaggi Vari ////////////////////////////////////////////////////////////////////////
{Vp1=Createviewport(800);
PlotChart(rangediscesa,Vp1,red,solid,2);
DrawText(1,Vp1, D,rangediscesa , "% ",rangediscesa, red, 12, 2+2,Alright);
PlotChart(rangesalita,Vp1,green,solid,2);
DrawText(2,Vp1 , D,rangesalita , "% ",rangesalita , green, 12, 2+2,Alright);
Vp2=Createviewport(300);
PlotChart(max_rangediscesa,Vp2,red,solid,1);
DrawText(3,Vp2, D,max_rangediscesa , "% max discesa ",max_rangediscesa, red, 12, 2+2,Alleft);
PlotChart(max_rangesalita,Vp2,green,solid,1);
DrawText(4,Vp2 , D,max_rangesalita , "% max salita ",max_rangesalita , green, 12, 2+2,Alleft);
Vp3=Createviewport(300);
PlotChart(filtrotrend,Vp3,red,solid,1);
DrawText(5,Vp3 , D,filtrotrend , "% tendenza ",filtrotrend , green, 10, 1+1,Alright);}
//indzona1=Createviewport(100, 0, true);
{PlotChart(tr_max*(1-TrS_perc_trail/100),0,aqua,solid,1);
PlotChart(tr_min*(1+TrS_perc_trail/100),0,red,solid,1); }
{indzona2=Createviewport(100, 0, true);
PlotChart(contagain,indzona2,green,solid,2); }
indzona3=Createviewport(200, 0, true);
PlotChart(contagainlong,indzona3,green,solid,2);
PlotChart(contagainshort,indzona3,red,solid,2);
//PlotChart(optotal,indzona3,aqua,solid,3); }
Indzona4=CreateViewport(200, 0, true);
plotchart(contagainAnno, indzona4,red, solid, 3 );
//DrawText(6,indzona4 ,D ,contagiornoinessere , "giorni borsistici=",contagiornoinessere , red, 10, 2+2,Alleft); }
{indzona5=Createviewport(200, 0, true);
PlotChart(resarealtime,indzona5,colore,solid,3);
DrawText(7,indzona5 ,D ,resarealtime , "resa % RT=",resarealtime , red, 10, 2+2,Alleft); }
miércoles, 2 de enero de 2019
per quanto riguarda Fiat ci sono alcuni dati statistici che si ripetono spesso e di conseguenza possono essere sfruttati a livello operativo:
ogni mese si produce come media un range di media del 20% circa
il maggiore movimento si produce nella 1ª parte del mese ( nei 4 mesi della pubblicazione trimestrali nei giorni finali naturalmente vi è un comportamente diverso)
nella 1ª ora del giorno si produce spesso il movimento che comandera tutta la seduta
se dopo le ore 1300 il close è superiore all'open del giorno è molto probabile una presenza di trend long
ogni mese si produce come media un range di media del 20% circa
il maggiore movimento si produce nella 1ª parte del mese ( nei 4 mesi della pubblicazione trimestrali nei giorni finali naturalmente vi è un comportamente diverso)
nella 1ª ora del giorno si produce spesso il movimento che comandera tutta la seduta
se dopo le ore 1300 il close è superiore all'open del giorno è molto probabile una presenza di trend long
iniziamo l'anno con alcune delle solite raccomandazioni
innanzitutto l'importanza del money management nelle operazioni di borsa
sopratutto lo stop loss..se non lo si usa il pericolo di grosse perdite e di blocco del capitale per molto tempo è molto alto
poi l'utilizzo degli indicatori/oscillatori forniti dalla piattaforme è sconsigliato..li ho praticamente testati quasi tutti..ci ho fatto trading system e alla resa dei conti tutti hanno portato perdite continue nel tempo
importante è sopratutto anche l'approccio psicologico...se emotivamente non si riesce a reggere le perdite o la tensione durante il trade porta a modificare la strategia iniziale è molto probabile che il mestiere del trader non faccia al caso nostro...non vi è niente di male...è un lavoro come un altro..saper riconoscere i propri limiti porta solo benefici ( sia mentali che finanziari )
ormai la maggioranza delle transazioni finanziarie è prodotta dai sistemi automatici ( il mestiere del trader è uno di quelli che scomparira con l'avvento delle nuove tecnologie) e i movimenti il più delle volte di logica ne hanno poca e di conseguenza è diventato ancor più difficile riuscire a generare profitto a causa dei continui cambiamenti di tendenza
riassumendo...createvi una vostra strategia basata sopratutto sulla statistica...munitela di un buon sistema di money management..seguitela nel bene e nel male..evitate l'iperinformazione..le raccomandazioni degli analisti..non comprate libri di at..non seguite corsi o strategie pittoresche...tutto sta cambiando e quello che valeva in passato o perlomeno dava risultati ormai è obsoleto e sopratutto evitate il tifo ed il fatto di innamorarvi di un titolo
tutto questo si può tradurre nel famoso proverbio:
" se il mercato vende diamanti io devo vendere diamanti...se il mercato compra sterco io devo comprare sterco "
innanzitutto l'importanza del money management nelle operazioni di borsa
sopratutto lo stop loss..se non lo si usa il pericolo di grosse perdite e di blocco del capitale per molto tempo è molto alto
poi l'utilizzo degli indicatori/oscillatori forniti dalla piattaforme è sconsigliato..li ho praticamente testati quasi tutti..ci ho fatto trading system e alla resa dei conti tutti hanno portato perdite continue nel tempo
importante è sopratutto anche l'approccio psicologico...se emotivamente non si riesce a reggere le perdite o la tensione durante il trade porta a modificare la strategia iniziale è molto probabile che il mestiere del trader non faccia al caso nostro...non vi è niente di male...è un lavoro come un altro..saper riconoscere i propri limiti porta solo benefici ( sia mentali che finanziari )
ormai la maggioranza delle transazioni finanziarie è prodotta dai sistemi automatici ( il mestiere del trader è uno di quelli che scomparira con l'avvento delle nuove tecnologie) e i movimenti il più delle volte di logica ne hanno poca e di conseguenza è diventato ancor più difficile riuscire a generare profitto a causa dei continui cambiamenti di tendenza
riassumendo...createvi una vostra strategia basata sopratutto sulla statistica...munitela di un buon sistema di money management..seguitela nel bene e nel male..evitate l'iperinformazione..le raccomandazioni degli analisti..non comprate libri di at..non seguite corsi o strategie pittoresche...tutto sta cambiando e quello che valeva in passato o perlomeno dava risultati ormai è obsoleto e sopratutto evitate il tifo ed il fatto di innamorarvi di un titolo
tutto questo si può tradurre nel famoso proverbio:
" se il mercato vende diamanti io devo vendere diamanti...se il mercato compra sterco io devo comprare sterco "
Suscribirse a:
Entradas (Atom)
oggi scadenze tecniche..le ultime di settembre risolte a 13.60€ vediamo alle 1200
-
un caro collega mi fa presente che l'impulsiva down del 17 settembre potrebbe essere differente come valori da quelli postati sulla can...
-
ora è presente sul giornaliero un impulso ribassista...quello del 17 settembre..supportato da un aumento volumetrico di circa 7 volte la me...
-
ho deciso di utilizzare la statistica dello sviluppo giornaliero tarato sul range medio mensile per determinare la tendenza del titolo...so...