
এই কৌশলটি একটি সহজ কৌশল যা টাইমলাইনে পজিশনিং পদ্ধতি ব্যবহার করে পরিমাণযুক্ত লেনদেন করে। কৌশলটির মূল ধারণাটি হ’ল প্রতিদিন একটি নির্দিষ্ট সময়ে পজিশন খোলার জন্য একাধিক পজিশন স্থাপন করা এবং তারপরে প্রতিটি পজিশনের জন্য বিভিন্ন স্টপ-ডাউন শর্ত সেট করা, যার ফলে ধারাবাহিকভাবে স্টপ-ডাউন বা স্টপ-ডাউন করা যায়।
এই কৌশলটি মূলত তিনটি মূল যুক্তির উপর ভিত্তি করে তৈরি করা হয়েছেঃ
ব্যবহারsessionTimeপ্যারামিটারটি একটি দৈনিক ট্রেডিং সময়সীমা সেট করে, যার মধ্যে, প্রতিটি দিন খোলার সময় ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে
প্রতিটি খোলা অর্ডারের জন্য একটি স্টপ-আপ সেট করুনtakeProfitএবং স্টপ পয়েন্টstopLossপ্রতিটি অর্ডারের জন্য একটি পৃথক স্টপ-অফ-লস লজিক রয়েছে, যার ফলে ব্যাচ স্টপ-অফ-লস সম্ভব।
দিনের ব্যবসায়ের সময় শেষ হলে, আপনি সেই সময়ের মধ্যে আপনার সমস্ত স্টপ লস অর্ডারের উপর প্লেইন করতে পারেন কিনা তা নির্বাচন করতে পারেন।
এই কৌশলটির সুবিধাগুলো হলঃ
ঝুঁকি বিচ্ছিন্নকরণ, বিভিন্ন অর্ডারের মধ্যে তহবিল পুলের তহবিলের ভাগ ভাগ করে নেওয়া, একক অর্ডার ক্ষতির কার্যকর নিয়ন্ত্রণ।
বিভিন্ন অর্ডারের জন্য পৃথক স্টপ-স্টপ লজিক রয়েছে, যাতে সমস্ত অর্ডার একসাথে বন্ধ না হয়।
নমনীয় কনফিগারেশন, সর্বোচ্চ পজিশনিং, দৈনিক ট্রেডিং সময়সীমা, স্টপ-স্টপ লস অনুপাত ইত্যাদি প্যারামিটার কাস্টমাইজ করা যায়।
এটি সহজেই বোঝা যায়, কৌশলগত যুক্তিগুলি সহজ এবং স্পষ্ট।
এই কৌশলটি কিছু ঝুঁকি নিয়েও এসেছেঃ
যদি সমস্ত অর্ডার স্টপ লাইনে না পৌঁছায়, তবে যদি কোনও অর্ডার স্টপ লাইনে না পৌঁছায় তবে বড় ক্ষতির ঝুঁকি রয়েছে। যুক্তিসঙ্গতভাবে স্টপ লস অনুপাতটি কনফিগার করে এড়ানো যায়।
প্রতিদিনের মোট আমানতের পরিমাণ সীমাবদ্ধ করা যায় না, যদি বিশেষ পরিস্থিতিতে, একই সাথে অতিরিক্ত অর্ডার জমা দেওয়া যায় তবে তহবিল বহনযোগ্যতার বাইরে চলে যেতে পারে। প্রতিদিনের মোট আমানতের পরিমাণের সর্বোচ্চ সীমা যুক্ত করার বিষয়টি বিবেচনা করা যেতে পারে।
সময়সীমা ভুলভাবে কনফিগার করা হলে, ট্রেডিংয়ের সুযোগ মিস করা যেতে পারে। ট্রেডিংয়ের সময়সীমা কনফিগার করার পরামর্শ দেওয়া হয় টার্গেট ট্রেডিংয়ের প্রজাতির সক্রিয় সময়সীমার সাথে।
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ
পজিশন খোলার শর্তের বিচার লজিক যুক্ত করুন, নির্দিষ্ট প্রযুক্তিগত সূচক সংকেত পূরণ করার পরে পজিশন খোলার জন্য, অন্ধভাবে পজিশন বাড়ানো এড়াতে।
পুঁজি পুলের সামর্থ্য ছাড়িয়ে যাওয়া রোধ করতে দৈনিক মোট আমানতের সীমা বাড়ানো।
বিভিন্ন অর্ডারের জন্য বিভিন্ন স্টপ লস অনুপাত সেট করুন, পার্থক্য স্টপ লস অর্জন করুন।
অর্ডারের সংখ্যা বাড়ানোর লজিকটি পুলের ব্যালেন্সের সাথে যুক্ত, যাতে অর্ডারের সংখ্যাটি উপলব্ধ তহবিলের সাথে সংযুক্ত থাকে।
সামগ্রিকভাবে, এই কৌশলটি একটি খুব সহজ কৌশল টেমপ্লেট যা সময়-স্তরীয় ক্যাপিটালাইজেশন ধারণা ব্যবহার করে পরিমাণগত লেনদেনের জন্য, কৌশলগত যুক্তিটি পরিষ্কার, তবে ঝুঁকি এবং অপ্টিমাইজেশনের জন্য একটি নির্দিষ্ট স্থান রয়েছে, যা বিকাশকারীরা যথাযথভাবে অপ্টিমাইজ করতে পারে, এটি একটি স্থিতিশীল এবং নির্ভরযোগ্য পরিমাণগত কৌশল হিসাবে তৈরি করতে পারে।
/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 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/
// © A3Sh
//@version=5
strategy("Simple_Pyramiding", overlay=true, pyramiding=99, initial_capital=500, default_qty_type=strategy.percent_of_equity, commission_type=strategy.commission.percent, commission_value=0.075, close_entries_rule='FIFO')
// Study of a Simple DCA strategy that opens a position every day at a specified time.
// A position is opened at the start time of the Timeframe.
// Positions exit individually when the take profit level is triggered.
// Option to activate Stop Loss and/or Position exit at the end of the Timeframe
// Backtest Window
start_time = input(defval=timestamp("01 April 2021 20:00"), group = "Backtest Window", title="Start Time")
end_time = input(defval=timestamp("01 Aug 2022 20:00"), group = "Backtest Window", title="End Time")
window() => true
// Inputs
posCount = input.int (6, group = "Risk", title = "Max Amount of DCA Entries")
takeProfit = input.float (2.5, group = "Risk", title = "Take Profit %")
slSwitch = input.bool (true, group = "Risk", title = "Activate Stop Loss")
stopLoss = input.float (9, group = "Risk", title = "Stop Loss %")
sessionTime = input("1800-1700", group = "DCA Settings", title = "DCA Order Timeframe", tooltip="Open order at the start/If ativated, close order at the end")
exitDCA = input.bool (false, group = "DCA Settings", title = "Exit DCA Entry at end of Timeframe")
// Order size based on max amount of pyramid orders
q = (strategy.equity / posCount) / open
// Timeframe for opening and closing a DCA order
// example taken from https://stackoverflow.com/questions/69230164/pinescript-basic-question-open-a-trade-at-a-set-time-each-day
t = time("D", sessionTime)
isStart = na(t[1]) and not na(t) or t[1] < t
isEnd = na(t) and not na(t[1]) or t[1] < t
bgcolor(t ? color.new(color.blue,95) : na, title = " TimeFrame Color")
// Create DCA Entries
entry_price = 0.0
if isStart and window()
for i = 0 to strategy.opentrades
if strategy.opentrades == i
entry_price := close
entry_id = "PE_" + str.tostring(i + 1)
strategy.entry(id = entry_id, direction=strategy.long, limit=entry_price, qty=q)
if strategy.opentrades == posCount
break
//Exit DCA Entries when take profit or stop loss is triggered
if strategy.opentrades > 0 and window()
for i = 0 to strategy.opentrades
exit_from = "PE_" + str.tostring(i + 1)
exit_id = "Exit_" + str.tostring(i + 1)
strategy.exit(id= exit_id, from_entry= exit_from, profit = close * takeProfit / 100 / syminfo.mintick, loss = slSwitch ? close * stopLoss /100 / syminfo.mintick :na)
//Exit DCA Entries at end of DCA Timeframe
if strategy.opentrades > 0 and exitDCA and isEnd and window()
for i = 0 to strategy.opentrades
exit_from = "PE_" + str.tostring(i + 1)
exit_id = "Exit_" + str.tostring(i + 1)
strategy.exit(id= exit_id, from_entry= exit_from, stop = close)