এই কৌশলটি মাঝারি-দীর্ঘমেয়াদী প্রবণতা ট্র্যাক করার জন্য মাল্টি-টাইমফ্রেম চলমান গড় ক্রসওভারের উপর ভিত্তি করে। এটি উত্থানকে তাড়া করতে এবং এক্সপোনেন্সিয়াল মূলধন বৃদ্ধি অর্জনের জন্য একটি পিরামিডিং অবস্থান গ্রহণ করে। বৃহত্তম সুবিধা হ'ল অতিরিক্ত রিটার্ন অর্জনের জন্য ব্যাচ এবং পর্যায়ে মাঝারি-দীর্ঘমেয়াদী প্রবণতা এবং পিরামিড এন্ট্রিগুলি ধরতে সক্ষম হওয়া।
উপরে মূল ট্রেডিং লজিক দেওয়া আছে।
এই কৌশলটি মাঝারি-দীর্ঘমেয়াদী প্রবণতা ধরার জন্য খুব উপযুক্ত। ব্যাচে পিরামিড এন্ট্রিগুলি খুব উচ্চ ঝুঁকি-পুরষ্কার অনুপাত অর্জন করতে পারে। কিছু অপারেশন ঝুঁকিও রয়েছে, যা পরামিতি টিউনিং দ্বারা নিয়ন্ত্রিত হওয়া উচিত। সামগ্রিকভাবে এটি একটি প্রতিশ্রুতিবদ্ধ কৌশল যা লাইভ ট্রেডিং যাচাইকরণ এবং আরও অপ্টিমাইজেশনের মূল্যবান।
/*backtest start: 2023-12-27 00:00:00 end: 2024-01-03 00:00:00 period: 1m basePeriod: 1m 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/ // © Coinrule //@version=3 strategy(shorttitle='Pyramiding Entry On Early Trends',title='Pyramiding Entry On Early Trends (by Coinrule)', overlay=false, pyramiding= 7, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 20, commission_type=strategy.commission.percent, commission_value=0.1) //Backtest dates fromMonth = input(defval = 1, title = "From Month") fromDay = input(defval = 10, title = "From Day") fromYear = input(defval = 2020, title = "From Year") thruMonth = input(defval = 1, title = "Thru Month") thruDay = input(defval = 1, title = "Thru Day") thruYear = input(defval = 2112, title = "Thru Year") showDate = input(defval = true, title = "Show Date Range") start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true // create function "within window of time" //MA inputs and calculations inSignal=input(9, title='MAfast') inlong1=input(100, title='MAslow') inlong2=input(200, title='MAlong') MAfast= sma(close, inSignal) MAslow= sma(close, inlong1) MAlong= sma(close, inlong2) Bullish = crossover(close, MAfast) longsignal = (Bullish and MAfast > MAslow and MAslow < MAlong and window()) //set take profit ProfitTarget_Percent = input(3) Profit_Ticks = (close * (ProfitTarget_Percent / 100)) / syminfo.mintick //set take profit LossTarget_Percent = input(3) Loss_Ticks = (close * (LossTarget_Percent / 100)) / syminfo.mintick //Order Placing strategy.entry("Entry 1", strategy.long, when = (strategy.opentrades == 0) and longsignal) strategy.entry("Entry 2", strategy.long, when = (strategy.opentrades == 1) and longsignal) strategy.entry("Entry 3", strategy.long, when = (strategy.opentrades == 2) and longsignal) strategy.entry("Entry 4", strategy.long, when = (strategy.opentrades == 3) and longsignal) strategy.entry("Entry 5", strategy.long, when = (strategy.opentrades == 4) and longsignal) strategy.entry("Entry 6", strategy.long, when = (strategy.opentrades == 5) and longsignal) strategy.entry("Entry 7", strategy.long, when = (strategy.opentrades == 6) and longsignal) if (strategy.position_size > 0) strategy.exit(id="Exit 1", from_entry = "Entry 1", profit = Profit_Ticks, loss = Loss_Ticks) strategy.exit(id="Exit 2", from_entry = "Entry 2", profit = Profit_Ticks, loss = Loss_Ticks) strategy.exit(id="Exit 3", from_entry = "Entry 3", profit = Profit_Ticks, loss = Loss_Ticks) strategy.exit(id="Exit 4", from_entry = "Entry 4", profit = Profit_Ticks, loss = Loss_Ticks) strategy.exit(id="Exit 5", from_entry = "Entry 5", profit = Profit_Ticks, loss = Loss_Ticks) strategy.exit(id="Exit 6", from_entry = "Entry 6", profit = Profit_Ticks, loss = Loss_Ticks) strategy.exit(id="Exit 7", from_entry = "Entry 7", profit = Profit_Ticks, loss = Loss_Ticks)