Phân tích mua theo chỉ báo Visualization Of Stoploses And Profit

chungsiviet
Phân tích mua theo chỉ báo Visualization Of Stoploses And Profit
Chỉ báo Visualization Of Stoploses And Profit xác định vùng mua được đánh dấu bằng mũi tên màu xanh blue, chỉ báo chỉ xác định một vùng mua kỳ vọng nên bạn cần kết hợp các chỉ báo khác để loại trừ tín hiệu nhiễu.

Bạn có thể copy mã này hoặc tải chỉ báo về nếu bạn không chuyên môn về mã code , nút download ở phía dưới cuối khung chứa code này:



//////////////////////////////  BASIC STRATEGY AND PLOTS ////////////////////
Buy = Cross( Close, MA(Close, 35) ); 
Short= Cross( MA(Close, 35), Close ); 
Sell=LinRegSlope( MA(Close,18), 2 )<0; 
Cover=LinRegSlope( MA(Close,18), 2 )>0; 

Plot( Close, "C", colorWhite, styleLine); 
Plot( MA(Close,100), "MA-100", colorRed, styleLine); 



// I am sceptical to if the original applystop functions (trailing etc) really works!? 
//I have therefor coded my own stop functions below.

////////////////////////////// STOP LOSS PARAMETERS ////////////////////
e = Equity(1,0);  /* Highly Important!!. "Removes all extra signals, evaluates 
stops AND writes BACK signals to Sell/Cover arrays". As it should be!!*/

Lprofit = e - ValueWhen( Buy, e); 
Sprofit = e - ValueWhen( Short, e); 


/////////////////////////////// TRAILING PROFIT STOP////////////////////////////

TL=ParamToggle("FANCY A TRAILING STOP?" , "No|Yes",0);
TLL= ParamToggle("           DO YOU WANT TO PLOT PROFIT + CRITICAL TRAILING LINE IN GRAPH?" , "No|Yes",0);
x2=Param("           SET MAX ACCEPTED DECLINE OF PROFIT IN PERCENT ",1 ,0 ,100 ,1);
//x3=Param("           SET MAX ACCEPTED DECLINE OF PROFIT IN POINTS ",1 ,0 ,100 ,1);

////////FOR LONG POSITION PERCENT////
XXL=HighestSince( Buy==1, Lprofit, 1 ); //returns the highest profit since last buy signal. the basis for the trailing calculation. 
XXXL= XXL*(1-(x2/100)); // if trailing turned on =ok otherwise =null
ZL= ExRem( Cross(XXXL, Lprofit), Buy==1); // Just first signal counts. highly important!!!!!!!! Also calculates critical sell levels
Sell= IIf(ZL==1 AND TL==True, 4, 0); // return a sell signal=4 if z1=1 and TL=true (yes)

////////FOR SHORT POSITION PERCENT////
XXS=HighestSince( Short==1, Sprofit, 1 );  // same as above
XXXS= XXS*(1-(x2/100));
ZS= ExRem( Cross(XXXS, Lprofit), Short==1);
Cover= IIf(ZS==1 AND TL==True, 4, 0);

PlotShapes( Buy* shapeUpArrow , colorGreen, 0); 
PlotShapes( Short* shapeDownArrow , colorGreen, 0);
PlotShapes( Sell* shapeDigit1 , colorRed, 0);
PlotShapes( Cover* shapeDigit2 , colorRed, 0);


if(TLL==True AND TL=True) Plot(Lprofit,"L PROFIT",colorYellow,styleLeftAxisScale, styleLine) AND
Plot(Sprofit,"S PROFIT",colorYellow,styleLeftAxisScale, styleLine) AND
Plot(XXXL, "L TRAILING LEVEL",colorGreen,styleLeftAxisScale, styleLine) AND
  Plot(XXXS, "S TRAILING LEVEL",colorGreen,styleLeftAxisScale, styleLine);


//////////ABSOLUTE PROFIT STOP////////////////////////////
ML=ParamToggle("FANCY A MAX STOP IN PERCENT?", "No|Yes",0);
x1=Param( "          SET MAX ACCEPTED LOSS PER TRADE IN PERCENT", 1, 0 ,50 ,1);
XS =ExRem(Cross (1-(x1/100),e), Buy==1);
Sell=IIf( XS==1 AND ML==True, 2, 0); 



//////////////////////////////  SETTINGS AND BASIC DEFINITIONS ////////////////////


SetOption("MaxOpenPositions", 2 ); 
PositionSize = 10000;
GraphXSpace=10;   /*"adds 10% extra space above AND below the graph line." In order to fit the extra text
"When GraphXSpace is NOT defined in the formula then default 2% is used."*/
dist=200;
bcolor=scolor=colorBlue;


//////////////////////////////  EXIT AND ENTRY MARKERS DEFINED  ////////////////////
PlotShapes( Buy* shapeUpArrow , bcolor, 0); 
PlotShapes( Short* shapeDownArrow , scolor, 0); 

sellshape = IIf( Sell == 1, shapeSquare + shapePositionAbove, 
  IIf( Sell == 2, shapeSquare + shapePositionAbove, 
  IIf( Sell == 3, shapeSquare + shapePositionAbove, 
IIf( Sell == 4, shapeSquare + shapePositionAbove, 
IIf( Sell == 5, shapeSquare + shapePositionAbove,0 ))))); 

Covershape= IIf( Cover == 1, shapeSquare, 
  IIf( Cover == 2, shapeSquare, 
  IIf( Cover == 3, shapeSquare, 
IIf( Cover == 4, shapeSquare, 
IIf( Cover == 5, shapeSquare,0 ))))); 

LColor= IIf(Lprofit>0, colorGreen, colorRed);
Scolor=IIf(Sprofit>0, colorGreen, colorRed);
PlotShapes( SellShape, Lcolor, 0, C);
PlotShapes( covershape, Scolor, 0, C);



//////////////////////////////  FOR LOOP FOR PLOTING ENTRY AND EXIT TEXT ////////////////////
for( i = 0; i < BarCount; i++ ) 

xx  = Sum(Buy,i ); // counting of long trades. xx will not get a higher value until a new long position is open
// therefor if we only allow one long and one short position (Exrem() ) xx can also be used as an identification 
// number for the diffrent positions. 
yy  = Sum(Short,i);

if( Buy[i]==1)  PlotText("LONG : " + xx[i] + "\nBuyPrice: "+ BuyPrice[ i ], i, H[ i ]-dist, colorBlack, bcolor ); 
   
if( Sell[i]==1 ) PlotText( "LONG : " +xx[i]+ "\nREGULAR EXIT\n"+ "Sell:     "+ SellPrice[ i ]+"\nP/ L:     " 
+Lprofit[ i ], i, H[ i ]+dist, colorBlack, Lcolor[i] ); 
if( Sell[i]==2 ) PlotText( "LONG : " +xx[i]+ "\nMAXIMUM LOSS\n"+ "Sell:     "+ SellPrice[ i ] +"\nP/ L:     " 
+Lprofit[ i ], i, H[ i ]+dist, colorBlack, Lcolor[i] ); 
if( Sell[i]==3 ) PlotText( "LONG : " +xx[i]+ "\nPROFIT TARGET\n"+ "Sell:    "+ SellPrice[ i ] +"\nP/ L:     " 
+Lprofit[ i ], i, H[ i ]+dist, colorBlack, Lcolor[i] ); 
if( Sell[i]==4 ) PlotText( "LONG : " +xx[i]+ "\nTRAILING STOP\n"+ "Sell:    "+ SellPrice[ i ] +"\nP/ L:     " 
+Lprofit[ i ], i, H[ i ]+dist, colorBlack, Lcolor[i] ); 
if( Sell[i]==5 ) PlotText( "LONG ; " +xx[i]+ "\nNBAR STOP\n"+ "Sell:        "+ SellPrice[ i ] +"\nP/ L:     " 
+Lprofit[ i ], i, H[ i ]+dist, colorBlack, Lcolor[i] ); 
if( Short[i]==1 ) PlotText( "SHORT : "+ yy[i]+ "\nShortprice: "+ ShortPrice[ i ], i, L[ i ]-dist, colorBlack, bcolor ); 

if( Cover[i]==1 ) PlotText( "SHORT : " +yy[i]+ "\nREGULAR EXIT\n"+ "Cover:    "+ CoverPrice[ i ]+"\nP/ L:    " 
+Sprofit[ i ], i, H[ i ]+dist, colorBlack, Scolor[i] ); 
if( Cover[i]==2 ) PlotText( "SHORT : " +yy[i]+ "\nMAXIMUM LOSS\n"+ "Cover:    "+ CoverPrice[ i ]+"\nP/ L:    " 
+Sprofit[ i ], i, H[ i ]+dist, colorBlack, Scolor[i] ); 
if( Cover[i]==3 ) PlotText( "SHORT : " +yy[i]+ "\nPROFIT TARGET\n"+ "Cover:   "+ CoverPrice[ i ]+"\nP/ L:    " 
+Sprofit[ i ], i, H[ i ]+dist, colorBlack, Scolor[i] ); 
if( Cover[i]==4 ) PlotText( "SHORT : " +yy[i]+ "\nTRAILING STOP\n"+ "Cover:   "+ CoverPrice[ i ]+"\nP/ L:    " 
+Sprofit[ i ], i, H[ i ]+dist, colorBlack, Scolor[i] ); 
if( Cover[i]==5 ) PlotText( "SHORT : " +yy[i]+ "\nNBAR STOP\n"+ "Cover:       "+ CoverPrice[ i ]+"\nP/ L:    " 
+Sprofit[ i ], i, H[ i ]+dist, colorBlack, Scolor[i] ); 

Link tải mã nguồn về sử dụng:
Download here

Cách thêm sau khi tải về: Xem hướng dẫn tại phần 2: Đối với các chỉ báo không có sẵn trong Amibroker

Không có nhận xét nào:

Đăng nhận xét

Bài đăng Mới hơn Bài đăng Cũ hơn Trang chủ