Respected All Seniors,Members & Expert's
Above afl is TURTLE SYSTEM,
in this afl i want Buy sell signal's whitout CHANDELIAR EXIT, I DONT WATNT TRALING STOPLOSS and remove extra buy sell signals.
Sir is it possible ?
Warm Regards
Chinmay
/*
Formula Name: Turtle trading system
Collector/Uploader:
www.stockbangladesh.com
E-mail:
[email protected]
Origin: Turtle trading experimemnt Chandelier exit based on Chuck Lebeau's work
Keywords: Trend trading
Level: Basic
Flags: System
*/
//=============================SETUP================ ======================
pds = 20;
MAFAST = EMA( Close, 20 );
MASLOW = EMA( Close, 40 );
DonchianUpper = HHV( Ref( H, -1 ), pds ); // Highest high value of highs in last 20 periods
DonchianLower = LLV( Ref( L, -1 ), pds ); // Lowest low value of low in last 20 periods
DonchianMiddle = ( DonchianUpper + DonchianLower ) / 2;
UpTrend = C > ( LLV( L, 20 ) + 2 * ATR( 10 ) ) AND EMA( Close, 20 ) > EMA( Close, 40 );
DnTrend = C < ( HHV( H, 20 ) - 2 * ATR( 10 ) ) AND EMA( Close, 20 ) < EMA( Close, 40 );
Color = IIf( UpTrend, colorBlue, IIf( DnTrend, colorOrange, colorCustom11 ) );
// Plots a 20 period Donchian channel
Plot( C, "Price", Color, styleCandle | styleThick );
Plot( DonchianUpper, "Donchian U", ParamColor( "DU Color", colorBlue ), ParamStyle( "DU Style", styleLine ) );
Plot( DonchianMiddle, "Donchian M", ParamColor( "DM Color", colorBrightGreen ), ParamStyle( "DM Style", styleNoLine ) );
Plot( DonchianLower, "Donchian L", ParamColor( "DL Color", colorRed ), ParamStyle( "DL Style", styleLine ) );
Title = WriteVal( DonchianUpper, 1.2 ) + WriteVal( DonchianLower, 1.2 ) + WriteVal( DonchianMiddle, 1.2 );
//=============================TRIGGERS AND ENTRIES=======================
Buy = High > Ref( HHV( High, 20 ), -1 ) AND MAFAST > MASLOW; // Enters long trade
Short = Low < Ref( LLV( Low, 20 ), -1 ) AND MAFAST < MASLOW; // Enters short trade
//=============================EXITS================ ======================
_SECTION_BEGIN( "Chandelier Exit" );
SetBarsRequired( 50, 50 );
Multiple = Param( "Multiple", 3, 0.5, 10, 0.1 ); // How many ATR's to be allowed below the highest high since latest "buy" bar
ATRPeriods = Param( "ATR Periods", 20, 1, 50, 1 ); // How many periods to use for the ATR
stopArray = Null;
atrArray = ATR( ATRPeriods );
HHArray = Null;
LLArray = Null;
exitArray = Null;
trendDirection = 0;
for ( i = 0; i < BarCount; i++ )
{
if ( Short
)
{
// we just triggered a short trade. Set up starting values
stopArray = Low + ( Multiple * atrArray );
LLArray = Low; // initialize the lowest low array
trendDirection = 0 - 1; // going short. Base bar.
}
if ( Buy )
{
// we just triggered a long trade. Set up starting values
stopArray = High - ( Multiple * atrArray );
HHArray = High; // initialize the highest high array
trendDirection = 1; // going long. Base bar flag is now set.
}
exitArray = 0;
if ( trendDirection > 0 )
{
// keep track of the highest high, highest close, highest low, etc..
if ( trendDirection > 1 )
{
// We are in the trade (2nd day or later)
if ( Low < stopArray[i-1] )
{
//stop got hit. Reset the trade.
trendDirection = 0; // OK. wait until we trigger another trade.
exitArray = 1;
}
else
{
// keep track of the HHV since trade was entered.
if ( High > HHArray[i-1] )
HHArray = High;
else
HHArray = HHArray[i-1];
// Compute the stop based on the HHV.
stopArray = HHArray - ( Multiple * atrArray );
}
}
trendDirection = trendDirection + 1;
}
if ( trendDirection < 0 )
{
// keep track of the lowest low, lowest close, lowest high, etc..
if ( trendDirection < 0 - 1 )
{
// We are in the trade (2nd day or later)
if ( High > stopArray[i-1] )
{
// our stop got hit. Reset the trade.
trendDirection = 0;
exitArray = 0 - 1;
}
else
{
// keep track of the LLV since trade was entered.
if ( Low < LLArray[i-1] )
LLArray = Low;
else
LLArray = LLArray[i-1];
// Compute the stop based on the LLV.
stopArray = LLArray + ( Multiple * atrArray );
}
}
trendDirection = trendDirection - 1;
}
if ( trendDirection == 0 )
{
stopArray = 0;
LLArray = 0;
HHArray = 0;
}
}
Sell = Cover = exitarray;
Buy = ExRem( Buy, Sell );
Sell = ExRem( Sell, Buy );
Short = ExRem( Short, Cover );
Cover = ExRem( Cover, Short );
PlotShapes( Buy*shapeUpArrow, colorBrightGreen, 0, Low );
PlotShapes( Short*shapeDownArrow, colorRed, 0, High );
PlotShapes( abs( exitArray )*shapeHollowCircle, colorYellow, 0, ValueWhen( stopArray, stopArray, 1 ), 0 );
Plot( stopArray, "Chand", ParamColor( "Chand Color:", colorYellow ), ParamStyle( "Chand Style", styleDashed ) );
_N( Title = EncodeColor( colorYellow ) + StrFormat( "{{NAME}} - {{INTERVAL}} - {{DATE}}--Turtle_System_Rev_A \n OP= %g Hi= %g Lo= %g CL= %g (%.1f%%) \n Vol= " + WriteVal( V, 1.0 ) + "\n" + " {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ) );//=cnb
//_N(Title = "LLArray: " + LLArray + ", HHArray:" + HHArray +", stopArray"+stopArray);
//PlotShapes(shapeCircle * Sell, colorRed);
//PlotShapes(shapeCircle * Cover, colorGreen);
_SECTION_END();
// Plots a 20 period Donchian channel
pds=20;
DonchianUpper =HHV(Ref(H,-1),pds);
DonchianLower = LLV(Ref(L,-1),pds);
DonchianMiddle = (DonchianUpper+DonchianLower)/2;
Plot(DonchianUpper,"DU",colorBlue,styleDashed);
Plot(DonchianMiddle,"DM",colorBlue,styleHidden);
Plot(DonchianLower,"DL",colorBlue,styleDashed);
_SECTION_BEGIN("Moving Average");
x=Param("EMA 1",20,1,200,1);
y=Param("EMA 2", 50,1,200,1);
z=Param("EMA 3",100,1,200,1);
zz=Param("EMA 4",200,1,200,1);
EMA20= EMA(C,x);
EMA50=EMA(C,y);
EMA100= EMA(C,z);
EMA200=EMA(C,zz);
SUT=EMA(C,5)>EMA20;
SDT=EMA20>EMA(C,5);
mut= EMA20>EMA50;
mdt=EMA20<EMA50;
LUT=EMA50>EMA200;
LDT=EMA200>EMA50;
_SECTION_END();
_SECTION_BEGIN("Mid Term Price Trend");
MPT = IIf( mut, colorGreen, IIf( mdt, colorRed, colorYellow));
Plot( 3, "", MPT, styleArea|styleOwnScale|styleNoLabel, 0, 100);
_SECTION_END();
_SECTION_BEGIN("Short Term Price Trend");
SPT = IIf( EMA(C,5)>EMA20, colorBrightGreen, IIf( EMA20>EMA(C,5), colorPink, colorYellow));
Plot( 6, "", SPT, styleArea|styleOwnScale|styleNoLabel, 0, 100);
_SECTION_END();
_SECTION_BEGIN("Long Term Price Trend");
LPT = IIf( EMA(C,50)>EMA200, colorBlue, IIf( EMA200>EMA(C,50), colorOrange, colorYellow));
Plot( 9, "", LPT, styleArea|styleOwnScale|styleNoLabel, 0, 100);
_SECTION_END();