Kinh tế và Giải trí

  • Home

Kinh tế và Giải trí

|

Liên hệ : 0905134839

Nên đọc

Nằm liệt, phải bỏ nghề suốt 3 tháng vì thoái hoá cột sống, gai cột sống: Tôi đã hồi phục nhờ cách này

Nằm liệt, phải bỏ nghề suốt 3 tháng vì thoái hoá cột sống, gai cột sống: Tôi đã hồi...

Hóa thạch tiết lộ ‘King Kong’ có họ hàng với đười ươi

Kênh CNN (Mỹ) dẫn nguồn tin công bố trên Tạp chí...

Cắt bỏ bàn tay dập nát của bé trai 9 tuổi do đèn pin phát nổ gây ra

Cắt bỏ bàn tay dập nát của bé trai 9 tuổi do đèn pin phát nổ gây ra Cinderella Solution ...

Chỉ báo Super Trend (amibroker code)

Chỉ báo Super Trend (amibroker code)

Chỉ báo SuperTrend là công cụ rất hữu hiệu để xác định xu hướngcủa thị trường ( hoặc cổ phiếu ).
 Trong chart này, chúng ta có thể trade với hai cách khác nhau : 
Trade với các tín hiệu mua bán : 
          – Mua nếu giá vượt lên trên trên đường xu hướng 
         – Bán nếu giá xuống phía dưới đường xu hướng 
Cài đặt :
* Chép code sau ( trong khung cuối bài ) . 
* Copy và dán vào Formular editor và lưu lại – Chương trình sẽ lưu theo mặc định :Program files\Amibroker\formulas\ Super Trend for Amibroker 
Code sử dụng : 
Chúc các Bạn thành công !

http://www.v2htrader.com/search/label/amibroker%20code

amibroker code :

——————————————————————————————————

_SECTION_BEGIN("SuperTrend");
SetChartOptions(0,chartShowArrows|chartShowDates);
SetChartBkColor(ParamColor("bkcolor",ColorRGB(0,0, 0)));
GfxSetBkMode(0);
GfxSetOverlayMode(1);
Clr=IIf(C>O,colorGreen,colorRed);
Plot( C, "Close", Clr, styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
SetTradeDelays(1,1,1,1);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Factor=Param("Factor",2,1,10,0.1);
Pd=Param("ATR Periods",11,1,100,1);
Up=(H+L)/2+(Factor*ATR(Pd));
Dn=(H+L)/2-(Factor*ATR(Pd));
iATR=ATR(Pd);
TrendUp=TrendDown=Null;
trend[0]=1;
changeOfTrend=0;
flag=flagh=0;

for (i = 1; i <BarCount-1; i++) {
TrendUp[i] = Null;
TrendDown[i] = Null;

trend[i]=1;
if (Close[i]>Up[i-1]) {
trend[i]=1;
if (trend[i-1] == -1) changeOfTrend = 1;

}
else if (Close[i]<Dn[i-1]) {
trend[i]=-1;
if (trend[i-1] == 1) changeOfTrend = 1;
}
else if (trend[i-1]==1) {
trend[i]=1;
changeOfTrend = 0;
}
else if (trend[i-1]==-1) {
trend[i]=-1;
changeOfTrend = 0;
}

if (trend[i]<0 && trend[i-1]>0) {
flag=1;
}
else {
flag=0;
}

if (trend[i]>0 && trend[i-1]<0) {
flagh=1;
}
else {
flagh=0;
}

if (trend[i]>0 && Dn[i]<Dn[i-1]){
Dn[i]=Dn[i-1];
}

if (trend[i]<0 && Up[i]>Up[i-1])
{ Up[i]=Up[i-1];
}

if (flag==1)
{ Up[i]=(H[i]+L[i])/2+(Factor*iATR[i]);;
}
if (flagh==1)
{ Dn[i]=(H[i]+L[i])/2-(Factor*iATR[i]);;
}
if (trend[i]==1) {
TrendUp[i]=Dn[i];
if (changeOfTrend == 1) {
TrendUp[i-1] = TrendDown[i-1];
changeOfTrend = 0;
}
}
else if (trend[i]==-1) {
TrendDown[i]=Up[i];
if (changeOfTrend == 1) {
TrendDown[i-1] = TrendUp[i-1];
changeOfTrend = 0;
}
}
}

Buy = trend==1;
Sell=trend==-1;

Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
Short=Sell;
Cover=Buy;

BuyPrice=ValueWhen(Buy,C);
SellPrice=ValueWhen(Sell,C);
ShortPrice=ValueWhen(Short,C);
CoverPrice=ValueWhen(Cover,C);

Title = EncodeColor(colorWhite)+ "Trending Signal " + " - " + Name() + " - " + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorWhite) +
" - " + Date() +" - "+"\n" +EncodeColor(colorRed) +"Op-"+O+" "+"Hi-"+H+" "+"Lo-"+L+" "+
"Cl-"+C+" "+ "Vol= "+ WriteVal(V)+"\n"+
EncodeColor(colorLime)+
WriteIf (Buy , " GO LONG / Reverse Signal at "+C+" ","")+
WriteIf (Sell , " EXIT LONG / Reverse Signal at "+C+" ","")+"\n"+EncodeColor(colorYellow)+
WriteIf(Sell , "Total Profit/Loss for the Last Trade Rs."+(C-BuyPrice)+"","")+
WriteIf(Buy , "Total Profit/Loss for the Last trade Rs."+(SellPrice-C)+"","");


TrendSL=IIf(trend==1,TrendUp,TrendDown);

for(i=BarCount-1;i>1;i--)
{
if(Buy[i] == 1)
{
entry = C[i];
sig = "BUY";
sl = TrendSL[i];
tar1 = entry + (entry * .0050);
tar2 = entry + (entry * .0092);
tar3 = entry + (entry * .0179);

bars = i;
i = 0;
}
if(Sell[i] == 1)
{
sig = "SELL";
entry = C[i];
sl = TrendSL[i];
tar1 = entry - (entry * .0050);
tar2 = entry - (entry * .0112);
tar3 = entry - (entry * .0212);


bars = i;
i = 0;
}
}
Offset = 20;
Clr = IIf(sig == "BUY", colorLime, colorRed);
ssl = IIf(bars == BarCount-1, TrendSL[BarCount-1], Ref(TrendSL, -1));
sl = ssl[BarCount-1];


messageboard = ParamToggle("Message Board","Show|Hide",1);
if (messageboard == 1 )
{
GfxSelectFont( "Tahoma", 13, 100 );
GfxSetBkMode( 1 );
GfxSetTextColor( colorWhite );

if ( sig =="BUY")
{
GfxSelectSolidBrush( colorBlue ); // this is the box background color
}
else
{
GfxSelectSolidBrush( colorRed ); // this is the box background color
}
pxHeight = Status( "pxchartheight" ) ;
xx = Status( "pxchartwidth");
Left = 1100;
width = 310;
x = 5;
x2 = 290;

y = pxHeight;

GfxSelectPen( colorGreen, 1); // broader color
GfxRoundRect( x, y - 98, x2, y , 7, 7 ) ;
GfxTextOut( ( "Trend Calls"),13,y-100);
GfxTextOut( (" "),27,y-100);
GfxTextOut( ("Last " + sig + " Signal came " + (BarCount-bars-1) * Interval()/60 + " mins ago"), 13, y-80) ; // The text format location
GfxTextOut( ("" + WriteIf(sig =="BUY",sig + " @ ",sig + " @") + " : " + entry + " | Price : " + C), 13, y-60);
GfxTextOut( ("Trailing SL : " + Ref(TrendSL,-1) + " (" + WriteVal(IIf(sig == "SELL",entry-sl,sl-entry), 2.2) + ")"), 13, y-40);
GfxTextOut( ("Current P/L : " + WriteVal(IIf(sig == "BUY",(C-entry),(entry-C)),2.2)), 13, y-22);;
}

function GetSecondNum()
{
Time = Now( 4 );
Seconds = int( Time % 100 );
Minutes = int( Time / 100 % 100 );
Hours = int( Time / 10000 % 100 );
SecondNum = int( Hours * 60 * 60 + Minutes * 60 + Seconds );
return SecondNum;
}
RequestTimedRefresh( 1 );
TimeFrame = Interval();
SecNumber = GetSecondNum();
Newperiod = SecNumber % TimeFrame == 0;
SecsLeft = SecNumber - int( SecNumber / TimeFrame ) * TimeFrame;
SecsToGo = TimeFrame - SecsLeft;

x=Param("xposn",50,0,1000,1);
y=Param("yposn",380,0,1000,1);

GfxSelectSolidBrush( ColorRGB( 230, 230, 230 ) );
GfxSelectPen( ColorRGB( 230, 230, 230 ), 2 );
if ( NewPeriod )
{
GfxSelectSolidBrush( colorYellow );
GfxSelectPen( colorYellow, 2 );
}
//GfxRoundRect( x+45, y+40, x-3, y-2, 0, 0 );
//GfxSetBkMode(1);
GfxSelectFont( "Arial", 14, 700, False );
GfxSetTextColor( colorRed );
//GfxTextOut( "Time Left :"+SecsToGo+"", x, y );

//Generating Signals
PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorBlue, 0,L, Offset=-20);
PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorRed, 0,H, Offset=-20);

_SECTION_END();


_SECTION_BEGIN("AlertsMsg");
AlertIf( Buy, "", "Buy @ " + C ,1, 1+2+4+8 ,1);
AlertIf( Sell, "", "Sell @ " + C ,2, 1+2+4+8 ,1);
_SECTION_END();
_SECTION_BEGIN("Oz trail");
// E.M.Pottasch, Jan 2014

PersistentPath="C:\\Program Files\\AmiBroker64\\PersistentVariables\\";  // **** You need to create a directory to store the persistent variable ****

selectDate=ParamDate("Start date","08/01/2011",0);
per1=Param("Length ATR",20,1,150,1); // ATR length
fac1=Param("Chandelier Factor",2,1,10,0.1); // chandelier factor
tog1=ParamToggle("Trail value","Close|High&Low",1);
tog2=ParamToggle("Trail method","Chandelier|VSTOP",0);
trg1=ParamTrigger("Remove All Persistent Variables", "Click Here"); 

//persistant variables by Herman van Bergen
function PersistentVarSet( VarName, Number )
{
VarName=VarName+Name()+GetChartID();
global PersistentPath;
String = NumToStr(Number);
fh = fopen( PersistentPath+VarName+".pva","w" );
if( fh )
{
fputs( String, fh );
fclose( fh );
}
return fh;
}
function PersistentVarGet( VarName )
{
VarName=VarName+Name()+GetChartID();
global PersistentPath;
fh = fopen( PersistentPath+VarName+".pva","r" );
if( fh )
{
String = fgets( fh );
fclose( fh );
Number = StrToNum(String);
}
else Number = Null;
return Number;
}
function PersistentVarRemove( VarName )
{
VarName=VarName+Name()+GetChartID();
global PersistentPath;
Fn=PersistentPath + VarName + ".pva";
fh=fdelete( Fn ) ;
return fh;
}
function PersistentVarRemoveAll( VarName )
{
global PersistentPath;
Fn=PersistentPath + VarName + "*.*";
fh=fdelete( Fn ) ;
return fh;
}
if(trg1)
{
 PersistentVarRemoveAll( "ss" );
 //PersistentVarRemove( "ss" );
}

sdate=StaticVarGet("sdate");
sdatep=PersistentVarGet("ss");
"selectDate: " + WriteVal(selectdate);
"sdatep: " + WriteVal(sdatep); 
"sdate: " + WriteVal(sdate);

if(IsEmpty(sdatep) AND IsEmpty(sdate))
{
 StaticVarSet("sdate",selectdate);
 PersistentVarSet("ss",selectDate);
}
else if(!IsEmpty(sdatep) AND IsEmpty(sdate))
{
 StaticVarSet("sdate",selectdate);
}
else if(IsEmpty(sdatep) AND !IsEmpty(sdate))
{
 PersistentVarSet("ss",selectDate);
}
else if(sdate!=selectDate AND !IsEmpty(sdatep) AND !IsEmpty(sdate))
{
 StaticVarSet("sdate",selectdate);
 PersistentVarSet("ss",selectDate);
}

///////////// Chandelier code by E.M.Pottasch, adapted from Chuck Lebeau's code
function vstop_func(trBull,trBear,hl,per)
{
 trailArray=0;
 if(hl)
 {
  hh=H;
  ll=L;
 }
 else
 {
  hh=C;
  ll=C; 
 }
 for(i=per+1;i<BarCount;i++)
 {
  prev=trailArray[i-1];
 
  if (C[i]>=prev AND C[i-1]>=prev)//long continuation
  {
   trailArray[i]=Max(prev,hh[i]-trBull[i]);
  }
  else if (C[i]<=prev AND C[i-1]<=prev)//short continuation
  {
   trailArray[i]=Min(prev,ll[i]+trBear[i]);
  } 
  else if (C[i]>prev AND C[i-1]<=prev)//long trigger 
  {
   trailArray[i]=hh[i]-trBull[i];
  }
  else if (C[i]<prev AND C[i-1]>=prev)//short trigger
  {
   trailArray[i]=ll[i]+trBear[i]; 
  }
 }
 return trailArray;
}
///////////// end Chandelier code by E.M.Pottasch, adapted from Chuck Lebeau's code
///////////// Chandelier code by Geoff Mulhall
function aChandelierCl(AtrARRAY, AtrMult) {
// Skip empty values
i = 0;
do {result[i] = Null;
 i++;
 } 
while( i < BarCount AND (IsNull(O[i]) OR IsNull(H[i]) OR IsNull(L[i]) OR
IsNull(C[i]) ) ); 
First = i;

if (i < BarCount - 1) {
 HHC[First]    = C[First];
 LLC[First]    = C[First];

 if (C[First + 1] > HHC[First]) {
  HHC[First + 1] = C[First + 1];
  LLC[First + 1] = LLC[First];
  result[First] = C[First] - AtrMult * AtrARRAY[First];
  iTrade = "LT";
 }
 else {
  if (C[First + 1] < LLC[First]) {
   HHC[First = 1] = HHC[First];
   LLC[First + 1] = LLC[First + 1];
   result[First] = C[First] + AtrMult * AtrARRAY[First];
   iTrade = "ST";
  }
  else {
   HHC[First + 1] = C[First + 1];
   LLC[First + 1] = C[First + 1];
   result[First] = C[First] - AtrMult * AtrARRAY[First];
   iTrade = "LT";
  }
 }

 for( i = First; i < BarCount; i++ ) {
  if (iTrade == "LT") {
   if (C[i] >= result[i-1]) {        // Long Trade is continuing
    if (C[i] > C[i-1]) {
     HHC[i] = C[i];
    }
    else { 
     HHC[i] = HHC[i-1];
    }
    result[i] = HHC[i] - AtrMult * AtrARRAY[i];
    if (result[i] < result[i-1]) {
     result[i] = result[i-1];
    }
   }
   else {                            // Long trade Exit triggered
    iTrade = "ST";
    LLC[i] = C[i];
    result[i] = C[i] + AtrMult * AtrARRAY[i];
   }
  }
  else {                               // Short trade
   if (C[i] <= result[i-1]) {
    if (C[i] <= C[i-1]) {        // Short Trade is continuing
     LLC[i] = C[i];
    }
    else {
     LLC[i] = LLC[i-1];
    }
    result[i] = LLC[i] + AtrMult * AtrARRAY[i];
    if (result[i] > result[i-1]) {
     result[i] = result[i-1];
    }
   }
   else {                           //Short Trade Exit is triggered
    iTrade = "LT";
    HHC[i]  = C[i];
    result[i] = C[i] - AtrMult * AtrARRAY[i];
   }
  }
 }
}
return result;
}
function aChandelierHL(AtrARRAY, AtrMult) {
// Skip empty values
i = 0;
do {result[i] = Null;
 i++;
 } 
while( i < BarCount AND (IsNull(O[i]) OR IsNull(H[i]) OR IsNull(L[i]) OR
IsNull(C[i]) ) ); 
First = i;

if (i < BarCount - 1) {
 HHC[First]    = H[First];
 LLC[First]    = L[First];

 if (H[First + 1] > HHC[First]) {
  HHC[First + 1] = H[First + 1];
  LLC[First + 1] = LLC[First];
  result[First] = H[First] - AtrMult * AtrARRAY[First];
  iTrade = "LT";
 }
 else {
  if (L[First + 1] < LLC[First]) {
   HHC[First = 1] = HHC[First];
   LLC[First + 1] = LLC[First + 1];
   result[First] = L[First] + AtrMult * AtrARRAY[First];
   iTrade = "ST";
  }
  else {
   HHC[First + 1] = C[First + 1];
   LLC[First + 1] = C[First + 1];
   result[First] = H[First] - AtrMult * AtrARRAY[First];
   iTrade = "LT";
  }
 }

 for( i = First; i < BarCount; i++ ) {
  if (iTrade == "LT") {
   if (C[i] >= result[i-1]) {        // Long Trade is continuing
    if (H[i] > H[i-1]) {
     HHC[i] = H[i];
    }
    else { 
     HHC[i] = HHC[i-1];
    }
    result[i] = HHC[i] - AtrMult * AtrARRAY[i];
    if (result[i] < result[i-1]) {
     result[i] = result[i-1];
    }
   }
   else {                            // Long trade Exit triggered
    iTrade = "ST";
    LLC[i] = L[i];
    result[i] = L[i] + AtrMult * AtrARRAY[i];
   }
  }
  else {                               // Short trade
   if (C[i] <= result[i-1]) {
    if (L[i] <= L[i-1]) {        // Short Trade is continuing
     LLC[i] = L[i];
    }
    else {
     LLC[i] = LLC[i-1];
    }
    result[i] = LLC[i] + AtrMult * AtrARRAY[i];
    if (result[i] > result[i-1]) {
     result[i] = result[i-1];
    }
   }
   else {                           //Short Trade Exit is triggered
    iTrade = "LT";
    HHC[i]  = H[i];
    result[i] = H[i] - AtrMult * AtrARRAY[i];
   }
  }
 }
}
return result;
}
///////////// end Chandelier code by Geoff Mulhall

if(!tog2)
{
 if(tog1) trailArray=aChandelierHL(ATR(per1),fac1);
 else trailArray=aChandelierCl(ATR(per1),fac1);
}
else
{
 trBull=fac1*ATR(per1);
 trBear=fac1*ATR(per1);
 trailArray=vstop_func(trBull,trBear,tog1,per1);trailarray=IIf(trailarray==0,Null,trailarray);
}

tt=IIf(DateNum()>=sdatep,1,0);
trailArray=IIf(tt,trailArray,Null);

Plot(IIf(trailArray>C,trailArray,Null),"\ntrailShort",ParamColor("ColorTrailShort",ColorRGB(255,0,0)),styleStaircase);
Plot(IIf(trailArray<C,trailArray,Null),"\ntrailLong",ParamColor("ColorTrailLong",ColorRGB(0,255,0)),styleStaircase);
Plot(TSF(Low,100),"",colorWhite,styleThick);
_SECTION_END();

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây

- Advertisement -

Mới nhất

The Moment In New York – BST Thu Đông của Vascara mang cảm hứng thời trang New York đến Việt Nam

The Moment In New York - BST Thu Đông của Vascara mang cảm hứng thời trang New York đến...

Chiến sự Syria: Tuyên bố đáng suy ngẫm của TT Putin về “điều cần phải làm” của Nga ở Idlib, Syria

Chiến sự Syria: Tuyên bố đáng suy ngẫm của TT Putin về “điều cần phải làm” của Nga ở Idlib, Syria Tổng thống Nga...

Nằm liệt, phải bỏ nghề suốt 3 tháng vì thoái hoá cột sống, gai cột sống: Tôi đã hồi phục nhờ cách này

Nằm liệt, phải bỏ nghề suốt 3 tháng vì thoái hoá cột sống, gai cột sống: Tôi đã hồi phục nhờ cách này The Yoga...

Việc ca sĩ Duy Mạnh phát ngôn gây sốc: Vì sao chưa bị tẩy chay?

Việc ca sĩ Duy Mạnh phát ngôn gây sốc: Vì sao chưa bị tẩy chay? Chuyên gia truyền thông Nguyễn Ngọc Long (trưởng nhóm...

VASEP dự báo xuất khẩu tôm sang Mỹ tăng 5% vào cuối năm

VASEP dự báo xuất khẩu tôm sang Mỹ dự kiến tăng khoảng 5% trong quí cuối năm nay. Hiệp hội khuyến nghị tôm bao...

Vietnam Airlines “cấm cửa” pin Lithium và thiết bị sử dụng pin Lithium hư hỏng

Vietnam Airlines "cấm cửa" pin Lithium và thiết bị sử dụng pin Lithium hư hỏng Việc “cấm cửa” nói trên của Vietnam Airlines được...

Rộ tin ông chủ cà phê Trung Nguyên sắm Mercedes-Benz G 500 Edition 35 độc nhất Việt Nam vào bộ sưu tập G-Class khủng

Rộ tin ông chủ cà phê Trung Nguyên sắm Mercedes-Benz G 500 Edition 35 độc nhất Việt Nam vào bộ sưu tập G-Class khủng ...
- Advertisement -

More Articles Like This

- Advertisement -