ट्रेंड कैचर रणनीति एक रणनीति है जो अपनी अनूठी विधि का उपयोग करके ट्रेंड फॉर्मेशन का पता लगाती है और ट्रेंड की दिशा में पोजीशन खोलती है। यह एक निश्चित रेंज में उच्चतम और निम्नतम कीमतों के बीच अंतर को उस रेंज में मोमबत्तियों की लंबाई के योग से विभाजित करके
ट्रेंड कैचर रणनीति ट्रेंड फॉर्मेशन का पता लगाने और ट्रेंड की दिशा में पोजीशन खोलने के लिए एक अनूठी विधि का उपयोग करती है। यह ट्रेंड की ताकत निर्धारित करने के लिए सीमा मूल्य की गणना करती है और ट्रेंड के अंत को निर्धारित करने के लिए मूविंग एवरेज के क्रॉसिंग का उपयोग करती है। रणनीति स्थिति के एक हिस्से को बंद करके जोखिम को नियंत्रित करती है और एक स्थिति खोलने के बाद स्टॉप लॉस स्तर को स्थानांतरित करती है। हालांकि, ट्रेंड की शुरुआत में पोजीशन खोलने पर रणनीति को कुछ जोखिमों का सामना करना पड़ सकता है, फिक्स्ड टेक प्रॉफिट और स्टॉप लॉस स्तरों का उपयोग करना पर्याप्त लचीला नहीं हो सकता है, और ट्रेंड को निर्धारित करने के लिए केवल मूविंग एवरेज का उपयोग करने से कुछ अवसर चूक सकते हैं। भविष्य में, हम अन्य संकेतकों को पेश करने, गतिशील रूप से लाभ लेने और स्टॉप लॉस स्तरों को समायोजित करने और रणनीति को अनुकूलित करने के लिए ट्रेंड की पुष्टि होने के बाद ही पोजीशन खोलने पर विचार कर सकते हैं।
/*backtest start: 2023-04-20 00:00:00 end: 2024-04-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © faytterro //@version=5 strategy("Trend Catcher Strategy", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100) len = input.int(10) tp = input.float(2.5, step = 0.1) sl = input.float(2.5, step = 0.1) malen = input.int(5) limit = input.int(50) ma = ta.sma(close,malen) sum = 0.0 for i = 0 to len-1 sum := sum + high[i]-low[i] frs = 100*(ta.highest(high,len)-ta.lowest(low,len))/sum //hline(50) //plot(frs, color = color.white) l = ta.crossover(frs,limit) and ma>ma[1] s = ta.crossover(frs,limit) and ma<ma[1] cl = ma<ma[1] cs = ma>ma[1] qty_balance=input.int(50, maxval = 100) if (l) strategy.entry("My Long Entry Id", strategy.long) strategy.exit("exit long", "My Long Entry Id", qty_percent = qty_balance, limit = close*(100+tp)/100, stop = close*(100-sl)/100) if (s) strategy.entry("My Short Entry Id", strategy.short) strategy.exit("exit short", "My Short Entry Id", qty_percent = qty_balance, limit = close*(100-tp)/100, stop = close*(100+sl)/100) if (cl) strategy.close("My Long Entry Id") if (cs) strategy.close("My Short Entry Id") l:= l and strategy.opentrades<1 s:= s and strategy.opentrades<1 transp = strategy.opentrades>0? 0 : 100 pma=plot(ma, color = ma<ma[1]? color.rgb(255, 82, 82, transp) : color.rgb(76, 175, 79, transp)) price = open/2+close/2 pprice = plot(price, display = display.none) fill(pma,pprice, color = ma<ma[1]? color.rgb(255, 82, 82, transp+90) : color.rgb(76, 175, 79, transp+90)) spm=plot(ta.valuewhen(s,close,0), color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.white : color.rgb(1,1,1,100), offset=1) lpm=plot(ta.valuewhen(l,close,0), color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.white : color.rgb(1,1,1,100), offset=1) ltp=plot(ta.valuewhen(l,close,0)*(100+ta.valuewhen(l,tp,0))/100, color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.green : color.rgb(1,1,1,100), offset=1) lsl=plot(ta.valuewhen(l,close,0)*(100-ta.valuewhen(l,sl,0))/100, color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.red : color.rgb(1,1,1,100), offset=1) stp=plot(ta.valuewhen(s,close,0)*(100-ta.valuewhen(s,tp,0))/100, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.green : color.rgb(1,1,1,100), offset=1) ssl=plot(ta.valuewhen(s,close,0)*(100+ta.valuewhen(s,sl,0))/100, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.red : color.rgb(1,1,1,100), offset=1) fill(stp,spm, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.rgb(76, 175, 79, 90) : color.rgb(1,1,1,100)) fill(ssl,spm, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.rgb(255, 82, 82, 90) : color.rgb(1,1,1,100)) fill(ltp,lpm, color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.rgb(76, 175, 79, 90) : color.rgb(1,1,1,100)) fill(lsl,lpm, color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.rgb(255, 82, 82, 90) : color.rgb(1,1,1,100))