A unique Amibroker AFL code HELP !!!!!

guptak03

Well-Known Member
#1
Fnd's as i have afl's library :rofl:..
i want some one HELP to do a unique code ..

THE CODE AS FALLOWS ...

i want a buy signal has to be changed as sell signal and same for sell it has to be buy signal ...with buy,sell,cover,short too for back testing ..

i now many will laugh on me but i SERIOUSLY NEED this code or is their any way to change it while backtesting it ...
:):p:eek:
 
#2
Fnd's as i have afl's library :rofl:..
i want some one HELP to do a unique code ..

THE CODE AS FALLOWS ...

i want a buy signal has to be changed as sell signal and same for sell it has to be buy signal ...with buy,sell,cover,short too for back testing ..

i now many will laugh on me but i SERIOUSLY NEED this code or is their any way to change it while backtesting it ...
:):p:eek:
Ok here goes

Open the AFL code in editor

Step 01: Find & Replace (Control+H) all Buy with Buy01
Step 02: Replace all Short with Buy
Step 03: Replace all Buy01 with Short

Step 04: Replace all Sell with Sell01
Step 05: Replace all Cover with Sell
Step 06: Replace all Sell01 with Cover

Enjoy :rofl::rofl::rofl:


.:) Happy
 

guptak03

Well-Known Member
#5
PHP:
_SECTION_BEGIN("Background_Setting - ");
SetChartBkGradientFill( ParamColor("BgTop", colorBlack),
ParamColor("BgBottom", colorDarkGrey),ParamColor("TitleBack",colorGrey40) );
SetChartBkColor(ParamColor("Outer Panel",colorPaleBlue));
SetChartOptions(0,chartShowArrows|chartShowDates);
SetBarFillColor(IIf(C>O,ParamColor("Candle UP Color", colorGreen),IIf(C<=O,ParamColor("Candle Down Color", colorRed),colorLightGrey)));
Plot(C,"Price",IIf(C>O,ParamColor("Wick UP Color", colorDarkGreen),IIf(C<=O,ParamColor("Wick Down Color", colorDarkRed),colorLightGrey)),64,0,0,0,0);
grid_day = IIf(Day()!=Ref(Day(),-1),1,0);
Plot(grid_day,"",31,styleHistogram|styleDots|styleNoLabel|styleOwnScale);
_SECTION_END();


_SECTION_BEGIN("Custom ADX settings");

range = Param("ADX Range", 14, 2, 200, 1 );
no=Param("TSL val",5,2,25,1);
fc=Param("tgt fct",0.004,0.0025,1,0.01);


pd=PDI(range);
md=MDI(range);

a=Cross(pd,md);
b=Cross(md,pd);

a=ExRem(a,b);
b=ExRem(b,a);

col=IIf(a,ColorRGB(0,100,0),ColorRGB(100,0,0));

//Plot(a,"",col,styleHistogram|styleDashed|styleOwnS cale|styleNoLabel,0,1,0,0);
//Plot(b,"",col,styleHistogram|styleDashed|styleOwnS cale|styleNoLabel,0,1,0,0);

function TBR(no)
{
dres=HHV(H,no);
dsup=LLV(L,no);
davd=IIf(H>Ref(dres,-1),1,IIf(L<Ref(dsup,-1),-1,0));
davn=ValueWhen(davd!=0,davd,1);
dtsl1=IIf(davn==1,dsup,dres);
return dtsl1;
}

dtsl=TBR(no);


Buy = a AND (H>O );//AND O!=H);
Sell= b AND (L<O); //AND O!=L);

Buy01= ExRem(Buy, Sell);
Sell = ExRem(Sell, Buy);


SellPrice=ValueWhen(Sell,O,1);
BuyPrice=ValueWhen(Buy,O,1);

Buy=Ref(Buy,0); // buy at the open of next bar of the signal
Sell=Ref(Sell,0); // sell at the open of next bar of the signal

PlotShapes( IIf( Buy, shapeUpArrow, shapeNone ), 51, layer = 0,yposition = Low, offset = -20);
PlotShapes( IIf( Sell, shapeDownArrow, shapeNone ), 42, layer = 0, yposition = High, offset = -20); //shapeSmallCircle


dist = 1.5*ATR(8);

for( i = 0; i < BarCount; i++ )
{
if( Buy[i] ) PlotText( "" + C[ i ], i, L[ i ] - dist[i], colorBrightGreen); // alteration - C instead of H/L
if( Sell[i] ) PlotText( "" + C[ i ], i, H[ i ] + dist[i], colorOrange);
}

for (i=BarCount-1; i>1; i--) {
if (Buy[i] == 1)
{
entry = O[i];
sig = "BUY";
sl = dtsl[i];
tar1 = entry + (entry * fc);
tar2 = entry + (entry * 2*fc);
bars = i;
i = 0;
}

if (Sell[i] == 1)
{
sig = "SELL";
entry = O[i];
sl = dtsl[i];
tar1 = entry - (entry * fc);
tar2 = entry - (entry * 2*fc);
bars = i;
i = 0;
}
}
GraphXSpace=10;
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);


_SECTION_END();

_SECTION_BEGIN("Title");

Title =EncodeColor(colorYellow) + " ADX x~OVER " + "\n"
+EncodeColor(colorWhite)+ Name () + " | "
+EncodeColor(33) + Date() + "\n "
+EncodeColor(colorWhite)+ "Op : "+ EncodeColor(colorWhite)+ O + " | "
+EncodeColor(colorWhite)+ "Hi : "+ EncodeColor(colorWhite)+ H + " | "
+EncodeColor(colorWhite)+ "Lo : "+ EncodeColor(colorWhite)+ L + " | "
+EncodeColor(colorWhite)+ "Cls : "+ WriteIf(C> Ref(C, -1),EncodeColor(colorBrightGreen),EncodeColor(colorOrange))+ C + " | "
+EncodeColor(colorWhite)+ "Change : ("+ WriteIf(C> Ref(C, -1),EncodeColor(colorBrightGreen),EncodeColor(colorOrange)) + WriteVal(C-Ref(C,-1))+" Rs."
+EncodeColor(colorWhite)+ " /"+ WriteIf(C> Ref(C, -1),EncodeColor(colorBrightGreen),EncodeColor(colorRed))+ WriteVal( ROC( C, 1 ))+""+ " % "
+EncodeColor(colorWhite)+ ")\nVolume : " + WriteIf(V> Ref(V, -1),EncodeColor(colorBrightGreen),EncodeColor(colorOrange))+ WriteVal(V,1.0)+ "\n\n"
+EncodeColor(colorWhite)+ "Tgt1 : Rs "+ EncodeColor(colorWhite)+tar1 + "\n "
+EncodeColor(colorWhite)+ "Tgt2 : Rs "+ EncodeColor(colorWhite)+tar2 + "\n\n "
+EncodeColor(colorWhite)+ "Trail SL : Rs "+ EncodeColor(colorWhite)+ dtsl ;


_SECTION_END();
happy singh ji can you chk this afl>..
 
#6
Hi

In the AFL you have posted only 2 lines need to change rest will happen automatically

Code:
Buy = a AND (H>O );//AND O!=H); 
Sell= b AND (L<O); //AND O!=L); 

Buy01= ExRem(Buy, Sell); 
Sell = ExRem(Sell, Buy);
In place of the above, replace code below

Code:
Sell = a AND (H>O );//AND O!=H); 
Buy  = b AND (L<O); //AND O!=L); 

Buy = ExRem(Buy, Sell); 
Sell = ExRem(Sell, Buy);
Cheers

:) Happy
 
#7
If you can identify trending and non-trending phases of the markets

use the straight Signals during trending markets

use the reverse (ulta) Signals during non-trending markets
 
#8
help me out to add to afl code,
afl 1 -

_SECTION_BEGIN("HA SuperTrend");

SetBarsRequired(100000,0);

GraphXSpace = 15;

SetChartOptions(0,chartShowArrows|chartShowDates);

SetChartBkColor(ParamColor("bkcolor",ColorRGB(0,0, 0)));

GfxSetBkMode(0);

GfxSetOverlayMode(1);

//SetBarFillColor(IIf(C>O,ParamColor("Candle UP Color", colorGreen),IIf(C<=O,ParamColor("Candle Down Color", colorRed),colorLightGrey)));

//Plot(C,"\nPrice",IIf(C>O,ParamColor("Wick UP Color", colorDarkGreen),IIf(C<=O,ParamColor("Wick Down Color", colorDarkRed),colorLightGrey)),64,0,0,0,0);

HACLOSE=(O+H+L+C)/4;
HaOpen = AMA( Ref( HaClose, -1 ), 0.5 );
HaHigh = Max( H, Max( HaClose, HaOpen ) );
HaLow = Min( L, Min( HaClose, HaOpen ) );
PlotOHLC( HaOpen, HaHigh, HaLow, HaClose, "" + Name(), colorBlack, styleCandle | styleNoLabel );


//SetTradeDelays(1,1,1,1);

SetPositionSize(100,spsShares);





_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",15,1,100,1);


Up=(HaHigh+HaLow)/2+(Factor*ATR(Pd));

Dn=(HaHigh+HaLow)/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 = Null;

TrendDown = Null;



trend=1;





if (Close>Up[i-1]) {

trend=1;

if (trend[i-1] == -1) changeOfTrend = 1;



}

else if (Close<Dn[i-1]) {

trend=-1;

if (trend[i-1] == 1) changeOfTrend = 1;

}

else if (trend[i-1]==1) {

trend=1;

changeOfTrend = 0;

}

else if (trend[i-1]==-1) {

trend=-1;

changeOfTrend = 0;

}



if (trend<0 && trend[i-1]>0) {

flag=1;

}

else {

flag=0;

}



if (trend>0 && trend[i-1]<0) {

flagh=1;

}

else {

flagh=0;

}



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

Dn=Dn[i-1];

}



if (trend<0 && Up>Up[i-1])

{ Up=Up[i-1];

}



if (flag==1)

{ Up=(HaHigh+HaLow)/2+(Factor*iATR);;

}

if (flagh==1)

{ Dn=(HaHigh+HaLow)/2-(Factor*iATR);;

}

if (trend==1) {

TrendUp=Dn;

if (changeOfTrend == 1) {

TrendUp[i-1] = TrendDown[i-1];

changeOfTrend = 0;

}

}

else if (trend==-1) {

TrendDown=Up;

if (changeOfTrend == 1) {

TrendDown[i-1] = TrendUp[i-1];

changeOfTrend = 0;

}

}

}



Plot(TrendUp,"Trend",colorGreen);

Plot(TrendDown,"Down",colorRed);



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)+ "HA Super Trend AFL code from www.marketcalls.in" + " - " + 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)+"","");



PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-40);

PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,L, Offset=-50);

PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-45);

PlotShapes(IIf(Short, shapeSquare, shapeNone),colorRed, 0, H, Offset=40);

PlotShapes(IIf(Short, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50);

PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45);


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




for(i=BarCount-1;i>1;i--)

{

if(Buy == 1)

{

entry = C;

sig = "BUY";

sl = TrendSL;

tar1 = entry + (entry * .0050);

tar2 = entry + (entry * .0092);

tar3 = entry + (entry * .0179);



bars = i;

i = 0;

}

if(Sell == 1)

{

sig = "SELL";

entry = C;

sl = TrendSL;

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];





Plot(LineArray(bars-Offset, tar1, BarCount, tar1,1), "", Clr, styleLine|styleDots, Null, Null, Offset);

Plot(LineArray(bars-Offset, tar2, BarCount, tar2,1), "", Clr, styleLine|styleDots, Null, Null, Offset);

Plot(LineArray(bars-Offset, tar3, BarCount, tar3,1), "", Clr, styleLine|styleDots, Null, Null, Offset);



//Plot(LineArray(bars-Offset, sl, BarCount, sl,1), "", colorDarkRed, styleLine|styleLine, Null, Null, Offset);

//Plot(LineArray(bars-Offset, entry, BarCount, entry,1), "", colorGreen, styleLine|styleLine, Null, Null, Offset);



/*

for (i=bars; i <BarCount;i++)

{

PlotText(""+sig+"@"+entry, BarCount-5,entry,Null,colorBlue);

PlotText("T1@"+tar1,BarCount-5,tar1,Null,Clr);PlotText("T2@"+tar2,BarCount-5,tar2,Null,Clr);PlotText ("T3@"+tar3,BarCount-5,tar3,Null,Clr);



}*/



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( ( "Marketcalls - HA Supertrend"),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), 13, y-60);

GfxTextOut( ("HA Trailing SL : " + Ref(TrendSL,-1) + " (" + WriteVal(IIf(sig == "SELL",entry-sl,sl-entry), 2.2) + ")"), 13, y-40);

/*GfxTextOut( ("TGT:1 : " + tar1), 13, y -80);

GfxTextOut( ("TGT:2 : " + tar2), 13,y-60);

GfxTextOut( ("TGT:3 : " + tar3), 13,y-40);*/

GfxTextOut( ("Current P/L : " + WriteVal(IIf(sig == "BUY",(C-entry),(entry-C)),2.2)), 13, y-22);;
}

_SECTION_END();





afl - 2


_SECTION_BEGIN("Magfied Market Price");

//Magfied Market Price
FS=Param("Font Size",30,11,100,1);
GfxSelectFont("Times New Roman", FS, 700, True );
GfxSetBkMode( colorWhite );
GfxSetTextColor( ParamColor("Color",colorBrightGreen) );
Hor=Param("Horizontal Position",1200,1,1200,1);
Ver=Param("Vertical Position",12,1,830,1);
GfxTextOut(""+C, Hor , Ver );
YC=TimeFrameGetPrice("C",inDaily,-1);
DD=Prec(C-YC,2);
xx=Prec((DD/YC)*100,2);
GfxSelectFont("Times New Roman", 11, 700, True );
GfxSetBkMode( colorBlack );
GfxSetTextColor(ParamColor("Color",colorYellow) );
GfxTextOut(""+DD+" ("+xx+"%)", Hor , Ver+45 );



_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;

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

GfxSelectSolidBrush( ColorRGB( 230, 230, 230 ) );
GfxSelectPen( ColorRGB( 230, 230, 230 ), 2 );
if ( NewPeriod )
{
GfxSelectSolidBrush( colorYellow );
GfxSelectPen( colorYellow, 2 );
Say( "New period" );
}
//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 );
_SECTION_END();




i try to add both but the TIME LEFT AND MAGIFIED PRICE HIDE ALWAYS