Help reqd for buy and sell signals

#1
Hi everybody
After reading several posts and threads on this forum i have decided to take help of very very intelligent people .
sir, i have a Afl on which i want to plot buy and sell arrows. when red line ends and green line starts immediately i want " down arrow". In the same way when red line ends and green line starts i want green "up "arrow. I do not want signals on cross of two line but due consideration on red and blue line only. Sir i do not know technical knowledge so please translate my language as per your own understanding. I am posting a Afl on which i want buy and sell arrow.

Here is the Afl code on which i want buy and sell arrow.

AFL CODE :

_SECTION_BEGIN("Double SMI");
SetChartOptions(3,chartShowDates);
SetChartOptions(0,chartShowArrows);
SetChartBkColor(ParamColor("Outer Panel",colorPaleBlue));
SetChartBkGradientFill(ParamColor("Upper Chart",1),ParamColor("Lower Chart",1));

LookBackD = Optimize("LookBackD",Param("LookbackD", 10, 1, 100 ),1,30,1);
Smooth1D = Optimize("Smooth1D",Param("Smooth1D", 3, 1, 100 ),1,30,1);
Smooth2D = Param("Smooth2D", 5, 1, 20 );
TriggerD = Param("SignalD", 3, 1, 10);
PP = ParamField("Price field",-1);
SMILevel = Param("Level", 60, 10, 60, 10);

HHD = HHV( H, LookBackD );
LLD = LLV( L, LookBackD );
HHW = HHV( H, 5*LookBackD );
LLW = LLV( L, 5*LookBackD );

StoMomD = 100 * EMA( EMA( PP - 0.5 * ( HHD + LLD ), Smooth1D ), Smooth2D ) /
( 0.5 * EMA( EMA( HHD - LLD, Smooth1D ), Smooth2D ) );
StoMomW = 100 * EMA( EMA( PP - 0.5 * (HHW + LLW), 5*Smooth1D ), Smooth2D ) /
( 0.5 * EMA( EMA( HHW - LLW, 5*Smooth1D ), Smooth2D ) );


Plot (StoMomD,"",IIf(StoMomD> Ref(StoMomD,-1),colorBrightGreen,colorRed), styleThick);

Plot(0,"",colorOrange, styleLine);
Plot( SMILevel,"",colorBlack,styleDashed);
Plot(-SMILevel,"",colorBlack,styleDashed);
Plot( 80,"",colorOrange,styleLine);
Plot(-80,"",colorOrange,styleLine);
 

Raju

Well-Known Member
#2
Try adding the following.Please check if Buy/Sell is as u had expected or I have misunderstood what u wanted.

Buy = StoMomD > Ref(StoMomD,-1);
Sell = StoMomD < Ref(StoMomD,-1);

Filter = Buy OR Sell;
Buy = ExRem(Buy,Sell);
Sell = ExRem(Sell,Buy);

PlotShapes(Sell*shapeDownArrow,colorRed);
PlotShapes(Buy*shapeUpArrow,colorGreen);
 
#3
Dear Rajuji:clapping:
Thanks a lot for your help.Your suggestion have worked well. I am convinced that their are real intelligent people with humble heart to help others. Thanks a lot again
 
#4
Dear Rajuji
I have one more Afl in which i want same type of buy and sell signals. Sell signals where red line starts and buy signals where green line starts. I tried but getting syntax error. please help me to plot buy and sell signals for same.

Afl code :

////////////////////////////////////////////////////////////////////////////////////
_SECTION_BEGIN( "Chart Settings" );
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));

SetChartOptions( 0, chartShowArrows | chartShowDates );
SetChartBkColor( ParamColor( "Outer Panel", colorDarkGrey ) );
SetChartBkGradientFill( ParamColor( "Upper Chart", colorBlack ), ParamColor( "Lower Chart", colorBlack ) );
_SECTION_END();
Kisa = Param( "KISA GN", 12, 0.1, 500, 0.1 );
Uzun = Param( "UZUN GN", 43, 0.1, 100, 0.1 );
Tetik = Param( "TETI.K GN", 21, 0.1, 50, 0.1 );
_SECTION_BEGIN( "Periodlar" );
function KisaPeriodTopla( Kisa )
{
ka = Kisa;

for ( i = 1; i < Kisa; i++ )
{
ka = ka + i;
}

return ka;
}

function UzunPeriodTopla( Uzun )
{
au = Uzun;

for ( iu = 0; iu < Uzun; iu++ )
{
au = au + iu;
}

return au;
}

function TetikPeriodTopla( Tetik )
{
a = Tetik;

for ( i = 0; i < Tetik; i++ )
{
a = a + i;
}

return a;
}

_SECTION_END();
_SECTION_BEGIN( " Gn Toplamlar?" );
function KisaGunTopla( Kisa )
{
a = Kisa;
kd = a * C;

for ( i = 0;i < Kisa;i++ )
{
b = Ref( C, -i );

if ( a > 0 )
a--;

kd = kd + ( a * b );
}

return kd;
}

function UzunGunTopla( Uzun )
{
au = Uzun;
ku = au * C;

for ( iu = 0;iu < Uzun;iu++ )
{
bu = Ref( C, -iu );

if ( au > 0 )
au--;

ku = ku + ( au * bu );
}

return ku;
}

Period12Toplam = KisaPeriodTopla( Kisa );
Day12Toplam = KisaGunTopla( Kisa );
LWMA12 = Day12Toplam / Period12Toplam;
Period43Toplam = UzunPeriodTopla( Uzun );
Day43Toplam = UzunGunTopla( Uzun );
LWMA43 = Day43Toplam / Period43Toplam;
_SECTION_END();

_SECTION_BEGIN( " TSR HESAPLANMASI" );
function XDAY( Tetik )
{
X = ( ( 2 * LWMA12 ) - LWMA43 );
aX = Tetik;
kX = AX * X;

for ( iX = 0;iX < Tetik;iX++ )
{
bX = Ref( X, -iX );

if ( aX > 0 )
aX--;

kX = kX + ( aX * bX );
}

return kX;
}

XDayToplam = XDAY( Tetik );
XPeriodToplam = TetikPeriodTopla( Tetik );
TSR = ( XDayToplam / XPeriodToplam );
_SECTION_END();
_SECTION_BEGIN( " EKRANA BASMA I.S,LEMI." );
Plot( C, "Kapanis", colorBlue, styleCandle );
tsrcolor = IIf( TSR > Ref( TSR, -1 ), colorLime, colorRed );
Plot( TSR, "TSR", tsrcolor, styleDots + styleLine );
_SECTION_END();

_SECTION_BEGIN( "EXPLORATION" );
//AL=TSR>Ref(TSR,-1);
//SAT=Ref(TSR,-1)>TSR;
AL = Cross( C, TSR );
SAT = Cross( TSR, C );
AL_status = WriteIf( AL, "Al?s, Yap", " " );
SAT_status = WriteIf( SAT, "Sat?s, Yap", " " );
AL_Col = IIf( AL, colorDarkGreen , colorWhite );
SAT_Col = IIf( SAT, colorRed, colorWhite );
Filter = AL OR SAT;
AddColumn( C, "KAPANIS,", 1.2, IIf( C > Ref( C, -1 ), colorBlue, colorRed ) );
AddTextColumn( AL_status, "TSR ALIS,", 1.2, colorWhite, AL_col );
AddTextColumn( SAT_status, "TSR SATIS,", 1.2, colorWhite, SAT_col );
_SECTION_END();
////////////////////////////////////////////////////////////////////////////////////
_SECTION_BEGIN("Magnified Market Price");
//by Vidyasagar, [email protected]//
FS=Param("Font Size",30,11,100,1);
GfxSelectFont("Times New Roman", FS, 700, True );
GfxSetBkMode( colorWhite );
GfxSetTextColor( ParamColor("Color",colorBlue) );
Hor=Param("Horizontal Position",373,1,1200,1);
Ver=Param("Vertical Position",45,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( colorWhite );
GfxSetTextColor(ParamColor("Color",colorBlack) );
GfxTextOut(""+DD+" ("+xx+"%)", Hor , Ver+45 );

_SECTION_END();
 

johnnypareek

Well-Known Member
#5
Hi,
Here it is bro :)

HTML:
////////////////////////////////////////////////////////////////////////////////////
_SECTION_BEGIN( "Chart Settings" );
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));

SetChartOptions( 0, chartShowArrows | chartShowDates );
SetChartBkColor( ParamColor( "Outer Panel", colorDarkGrey ) );
SetChartBkGradientFill( ParamColor( "Upper Chart", colorBlack ), ParamColor( "Lower Chart", colorBlack ) );
_SECTION_END();
Kisa = Param( "KISA GN", 12, 0.1, 500, 0.1 );
Uzun = Param( "UZUN GN", 43, 0.1, 100, 0.1 );
Tetik = Param( "TETI.K GN", 21, 0.1, 50, 0.1 );
_SECTION_BEGIN( "Periodlar" );
function KisaPeriodTopla( Kisa )
{
ka = Kisa;

for ( i = 1; i < Kisa; i++ )
{
ka = ka + i;
}

return ka;
}

function UzunPeriodTopla( Uzun )
{
au = Uzun;

for ( iu = 0; iu < Uzun; iu++ )
{
au = au + iu;
}

return au;
}

function TetikPeriodTopla( Tetik )
{
a = Tetik;

for ( i = 0; i < Tetik; i++ )
{
a = a + i;
}

return a;
}

_SECTION_END();
_SECTION_BEGIN( " Gn Toplamlar?" );
function KisaGunTopla( Kisa )
{
a = Kisa;
kd = a * C;

for ( i = 0;i < Kisa;i++ )
{
b = Ref( C, -i );

if ( a > 0 )
a--;

kd = kd + ( a * b );
}

return kd;
}

function UzunGunTopla( Uzun )
{
au = Uzun;
ku = au * C;

for ( iu = 0;iu < Uzun;iu++ )
{
bu = Ref( C, -iu );

if ( au > 0 )
au--;

ku = ku + ( au * bu );
}

return ku;
}

Period12Toplam = KisaPeriodTopla( Kisa );
Day12Toplam = KisaGunTopla( Kisa );
LWMA12 = Day12Toplam / Period12Toplam;
Period43Toplam = UzunPeriodTopla( Uzun );
Day43Toplam = UzunGunTopla( Uzun );
LWMA43 = Day43Toplam / Period43Toplam;
_SECTION_END();

_SECTION_BEGIN( " TSR HESAPLANMASI" );
function XDAY( Tetik )
{
X = ( ( 2 * LWMA12 ) - LWMA43 );
aX = Tetik;
kX = AX * X;

for ( iX = 0;iX < Tetik;iX++ )
{
bX = Ref( X, -iX );

if ( aX > 0 )
aX--;

kX = kX + ( aX * bX );
}

return kX;
}

XDayToplam = XDAY( Tetik );
XPeriodToplam = TetikPeriodTopla( Tetik );
TSR = ( XDayToplam / XPeriodToplam );
_SECTION_END();
_SECTION_BEGIN( " EKRANA BASMA I.S,LEMI." );
Plot( C, "Kapanis", colorBlue, styleCandle );
tsrcolor = IIf( TSR > Ref( TSR, -1 ), colorLime, colorRed );
Plot( TSR, "TSR", tsrcolor, styleDots + styleLine );

Buy=Cross(tsr,Ref(tsr,-1));
Sell=Cross(Ref(tsr,-1),tsr);
Filter = Buy OR Sell;
Buy = ExRem(Buy,Sell);
Sell = ExRem(Sell,Buy);

PlotShapes(Sell*shapeDownArrow,colorRed);
PlotShapes(Buy*shapeUpArrow,colorGreen); 

_SECTION_END();

_SECTION_BEGIN( "EXPLORATION" );
//AL=TSR>Ref(TSR,-1);
//SAT=Ref(TSR,-1)>TSR;
AL = Cross( C, TSR );
SAT = Cross( TSR, C );
AL_status = WriteIf( AL, "Al?s, Yap", " " );
SAT_status = WriteIf( SAT, "Sat?s, Yap", " " );
AL_Col = IIf( AL, colorDarkGreen , colorWhite );
SAT_Col = IIf( SAT, colorRed, colorWhite );
Filter = AL OR SAT;
AddColumn( C, "KAPANIS,", 1.2, IIf( C > Ref( C, -1 ), colorBlue, colorRed ) );
AddTextColumn( AL_status, "TSR ALIS,", 1.2, colorWhite, AL_col );
AddTextColumn( SAT_status, "TSR SATIS,", 1.2, colorWhite, SAT_col );
_SECTION_END();
////////////////////////////////////////////////////////////////////////////////////
_SECTION_BEGIN("Magnified Market Price");
//by Vidyasagar, [email protected]//
FS=Param("Font Size",30,11,100,1);
GfxSelectFont("Times New Roman", FS, 700, True );
GfxSetBkMode( colorWhite );
GfxSetTextColor( ParamColor("Color",colorBlue) );
Hor=Param("Horizontal Position",373,1,1200,1);
Ver=Param("Vertical Position",45,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( colorWhite );
GfxSetTextColor(ParamColor("Color",colorBlack) );
GfxTextOut(""+DD+" ("+xx+"%)", Hor , Ver+45 );

_SECTION_END();
johnnypareek at yahoo.com
 
#6
Dear Johny
Thanks a lot for taking time in solving my problem. I am new and do not have any technical knowledge for the same. Thanks for your help.
Will you please set buy and sell arrow in the Afl given below. The arrow should be at crossover point. Advance thanks to you or anybody else.

Here is the Afl code :

_SECTION_BEGIN("Unnamed 700");
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));

/* Chandelier Exit */
/* Geoff Mulhall Oct 2004 */
/* Requires chandelier plugin installed */

GraphXSpace = 5;

Plot(Close,"",colorBlack,styleCandle);
Plot(ChandelierCl(ATR(15),2.5),"",colorRed,styleLine);
Plot(ChandelierHL(ATR(15),2.5),"",colorBlue,styleLine);
_SECTION_END();

_SECTION_END();
_SECTION_BEGIN("Magnified Market Price 21 ema");
//by Vidyasagar, [email protected]//
FS=Param("Font Size",30,11,100,1);
GfxSelectFont("Times New Roman", FS, 700, True );
GfxSetBkMode( colorWhite );
GfxSetTextColor( ParamColor("Color",colorBlue) );
Hor=Param("Horizontal Position",373,1,1200,1);
Ver=Param("Vertical Position",45,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( colorWhite );
GfxSetTextColor(ParamColor("Color",colorBlack) );
GfxTextOut(""+DD+" ("+xx+"%)", Hor , Ver+45 );

_SECTION_END();
 

johnnypareek

Well-Known Member
#7
Dear escoindia,

here it is

HTML:
_SECTION_BEGIN("Unnamed 700");
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));

/* Chandelier Exit */
/* Geoff Mulhall Oct 2004 */
/* Requires chandelier plugin installed */

GraphXSpace = 5;

Plot(Close,"",colorBlack,styleCandle);
Plot(ChandelierCl(ATR(15),2.5),"",colorRed,styleLine);
Plot(ChandelierHL(ATR(15),2.5),"",colorBlue,styleLine);
_SECTION_END();

_SECTION_END();
_SECTION_BEGIN("Magnified Market Price 21 ema");
//by Vidyasagar, [email protected]//
FS=Param("Font Size",30,11,100,1);
GfxSelectFont("Times New Roman", FS, 700, True );
GfxSetBkMode( colorWhite );
GfxSetTextColor( ParamColor("Color",colorBlue) );
Hor=Param("Horizontal Position",373,1,1200,1);
Ver=Param("Vertical Position",45,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( colorWhite );
GfxSetTextColor(ParamColor("Color",colorBlack) );
GfxTextOut(""+DD+" ("+xx+"%)", Hor , Ver+45 );
Buy=Cross(C,ChandelierHL(ATR(15),2.5));
Sell=Cross(ChandelierHL(ATR(15),2.5),C);
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);

shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
PlotShapes( shape, IIf( Buy, colorBrightGreen, colorRed ),0, IIf( Buy, Low, High ) );

_SECTION_END();
hope it is what u want. u can add me in messanger also : johnnypareek at ya hoo dot com
 

mehtaka

Active Member
#8
Dear escoindia,

here it is

HTML:
_SECTION_BEGIN("Unnamed 700");
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));

/* Chandelier Exit */
/* Geoff Mulhall Oct 2004 */
/* Requires chandelier plugin installed */

GraphXSpace = 5;

Plot(Close,"",colorBlack,styleCandle);
Plot(ChandelierCl(ATR(15),2.5),"",colorRed,styleLine);
Plot(ChandelierHL(ATR(15),2.5),"",colorBlue,styleLine);
_SECTION_END();

_SECTION_END();
_SECTION_BEGIN("Magnified Market Price 21 ema");
//by Vidyasagar, [email protected]//
FS=Param("Font Size",30,11,100,1);
GfxSelectFont("Times New Roman", FS, 700, True );
GfxSetBkMode( colorWhite );
GfxSetTextColor( ParamColor("Color",colorBlue) );
Hor=Param("Horizontal Position",373,1,1200,1);
Ver=Param("Vertical Position",45,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( colorWhite );
GfxSetTextColor(ParamColor("Color",colorBlack) );
GfxTextOut(""+DD+" ("+xx+"%)", Hor , Ver+45 );
Buy=Cross(C,ChandelierHL(ATR(15),2.5));
Sell=Cross(ChandelierHL(ATR(15),2.5),C);
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);

shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
PlotShapes( shape, IIf( Buy, colorBrightGreen, colorRed ),0, IIf( Buy, Low, High ) );

_SECTION_END();
hope it is what u want. u can add me in messanger also : johnnypareek at ya hoo dot com
Still der are some syntax error coming ...
 

a1b1trader

Well-Known Member
#10
Still der are some syntax error coming ...
Johnny Bro
Yes there are some errors (using ami 5.5)
The details are as under

Line 11 Column 18 Error 31 Syntax
Line 12 Column 18 Error 31 Syntax
Line 32 Column 25 Error 31 Syntax
Line 33 Column 24 Error 31 Syntax
Line 34 Column 14 Error 29 Variable buy
Line 34 Column 19 Error 29 Variable sell
Line 35 Column 16 Error 29 Variable sell

Please rectify errors
Thanks
 

Similar threads