यह रणनीति टिलसन टी 3 संकेतक और ट्विन ऑप्टिमाइज्ड ट्रेंड ट्रैकर (टीओटीटी) पर आधारित एक प्रवृत्ति अनुसरण प्रणाली है। यह विलियम्स % आर गति दोलनकर्ता को शामिल करके व्यापार संकेत उत्पादन को अनुकूलित करती है। यह रणनीति अलग खरीद और बिक्री पैरामीटर सेटिंग्स का उपयोग करती है, जो विभिन्न बाजार स्थितियों के लिए लचीली संवेदनशीलता समायोजन को सक्षम करती है।
इस रणनीति में तीन मुख्य घटक शामिल हैंः 1. टिलसन टी3 संकेतक - घातीय चलती औसत (ईएमए) का एक अनुकूलित संस्करण जो कई भारित ईएमए गणनाओं के माध्यम से एक चिकनी प्रवृत्ति रेखा का उत्पादन करता है। ट्विन ऑप्टिमाइज्ड ट्रेंड ट्रैकर (TOTT) - एक अनुकूलनशील ट्रेंड ट्रैकिंग टूल जो मूल्य कार्रवाई और अस्थिरता गुणांक के आधार पर समायोजित करता है, खरीद और बिक्री स्थितियों के लिए ऊपरी और निचले बैंड की गणना करता है। 3. विलियम्स % आर सूचक - ओवरबॉट और ओवरसोल्ड स्थितियों की पहचान करने के लिए उपयोग किया जाने वाला एक गति दोलनकर्ता।
सिग्नल जनरेशन तर्कः - खरीद की शर्तः जब टी3 रेखा टॉट ऊपरी बैंड से ऊपर जाती है और विलियम्स % आर -20 से ऊपर होता है (अतिविक्री) - बेचने की स्थितिः जब टी3 रेखा टॉट के निचले बैंड से नीचे जाती है और विलियम्स % आर -70 से ऊपर होता है
जोखिम नियंत्रण के सुझाव: - स्टॉप-लॉस तंत्र लागू करें - व्यापारिक मात्रा की सीमाएँ निर्धारित करें - प्रवृत्ति पुष्टिकरण फ़िल्टर जोड़ें
यह स्पष्ट तर्क के साथ रणनीति के बाद एक अच्छी तरह से संरचित प्रवृत्ति है। टी 3 संकेतक और टीओटीटी के संयोजन के माध्यम से, विलियम्स % आर फ़िल्टरिंग के साथ, यह प्रवृत्ति बाजारों में उत्कृष्ट प्रदर्शन करता है। जबकि कुछ अंतर्निहित अंतराल है, रणनीति पैरामीटर अनुकूलन और जोखिम प्रबंधन में सुधार के माध्यम से अच्छा व्यावहारिक मूल्य और विस्तार के लिए जगह दिखाती है।
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-15 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=6 strategy("FON60DK by leventsah", overlay=true) // Girdi AL t3_length = input.int(5, title="Tillson Per AL", minval=1) t3_opt = input.float(0.1, title="Tillson Opt AL", step=0.1, minval=0) tott_length = input.int(5, title="TOTT Per AL", minval=1) tott_opt = input.float(0.1, title="TOTT Opt AL", step=0.1, minval=0) tott_coeff = input.float(0.006, title="TOTT Coeff AL", step=0.001, minval=0) //GİRDİ SAT t3_lengthSAT = input.int(5, title="Tillson Per SAT", minval=1) t3_optSAT = input.float(0.1, title="Tillson Opt SAT", step=0.1, minval=0) tott_lengthSAT = input.int(5, title="TOTT Per SAT", minval=1) tott_opt_SAT = input.float(0.1, title="TOTT Opt SAT", step=0.1, minval=0) tott_coeff_SAT = input.float(0.006, title="TOTT Coeff SAT", step=0.001, minval=0) william_length = input.int(3, title="William %R Periyodu", minval=1) // Tillson T3 AL t3(src, length, opt) => k = 2 / (length + 1) ema1 = ta.ema(src, length) ema2 = ta.ema(ema1, length) ema3 = ta.ema(ema2, length) ema4 = ta.ema(ema3, length) c1 = -opt * opt * opt c2 = 3 * opt * opt + 3 * opt * opt * opt c3 = -6 * opt * opt - 3 * opt - 3 * opt * opt * opt c4 = 1 + 3 * opt + opt * opt * opt + 3 * opt * opt t3_val = c1 * ema4 + c2 * ema3 + c3 * ema2 + c4 * ema1 t3_val t3_value = t3(close, t3_length, t3_opt) t3_valueSAT = t3(close, t3_lengthSAT, t3_optSAT) // TOTT hesaplaması (Twin Optimized Trend Tracker) Var_Func(src, length) => valpha = 2 / (length + 1) vud1 = math.max(src - src[1], 0) vdd1 = math.max(src[1] - src, 0) vUD = math.sum(vud1, 9) vDD = math.sum(vdd1, 9) vCMO = (vUD - vDD) / (vUD + vDD) var float VAR = na VAR := valpha * math.abs(vCMO) * src + (1 - valpha * math.abs(vCMO)) * nz(VAR[1], src) VAR VAR = Var_Func(close, tott_length) VAR_SAT = Var_Func(close, tott_lengthSAT) //LONG MAvg = VAR fark = MAvg * tott_opt * 0.01 longStop = MAvg - fark longStopPrev = nz(longStop[1], longStop) longStop := MAvg > longStopPrev ? math.max(longStop, longStopPrev) : longStop shortStop = MAvg + fark shortStopPrev = nz(shortStop[1], shortStop) shortStop := MAvg < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop dir = 1 dir := nz(dir[1], dir) dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir MT = dir == 1 ? longStop : shortStop OTT = MAvg > MT ? MT * (200 + tott_opt) / 200 : MT * (200 - tott_opt) / 200 OTTup = OTT * (1 + tott_coeff) OTTdn = OTT * (1 - tott_coeff) //CLOSE MAvgS = VAR_SAT farkS = MAvgS * tott_opt_SAT * 0.01 longStopS = MAvgS - farkS longStopPrevS = nz(longStopS[1], longStopS) longStopS := MAvgS > longStopPrevS ? math.max(longStopS, longStopPrevS) : longStopS shortStopS = MAvgS + farkS shortStopPrevS = nz(shortStopS[1], shortStopS) shortStopS := MAvgS < shortStopPrevS ? math.min(shortStopS, shortStopPrevS) : shortStopS dirS = 1 dirS := nz(dirS[1], dirS) dirS := dirS == -1 and MAvgS > shortStopPrevS ? 1 : dirS == 1 and MAvgS < longStopPrevS ? -1 : dirS MTS = dirS == 1 ? longStopS : shortStopS OTTS = MAvgS > MTS ? MTS * (200 + tott_opt_SAT) / 200 : MTS * (200 - tott_opt_SAT) / 200 OTTupS = OTTS * (1 + tott_coeff_SAT) OTTdnS = OTTS * (1 - tott_coeff_SAT) // Calculation of Williams %R williamsR = -100 * (ta.highest(high, william_length) - close) / (ta.highest(high, william_length) - ta.lowest(low, william_length)) // Alım koşulu longCondition = (t3_value > OTTup) and (williamsR > -20) // Short koşulu (long pozisyonunu kapatmak için) shortCondition = (t3_valueSAT < OTTdnS) and (williamsR > -70) // Alım pozisyonu açma if (longCondition) strategy.entry("Long", strategy.long) // Short koşulu sağlandığında long pozisyonunu kapama if (shortCondition) strategy.close("Long") // Alım pozisyonu boyunca barları yeşil yapma barcolor(strategy.position_size > 0 ? color.green : na) // Grafikte göstergeleri çizme plot(t3_value, color=color.blue, linewidth=1, title="Tillson AL") plot(OTTup, color=color.green, linewidth=1, title="TOTT Up AL") plot(OTTdn, color=color.red, linewidth=1, title="TOTT Down AL") // Grafikte göstergeleri çizme plot(t3_valueSAT, color=color.blue, linewidth=1, title="Tillson SAT") plot(OTTupS, color=color.green, linewidth=1, title="TOTT Up SAT") plot(OTTdnS, color=color.red, linewidth=1, title="TOTT Down SAT")