
এই পিন স্ক্রিপ্ট কৌশলটি ট্রেডিংভিউ প্ল্যাটফর্মে একটি দৈনিক গড় খরচ কৌশল বাস্তবায়ন করে এবং ইএমএ সূচকের স্পর্শ সংকেতগুলির সাথে মিলিত হয় যাতে প্রবেশের স্থান নির্ধারণ করা যায়। কৌশলটি গড় খরচ বিনিয়োগের নিয়ম অনুসরণ করে, ঝুঁকি বিচ্ছিন্ন করার জন্য প্রতিদিন একটি নির্দিষ্ট পরিমাণে ক্রয় করা হয়। একই সাথে, ইএমএর স্পর্শ সংকেতগুলির মাধ্যমে নির্দিষ্ট প্রবেশের সময় নির্দেশ করা হয়।
এই কৌশলটির প্রধান বৈশিষ্ট্যগুলো হলঃ
দৈনিক গড় খরচ বিনিয়োগের নিয়ম
ইএমএ সূচকগুলি প্রবেশের স্থান নির্ধারণ করে
ডায়নামিক স্টপ লস মেকানিজম
সর্বোচ্চ পজিশনের সীমা
বিশেষত, কৌশলটি প্রতিদিন একটি নির্দিষ্ট পরিমাণে বিনিয়োগ করে এবং সেই দিনের সমাপ্তির দামের উপর ভিত্তি করে ক্রয়যোগ্য শেয়ারের সংখ্যা গণনা করে। এই ভিত্তিতে, যদি সেই দিনের সমাপ্তির দামটি 5 তম, 10 তম, 20 তম ইএমএর যে কোনও একটি পয়েন্ট অতিক্রম করে তবে এটি একটি কেনার সংকেতকে ট্রিগার করে। একবার ক্রমবর্ধমান অবস্থান সর্বোচ্চ 300 পয়েন্টের সীমাতে পৌঁছে গেলে, নতুন ক্রয় কার্যক্রম হবে না।
এই কৌশলটির বেশ কিছু সুবিধা রয়েছেঃ
একক বিনিয়োগের ঝুঁকি কমানোর জন্য বিচ্ছিন্ন বিনিয়োগ
EMA সংযুক্ত, স্বল্পমেয়াদী সমন্বয় এড়ানো
ডায়নামিক স্টপ লস, নিয়ন্ত্রণ লস
সর্বোচ্চ পজিশনের সীমা, ঝুঁকি নিয়ন্ত্রণ
ইএমএ-র স্বজ্ঞাততা দেখায় যে এটি বিচার করা সহজ
উচ্চতা কাস্টমাইজযোগ্য
এই কৌশলটির কিছু ঝুঁকি রয়েছে যা সম্পর্কে সতর্ক থাকা দরকারঃ
সিস্টেমিক ঝুঁকি এড়ানো কঠিন
স্থির বিনিয়োগের ঝুঁকি
ইএমএ চরম পরিস্থিতিতে প্রতিক্রিয়া জানাতে অক্ষম
পজিশনের সীমাবদ্ধতা লাভের সুযোগকে সীমাবদ্ধ করে
স্টপ পয়েন্ট সেটআপের জন্য অভিজ্ঞতা এবং দক্ষতা প্রয়োজন
এই কৌশলটি আরও উন্নত করার সুযোগ রয়েছেঃ
গতিশীলভাবে প্রতিদিনের ইনপুট পরিমাণ বাড়ানো
আরো কিছু মানদণ্ডের সাথে
চলমান গড় সূচক
ডায়নামিক সর্বোচ্চ পজিশনের সমন্বয়
ধীরে ধীরে ক্ষতিগ্রস্ত
সামগ্রিকভাবে, এই দৈনিক গড় ব্যয়ের কৌশলটি ইএমএ স্পর্শ সংকেতগুলির সাথে মিলিত হয়েছে, যা দীর্ঘমেয়াদী ধারাবাহিক বিনিয়োগের ধারণাকে বাস্তবায়ন করে। একক ধনী ব্যক্তির তুলনায় পজিশন খোলার ফলে ঝুঁকি ছড়িয়ে দেওয়া যায়, উচ্চতায় উত্সাহিত হওয়া এড়ানো যায়। ইএমএর যোগদানও স্বল্পমেয়াদী সমন্বয় দ্বারা সৃষ্ট ঝুঁকিগুলিকে কিছুটা এড়াতে পারে, সর্বাধিক ক্ষতি নিয়ন্ত্রণের জন্য ক্ষতিপূরণ ব্যবস্থা গ্রহণ করে। একই সাথে, কালো ভ্যান্টের ঝুঁকি এবং স্থির বিনিয়োগের পরিমাণের সুযোগটি পুরোপুরি দখল করতে না পারার জন্য অনুশোচনা ইত্যাদির বিষয়ে এখনও সতর্কতা অবলম্বন করা প্রয়োজন। এগুলি কৌশলটির আরও অপ্টিমাইজেশনের জন্য দিকনির্দেশ দেয়। প্যারামিটার সমন্বয় এবং সূচক সমন্বয় দ্বারা, ধীরে ধীরে অপ্টিমাইজেশন এবং উচ্চ দক্ষতা এবং স্থিতিশীল পরিমাণযুক্ত ট্রেডিং কৌশল অর্জনের জন্য।
/*backtest
start: 2024-01-08 00:00:00
end: 2024-01-15 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Daily DCA Strategy with Touching EMAs", overlay=true, pyramiding=10000)
// Customizable Parameters
daily_investment = input(50000, title="Daily Investment")
start_year = input(2022, title="Start Year")
start_month = input(1, title="Start Month")
start_day = input(1, title="Start Day")
end_year = input(2023, title="End Year")
end_month = input(12, title="End Month")
end_day = input(1, title="End Day")
trade_count_limit = input(10000, title="Pyramiding Limit")
enable_sell = input(true, title="Enable Sell")
start_date = timestamp(start_year, start_month, start_day)
var int trade_count = 0
// Calculate the number of shares to buy based on the current closing price
shares_to_buy = daily_investment / close
// Check if a new day has started and after the start date
isNewDay = dayofmonth != dayofmonth[1] and time >= start_date
// Buy conditions based on EMA crossovers
ema5_cross_above = crossover(close, ema(close, 5))
ema10_cross_above = crossover(close, ema(close, 10))
ema20_cross_above = crossover(close, ema(close, 20))
ema50_cross_above = crossover(close, ema(close, 50))
ema100_cross_above = crossover(close, ema(close, 100))
ema200_cross_above = crossover(close, ema(close, 200))
if isNewDay and (ema5_cross_above or ema10_cross_above or ema20_cross_above or ema50_cross_above or ema100_cross_above or ema200_cross_above) and trade_count < trade_count_limit
strategy.entry("Buy", strategy.long, qty=shares_to_buy)
trade_count := trade_count + 1
// Dynamic sell conditions (optional)
sell_condition = true
if enable_sell and sell_condition
strategy.close_all()
// EMA Ribbon for visualization
plot(ema(close, 5), color=color.red, title="EMA 5")
plot(ema(close, 10), color=color.orange, title="EMA 10")
plot(ema(close, 20), color=color.yellow, title="EMA 20")
plot(ema(close, 50), color=color.green, title="EMA 50")
plot(ema(close, 100), color=color.blue, title="EMA 100")
plot(ema(close, 200), color=color.purple, title="EMA 200")