Code MA trading for Amibroker (AFL) the best
Code cho amibroker 2 đường trung bình động, thêm tính năng tín hiệu nến rất chuyên nghiệp.
 |
Code for Amibroker |
//==============================================================
// Signal Buy Sell
// Production by: Trading Plus
// Date: 16/10/2012
// Contact: tradingplus.dt@gmail.com
// Version: 5.2.1.1
//==============================================================
_SECTION_BEGIN("Chart Settings");
OUTcolor = ParamColor("Outer Panel Color",ColorRGB(25, 25, 25));
IINUPcolor = ParamColor("Inner Panel Upper",ColorRGB(45, 45, 45));
INDNcolor = ParamColor("Inner Panel Lower",ColorRGB(45, 45, 45));
TitleColor = ParamColor("Title Color ",ColorRGB(25, 25, 25));
SetChartOptions(0,chartShowDates|chartShowArrows);
stn= Param("Digit Length",10,1,40,1);
td=1.2;//String Decimals
TickSz = 0.05;
GraphXSpace=10;
_SECTION_END();
//////////////////////////////////////////////////////////////////
_SECTION_BEGIN("Background Text");
C11=ParamColor("up panel",ColorRGB(25, 25, 25));
C12=ParamColor("dn panel",ColorRGB(25, 25, 25) );
C13=Param("fonts",20,10,50,1 );
C14=Param("left-right",2.1,1.0,5.0,0.1 );
C15=Param("up-down",8,1,30,1 );
Miny = Status("axisminy");
Maxy = Status("axismaxy");
lvb = Status("lastvisiblebar");
fvb = Status("firstvisiblebar");
pxwidth = Status("pxwidth");
pxheight = Status("pxheight");
GfxSetBkMode( 0 );
GfxSelectFont("Verdana", 12, 500, False, False, 0);
GfxSetTextColor(ColorRGB(34, 34, 34));
GfxSetTextAlign( 6 );
pricechange=(C-Ref(C,-1))*100/Ref(C,-1);
changeponit=C-Ref(C,-1);
Vlp=Param("Volume lookback period",15,10,300,10);
Vrg=MA(V,Vlp);
St = StDev(Vrg,Vlp);
Vp3 = Vrg + 3*st;
Vp2 = Vrg + 2*st;;
Vp1 = Vrg + 1*st;;
Vn1 = Vrg -1*st;
Vn2 = Vrg -2*st;
x=Param("xposn",1,0,1000,1);
y=Param("yposn",1,0,1000,1);
GfxGradientRect( 1, 1, 2000, 60, ColorRGB(25, 25, 25), ColorRGB(25, 25, 25));GfxSetBkMode(0);
_SECTION_END();
//////////////////////////////////////////////////////////////////
_SECTION_BEGIN("Name, Date & Time");
GfxSelectFont( "Verdana", 16, 600, False );
GfxSetTextColor( colorRGB(251,251,0));
GfxTextOut( Name(), x+150, y+10);
GfxSelectFont( "Verdana", 14, 600, False );
GfxSetTextColor(colorRGB(255,255,255));
GfxTextOut( Date(), x+400, y+10 );
_SECTION_END();
//////////////////////////////////////////////////////////////////
_SECTION_BEGIN("Time Left");
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;
GfxSelectSolidBrush( ColorRGB(0,0,0));
GfxSelectPen( ColorRGB(0,0,0) , 3 );
if ( NewPeriod )
{
GfxSelectSolidBrush( ColorRGB(0,0,0));
GfxSelectPen( colorRGB(0,0,0), 3 );
}
GfxSelectFont( "Verdana", 14, 600, False );
GfxSetTextColor( colorRGB(255, 119, 255) );
GfxTextOut( "Time Left:" +SecsToGo+"/" +NumToStr( TimeFrame, 1.0 ), x+650, y+10 );
_SECTION_END();
//////////////////////////////////////////////////////////////////
_SECTION_BEGIN("Current Market Price");
GfxSelectFont("Verdana", 18, 600, False );
GfxSetTextColor( colorRGB(161, 202, 241));
GfxTextOut("LTP:" +WriteVal(C,td), x+1200,y+35 );
_SECTION_END();
//////////////////////////////////////////////////////////////////
_SECTION_BEGIN("O,H,L,C,V");
GfxSelectFont( "Verdana", 14, 600, False );
GfxSetTextColor( ColorRGB(255,255,255) );
GfxTextOut( "Open:"+WriteVal(O,td), x+850, y+10 );
GfxSelectFont( "Verdana", 14, 600, False );
GfxSetTextColor( ColorRGB(0,255,0) );
GfxTextOut( "High:"+WriteVal(H,td), x+1050, y+10 );
GfxSelectFont( "Verdana", 14, 600, False );
GfxSetTextColor( colorRGB(255, 69, 0) );
GfxTextOut( "Low:"+WriteVal(L,td), x+1250, y+10 );
GfxSelectFont( "Verdana", 14, 600, False );
GfxSetTextColor( colorRGB(255,255,0) );
GfxTextOut( "Close:"+WriteVal(C,td), x+1450, y+10 );
td1 = 1.0; //String Decimals
GfxSelectFont( "Verdana", 14, 600, False );
GfxSetTextColor( colorRGB(255, 119, 255) );
GfxTextOut( "Vol:"+WriteVal(V,td1, stn), x+1650, y+10 );
_SECTION_END();
//////////////////////////////////////////////////////////////////
_SECTION_BEGIN("Heiken Ashi");
HaClose[0] = (Open[0]+High[0]+Low[0]+Close[0]) / 4;
HaOpen[0] = (HaClose[0] + Open[0]) / 2;
HaHigh[0] = Max( High[0], Max( HaClose[0], HaOpen[0] ) );
HaLow[0] = Min( Low[0], Min( HaClose[0], HaOpen[0] ) );
for (i=1; i<BarCount; i++)
{
HaClose[i] = (Open[i]+High[i]+Low[i]+Close[i]) / 4;
Haopen[i] = (HaClose[i-1] + HaOpen[i-1]) / 2; // Here is the problem when using Arrays: Haopen always uses its own previous value
HaHigh[i] = Max( High[i], Max( HaClose[i], HaOpen[i] ) );
Halow[i] = Min( Low[i], Min( HaClose[i], HaOpen[i] ) );
}
range = 3;
BarColor = IIf( PDI(range) > MDI(range), ColorRGB(222, 236, 255),ColorRGB(30, 144, 255));
PlotOHLC( HaOpen, HaHigh, HaLow, HaClose, " " , BarColor, styleCandle|styleNoLabel, Null, Null, 0, 0, 3);
_SECTION_END();
//////////////////////////////////////////////////////////////////
_SECTION_BEGIN("Price Line");
PriceLineColor=ColorRGB(161, 202, 241);
Barsback = 500;
FirstBar = BarCount - BarsBack;
YY = IIf(BarIndex() >= Firstbar,EndValue(C),Null);
Plot(YY,"Current Price",PriceLineColor, styleLine|styleNoLabel|styleThick, 2);
side = 1;
dist = 0;
for( i = 0; i < BarCount; i++ )
if(i+side== BarCount) PlotText( "\n " + C[ i ] , i, YY[ i ]-dist, ColorRGB(255, 8, 0));
_SECTION_END();
//////////////////////////////////////////////////////////////////
_SECTION_BEGIN("Double Weighted Moving Averages");
AP = (HaLow+HaHigh)/2;
// DWMA 9
function DWMA(price,periods)
{
e1=WMA(price,periods);
e2=WMA(e1,Periods);
DWMAi=2*e1-e2;
return DWMAi;
}
MA1 = DWMA(AP, 9);
Plot ( MA1, " ", ColorRGB(255, 0, 255) , styleNoLabel, Null, Null, 0 , 0, 2);
// HMA 13
MA2 = HMA(AP, 13);
Plot ( MA2, " ", ColorRGB(255, 255, 0) , styleNoLabel, Null, Null, 0 , 0, 2);
_SECTION_END();
//////////////////////////////////////////////////////////////////
_SECTION_BEGIN("Mood");
BKswitch = ParamToggle("Mood","On,Off");
OUTcolor = ParamColor("Outer Panel Color",ColorRGB(25, 25, 25));
INUPcolor = ParamColor("Inner Panel Upper",ColorRGB(45, 45, 45));
INDNcolor = ParamColor("Inner Panel Lower",ColorRGB(45, 45, 45));
TitleColor = ParamColor("Title Color ",ColorRGB(25, 25, 25));
if (NOT BKswitch)
{
SetChartBkColor(OUTcolor); // color of outer border
SetChartBkGradientFill(INUPcolor,INDNcolor,TitleColor); // color of inner panel
}
_SECTION_END();
//////////////////////////////////////////////////////////////////
Comments
Post a Comment