Stock Portfolio Organizer
The ultimate porfolio management solution.
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
TD Setup for Amibroker (AFL)
A complete Perl’s trading rules using TD Setup indicator.
Screenshots
Similar Indicators / Formulas
Indicator / Formula
//TD Buy Setup TDBuySetup = Sum(C < Ref(C, -4), 9) == 9 AND Ref(C, -9) > Ref(C, -13); //TD Sell Setup TDSellSetup = Sum(C > Ref(C, -4), 9) == 9 AND Ref(C, -9) < Ref(C, -13); //TDST Support TDST_Support = ValueWhen(TDSellSetup, LLV(L, 9)); Plot(TDST_Support, "TDST Support", colorAqua, styleLine); //TDST Resistance TDST_Resistance = ValueWhen(TDBuySetup, HHV(H, 9)); Plot(TDST_Resistance, "TDST Resistence", colorLightOrange, styleLine); //TD Buy Setup "Perfection" TDBS_P = (L <= Ref(L, -2) & L <= Ref(L, -3)) | (Ref(L, -1) <= Ref(L, -2) & Ref(L, -1) <= Ref(L, -3)); //TD Sell Setup "Perfection" TDSS_P = (H >= Ref(H, -2) & H >= Ref(H, -3)) | (Ref(H, -1) >= Ref(H, -2) & Ref(H, -1) >= Ref(H, -3)); //Perl's Rules for Trading TD Buy Setups Objectively TradingTDBS = TDBuySetup & TDBS_P & (LLV(C, 9) > TDST_Support); //Perl's Rules for Trading TD Sell Setups Objectively TradingTDSS = TDSellSetup & TDSS_P & (HHV(C, 9) < TDST_Resistance); //TD Buy Risk Level TDBS_RL = IIf(L < Ref(L, -1), TDST_Support - (H - L), IIf(Ref(L, -1) < L, TDST_Support - (Ref(H, -1) - Ref(L, -1)), IIf(L == Ref(L, -1), TDST_Support - Max(H - L, Ref(H, -1) - Ref(L, -1)), 0))); //TD Sell Risk Level TDSS_RL = IIf(H > Ref(H, -1), TDST_Resistance + (H - L), IIf(Ref(H, -1) > H, TDST_Resistance + (Ref(H, -1) - Ref(L, -1)), IIf(H == Ref(H, -1), TDST_Resistance + Max(H - L, Ref(H, -1) - Ref(L, -1)), 0))); TDBS_C = ((TDST_Resistance - C) / (C - TDBS_RL)) >= 1.5; Plot(IIf(TradingTDBS & TDBS_C, TDBS_RL, Null), "", colorRed, styleDots); PlotShapes(IIf(TradingTDBS & TDBS_C, shapeSmallSquare, shapeNone), colorBrightGreen, 0, L); TDSS_C = ((C - TDST_Support) / (TDSS_RL - C)) >= 1.5; Plot(IIf(TradingTDSS & TDSS_C, TDSS_RL, Null), "", colorRed, styleDots); PlotShapes(IIf(TradingTDSS & TDSS_C, shapeSmallSquare, shapeNone), colorBrightGreen, 0, H); //Show Numbers & Stop Loss d = 0.5 * ATR(10); for(i = 0; i < BarCount; i++) { if (TDBuySetup[i]) { if (TradingTDBS[i] & TDBS_C[i]) PlotText("Stop Loss\n@" + NumToStr(TDBS_RL[i], 1.2), i, TDBS_RL[i] - d[i], colorRed); for (j = 0; j < 9; j++) { PlotText(NumToStr(9 - j, 1.0), i - j, L[i - j] - d[i], colorGreen); } } if(TDSellSetup[i]) { if (TradingTDSS[i] & TDSS_C[i]) PlotText("Stop Loss\n@" + NumToStr(TDSS_RL[i], 1.2), i, TDSS_RL[i] + d[i], colorRed); for (j = 0; j < 9; j++) PlotText(NumToStr(9 - j, 1.0), i - j, H[i - j] + d[i], colorRed); } } //Price Plot(C, "Close", IIf((TDBuySetup & TDBS_P) | (TDSellSetup & TDSS_P), colorYellow, colorLavender), styleBar, Null, Null, 0, 0, 1); Title = "{{DATE}} - "+ Name() + " - " + " Open = " + NumToStr(O, 1.2) + ", High = " + NumToStr(H, 1.2) + ", Low = " + NumToStr(L, 1.2) + ", Close = " + NumToStr(C, 1.2) + "\n" + EncodeColor(colorAqua) + "TDST Support" + EncodeColor(colorDefault) + " = " + NumToStr(TDST_Support, 1.2) + ", " + EncodeColor(colorLightOrange) + "TDST Resistance" + EncodeColor(colorDefault) + " = " + NumToStr(TDST_Resistance, 1.2) + "\n" + WriteIf(TDBuySetup, WriteIf(TDBS_P, EncodeColor(colorYellow) + "Perfected" + EncodeColor(colorDefault), "Unperfected ") + " TD Buy Setup\n", "") + WriteIf(TDSellSetup, WriteIf(TDSS_P, EncodeColor(colorYellow) + "Perfected" + EncodeColor(colorDefault), "Unperfected ") + " TD Sell Setup\n", "") + WriteIf(TDBuySetup, "\nPerl's Rules for Trading TD Buy Setups Objectively\n" + "1. When the TD Buy Setup has been perfected, that is, the low of TD Buy Setup bar eight or nine is less than the lows of TD Buy Setup bars six and seven, " + WriteIf(TDBS_P, "[" + EncodeColor(colorBrightGreen) + "Yes" + EncodeColor(colorDefault) + "]", "[" + EncodeColor(colorRed) + "No" + EncodeColor(colorDefault) + "]") + "\n" + "2. When none of the bars within the TD Buy Setup has closed below TDST support, " + WriteIf((LLV(C, 9) > TDST_Support), "[" + EncodeColor(colorBrightGreen) + "Yes" + EncodeColor(colorDefault) + "]", "[" + EncodeColor(colorRed) + "No" + EncodeColor(colorDefault) + "]") + "\n" + "3. When the Close of TD Buy Setup bar nine is in Close proximity to TDST support. " + WriteIf(TDBS_C, "[" + EncodeColor(colorBrightGreen) + "Yes" + EncodeColor(colorDefault) + "]", "[" + EncodeColor(colorRed) + "No" + EncodeColor(colorDefault) + "]"), "") + WriteIf(TDSellSetup, "\nPerl's Rules on When to Initiate a Short Position Following a Completed TD Sell Setup\n" + "1. When the TD Sell Setup has been perfected,that is,when the high of TD Sell Setup bar eight or nine is greater than the highs of TD Sell Setup bars six and seven, " + WriteIf(TDSS_P, "[" + EncodeColor(colorBrightGreen) + "Yes" + EncodeColor(colorDefault) + "]", "[" + EncodeColor(colorRed) + "No" + EncodeColor(colorDefault) + "]") + "\n" + "2. When none of the bars within the TD Sell Setup has closed above TDST resistance, " + WriteIf((HHV(C, 9) < TDST_Resistance), "[" + EncodeColor(colorBrightGreen) + "Yes" + EncodeColor(colorDefault) + "]", "[" + EncodeColor(colorRed) + "No" + EncodeColor(colorDefault) + "]") + "\n" + "3. When the close of TD Sell Setup bar nine is in close proximity to TDST resistance. " + WriteIf(TDSS_C, "[" + EncodeColor(colorBrightGreen) + "Yes" + EncodeColor(colorDefault) + "]", "[" + EncodeColor(colorRed) + "No" + EncodeColor(colorDefault) + "]"), "") + WriteIf(TradingTDBS & TDBS_C, "\n\n" + EncodeColor(colorBrightGreen) + "Trading a TD Buy Setup" + EncodeColor(colorDefault) + "\nEntry price = " + NumToStr(C, 1.2) + "\nStop loss = " + NumToStr(TDBS_RL, 1.2) + "\nRisk return = " + NumToStr((TDST_Resistance - C) / (C - TDBS_RL), 1.2), "") + WriteIf(TradingTDSS & TDSS_C, "\n\n" + EncodeColor(colorBrightGreen) + "Trading a TD Sell Setup" + EncodeColor(colorDefault) + "\nEntry price = " + NumToStr(C, 1.2) + "\nStop loss = " + NumToStr(TDSS_RL, 1.2) + "\nRisk return = " + NumToStr((C - TDST_Support) / (TDSS_RL - C), 1.2), ""); Buy = TradingTDBS & TDBS_C; Short = TradingTDSS & TDSS_C;
11 comments
Leave Comment
Please login here to leave a comment.
Back
Hi,
did you program other demark indicators ?
Hi,
Thanks for sharing a afl of TD Setup with explanation .
Regards,
Sam21
val2004, i’m developing the TD Sequencial Countdown but i need a few days to complete the program.
Thanks
Hi,
HOpe to see how the perl TD and sequential works when you complete the other one, best of luck.
Thanks
keep up the good work.do you consider coding later on TD Wave ?
getting a syntax error,
ln 62, col 127error 16, too many arguments
vivekkumarbhat15, are you using Amibroker 5.6? if not, update else try copy & paste formula again.
nope i am using 5.3. anyways got it sorted. thanks
Did you consider gaps while coding…
Hi,
Many thanks for sharing your afl of TD Setup with explanation
Kind regards,
Derek2209