reqd help from kelvinhand

suktam

Active Member
#1
HI ,KELVINHAND

SIR

BELOW AFL I SEND FOR TREND CATCHING


SIR I WANT OPTIMIZATION AS PER MY SCRIPT & MY TIMEFRAME SO I TRY SOME MODIFICATION IN YOUR TREND CATCHING AFL BUT I NOT GOT ANY THING IN BACKTESTING,I CAN NOT DRAW BUY SELL ARROW SO PL CHECK AFL
& RECTIFY IT
THANKS.....NAVIN



/* Trend catching System

2012, Oct 6th - Modified and integrated By KelvinHand with the given AFL source
* BandStop - Done by Rajandran R
Author of www.marketcalls.in
BBands_Stop_v1.mq4 by [email protected]
translation in Amibroker AFL, E.M.Pottasch, 2011


Reference Guides from
- http://www.traderji.com/metatrader/5...ng-system.html
- http://www.fxfisherman.com/forums/fo...m-perfect.html

*/


_SECTION_BEGIN("Price Chart");

SetPositionSize( 2000, spsShares );
bgTop = ParamColor("BgTop", colorBlack);
bgBot = ParamColor("BgBottom", colorBlack);
SetChartBkGradientFill( bgTop ,bgBot, colorLightGrey);

pStyle = ParamList("Price Style", "Candle|Solid Candle|Bar|Line|Heikin-Ashi",2);
cBull = ParamColor("Price Bull", colorLime);
CBear = ParamColor("Price Bear", colorRed);
cLine = ParamColor("Price Line", colorWhite);


SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}}- {{INTERVAL}} {{DATE}} O= %g, H= %g, L= %g, C= %g (%.1f%%) V= " +WriteVal( V, 1.0 ) +"\n{{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) ));

ThisStyle = styleCandle;
ThisTitle = "";

_O=O; _C=C; _H=H; _L=L;

ThisColor = IIf( _C>_O, cBull, IIf(_C<_O, CBear, CLine));


switch (pStyle )
{

case "Solid Candle":
SetBarFillColor( ThisColor );
break;


case "Bar":
ThisStyle = styleBar;
break;

case "Line":
ThisStyle = styleLine;
ThisColor = cLine;
break;


case "Heikin-Ashi":
_C = (O+H+L+C)/4;
_O = AMA( Ref( _C, -1 ), 0.5 );
_H = Max( H, Max( _C, _O ) );
_L = Min( L, Min( _C, _O ) );

ThisColor = IIf(_C >= _O,CBull, CBear);
SetBarFillColor( ThisColor );

ThisColor = IIf(_C >= _O,cLine, cLine);
ThisTitle = "Heikin-Ashi";
break;

default:
SetBarFillColor( ThisColor );
ThisColor = cLine;

break;

}

PlotOHLC( _O, _H, _L, _C, ThisTitle, ThisColor, ThisStyle);
GraphXSpace = 8;

_SECTION_END();


_SECTION_BEGIN("BandStop");
/* Done by Rajandran R */
/* Author of www.marketcalls.in */
// BBands_Stop_v1.mq4 by [email protected]
// translation in Amibroker AFL, E.M.Pottasch, 2011

// Modified By KelvinHand

Length=Optimize("Length",Param("Length",20, 2,100,1),2,100,1); // Bollinger Bands Period
Deviation=Optimize("Deviation",Param("Deviation",2 ,1,10,0.5),1,10,0.5);
// Deviation was 2
MoneyRisk=Optimize("Money Risk",Param("Money Risk",1,0.5,3,0.5),0.5,3,0.5);

LineStyle=ParamToggle("Display line mode", "No|Yes", 1); // Display line mode: 0-no,1-yes
cUpTrendLine = ParamColor("UpTrendLine", ColorRGB(65,105,225));
cDnTrendLine = ParamColor("DownTrendLine", colorRed);




Buy=Cover=Cross (C,cUpTrendLine );
Sell=Short= Cross ( cDnTrendLine, C);
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);

// plot arrows

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



SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );












// Offset Factor
TurnedUp=Nz(StaticVarGet("TurnedUp"));
TurnedDown=Nz(StaticVarGet("TurnedDown"));
SoundON = ParamToggle("Sound","Off|On",1);


procedure CalcTrend_proc(bbtop,bbbot,Length,MoneyRisk,SoundO N,TurnedUp,TurnedDown)
{
global UpTrendLine;
global DownTrendLine;
global smax;
global smin;

UpTrendLine=Null;
DownTrendLine=Null;
smax=Null;
smin=Null;
trend=0;


for (i=Length+1; i<BarCount; i++)
{
smax=bbtop;
smin=bbbot;
if (C>smax[i-1]) trend=1;
if (C<smin[i-1]) trend=-1;
if(trend>0 && smin<smin[i-1]) smin=smin[i-1];
if(trend<0 && smax>smax[i-1]) smax=smax[i-1];
bsmax=smax+0.5*(MoneyRisk-1)*(smax-smin);
bsmin=smin-0.5*(MoneyRisk-1)*(smax-smin);
if(trend>0 && bsmin<bsmin[i-1]) bsmin=bsmin[i-1];
if(trend<0 && bsmax>bsmax[i-1]) bsmax=bsmax[i-1];
if (trend>0)
{
UpTrendLine=bsmin;
if (SoundON==True && !TurnedUp && i==BarCount-1 && IsEmpty(UpTrendLine[i-1]))
{
Say("Bollinger Bands going Up");
TurnedUp=StaticVarSet("TurnedUp",1);
TurnedDown=StaticVarSet("TurnedDown",0);

}
}

if (trend<0)
{
DownTrendLine=bsmax;
if (SoundON==True && !TurnedDown && i==BarCount-1 && IsEmpty(DownTrendLine[i-1]))
{
Say("Bollinger Bands going Down");
TurnedUp=StaticVarSet("TurnedUp",0);
TurnedDown=StaticVarSet("TurnedDown",1);
}
} //if (trend<0)
} //for
} //procedure

bbtop=BBandTop(C,Length,Deviation);
bbbot=BBandBot(C,Length,Deviation);

CalcTrend_proc(bbtop,bbbot,Length,MoneyRisk,SoundO N,TurnedUp,TurnedDown);
UpTrendSigNal=UpTrendLine AND IsEmpty(Ref(UpTrendLine,-1));
DownTrendSigNal=DownTrendLine AND IsEmpty(Ref(DownTrendLine,-1));

DisplayStyle = styleNoLabel|styleDots|styleNoTitle;
if(LineStyle == 0) DisplayStyle |= styleNoLine;


Plot(UpTrendLine,"UPTRENDLINE",cUpTrendLine,Displa yStyle);
Plot(DownTrendLine,"DOWNTRENDLINE",cDnTrendLine,Di splayStyle) ;

PlotShapes(IIf(UpTrendSignal,shapeCircle,shapeNone ),cUpTrendLine,0,bbbot,0);
PlotShapes(IIf(DownTrendSignal,shapeCircle,shapeNo ne),cDnTrendLine,0,bbtop,0);
_SECTION_END();

_SECTION_BEGIN("Wave Channel");

cOutLine = ParamColor("Outer Line", colorWhite);
cMidLine = ParamColor("Mid Line", colorGrey40);

Plot( MA(C, 34), "", cMidLine, styleNoLabel);
Plot( MA(H, 34), "", cOutLine, styleThick|styleNoLabel);
Plot( MA(L, 34), "", cOutLine, styleThick|styleNoLabel);


_SECTION_END();

_SECTION_BEGIN("WMA Rainbow");

cOutLine = ParamColor("Outline", colorBlue);
cInnerLine = ParamColor("Innerline", colorDarkBlue);


Plot( WMA(C, 2), "", cOutLine, styleThick|styleNoLabel);
Plot( WMA(C, 8), "", cOutLine, styleThick|styleNoLabel);

Plot( WMA(C, 3), "", cInnerLine, styleNoLabel);
Plot( WMA(C, 4), "", cInnerLine, styleNoLabel);
Plot( WMA(C, 5), "", cInnerLine, styleNoLabel);
Plot( WMA(C, 6), "", cInnerLine, styleNoLabel);
Plot( WMA(C, 7), "", cInnerLine, styleNoLabel);


_SECTION_END();
 
#2
HI,

any one tell me can i add sound alert in amibroker when my price reach to our target price.

For eg. I purchase Bank nifty @ 11500 and my target is 11550 and stoploss is 11475.

I want set sound alert if price reach to 11550 and secound sound alert if price reach to my stop loss price 11475.

if any one know about these pls tell me.

Thanks
Kishor.
 

Similar threads