ট্রেন্ড ক্যাচার কৌশল একটি কৌশল যা তার নিজস্ব অনন্য পদ্ধতি ব্যবহার করে প্রবণতা গঠন সনাক্ত করে এবং প্রবণতার দিকের অবস্থানগুলি খোলে। এটি একটি নির্দিষ্ট পরিসরের সর্বোচ্চ এবং সর্বনিম্ন দামের মধ্যে পার্থক্যকে সেই পরিসরের মোমবাতিগুলির দৈর্ঘ্যের যোগফল দ্বারা ভাগ করে
ট্রেন্ড ক্যাচার কৌশল প্রবণতা গঠনের সনাক্তকরণের জন্য একটি অনন্য পদ্ধতি ব্যবহার করে এবং প্রবণতার দিকে অবস্থানগুলি খোলে। এটি প্রবণতার শক্তি নির্ধারণের জন্য সীমা মান গণনা করে এবং প্রবণতার শেষ নির্ধারণের জন্য চলমান গড়ের ক্রসিং ব্যবহার করে। কৌশলটি অবস্থানের একটি অংশ বন্ধ করে এবং একটি অবস্থান খোলার পরে স্টপ লস স্তরটি সরিয়ে ঝুঁকি নিয়ন্ত্রণ করে। তবে, প্রবণতার শুরুতে অবস্থান খোলার সময় কৌশলটি নির্দিষ্ট ঝুঁকিগুলির মুখোমুখি হতে পারে, স্থির লাভ এবং স্টপ লস স্তরগুলি ব্যবহার করে যথেষ্ট নমনীয় নাও হতে পারে এবং কেবল প্রবণতা নির্ধারণের জন্য চলমান গড় ব্যবহার করে কিছু সুযোগ মিস করতে পারে। ভবিষ্যতে, আমরা অন্যান্য সূচক প্রবর্তন, গতিশীলভাবে লাভ গ্রহণ এবং স্টপ লস স্তরগুলি সামঞ্জস্য করে এবং কৌশলটি অনুকূল করার জন্য প্রবণতা নিশ্চিত হওয়ার পরেই অবস্থানগুলি খোলার বিষয়টি বিবেচনা করতে পারি।
/*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))