এই কৌশলটি বিটকয়েনের জন্য দৈনিক সময়সীমার মধ্যে ট্রেডিংয়ের সুযোগগুলি সনাক্ত করার জন্য একাধিক সূচককে একত্রিত করে। এটি মূলত ম্যাকডি, আরএসআই, স্টক আরএসআই এর মতো সূচকগুলি ব্যবহার করে, ক্রয় এবং বিক্রয় সংকেত তৈরির জন্য বর্তমান প্রবণতা দিক নির্ধারণের জন্য চলমান গড়ের দিকের সাথে।
কৌশলটি নিম্নলিখিত মূল সূচকগুলি ব্যবহার করেঃ
এমএসিডি (ফাস্ট এমএ - স্লো এমএ) এবং এর সংকেত লাইন। সিগন্যাল লাইনের উপরে এমএসিডি ক্রসিং ক্রয় সংকেত দেয়, এবং 0 এর নীচে ক্রসিং বিক্রয় সংকেত দেয়।
RSI (Relative Strength Index): RSI একটি প্রান্তিক সীমা অতিক্রম করলে ক্রয়ের সংকেত দেয়।
স্টক আরএসআই। স্টক আরএসআই আরএসআই এর ওভারক্রয় / ওভারসোল্ড স্তরগুলি দেখায়। থ্রেশহোল্ডের নীচে স্টক আরএসআই কিনতে সংকেত দেয়, যখন থ্রেশহোল্ডের উপরে বিক্রয় সংকেত দেয়।
চলমান গড়ের দিকনির্দেশনা। এমএ এর নিচে বন্ধ মূল্য ক্রসিং বিক্রয় সংকেত দেয়।
এই সূচক অনুসারে, ট্রেডিং সিগন্যালগুলি হলঃ
সিগন্যাল কিনুন: কখন(Stoch RSI < Threshold) AND (MACD crossing above threshold OR RSI crossing above threshold)
বিক্রয় সংকেত: কখন(MACD crossing below 0) AND (Close below MA OR Stoch RSI > Threshold)
একাধিক সূচক একসাথে ব্যবহার করা বর্তমান প্রবণতা দিকটি আরও ভালভাবে নির্ধারণ করতে পারে এবং ট্রেডে প্রবেশের জন্য প্রবণতা বিপরীত পয়েন্টগুলি সনাক্ত করতে পারে।
একাধিক সূচককে একত্রিত করা সঠিকতা বাড়ায় এবং একটি সূচক থেকে মিথ্যা সংকেত এড়ায়।
এমএসিডি প্রবণতা দিক এবং শক্তি দেখায়। আরএসআই ওভারকুপ / ওভারসোল্ড স্তরগুলি প্রতিফলিত করে। স্টক আরএসআই আরএসআইয়ের ওভারকুপ / ওভারসোল্ড নির্ধারণ করে। এমএ প্রবণতা দিক দেখায়। এই সূচকগুলি একে অপরকে যাচাই করে।
ক্রয়/বিক্রয় সংকেতগুলির জন্য একাধিক সূচক সংমিশ্রণ প্রয়োজন, কিছু মিথ্যা সংকেত ফিল্টার করা এবং অপ্রয়োজনীয় বাণিজ্য এড়ানো।
ব্যাকটেস্ট 2017/1/1 থেকে শুরু হয়, যা 2017 সালের শেষের দিকে বিটকয়েনের বিশাল ষাঁড়ের দৌড়কে কভার করে। একটি বাস্তব ষাঁড়ের বাজারে কৌশল কর্মক্ষমতা পরীক্ষা করে।
স্টপ লস একক ট্রেডে ক্ষতি নিয়ন্ত্রণের জন্য সেট করা আছে।
যদিও একাধিক সূচক ব্যবহার করে সঠিকতা বৃদ্ধি পায়, তাদের মধ্যে অসঙ্গতি এখনও কিছু ভুল সংকেত হতে পারে।
অপ্টিমাইজড স্টপ লস লেভেলের বিভিন্ন বাজারের পরিস্থিতির জন্য সমন্বয় প্রয়োজন হতে পারে। খুব বড় স্টপ লস একক ট্রেডগুলিতে ক্ষতি বাড়ায়, যখন খুব শক্তভাবে অকাল বন্ধ হয়ে যেতে পারে।
দৈনিক সময়সীমা স্বল্প সময়ের মধ্যে বিস্তারিত অপারেশন প্রতিরোধ করে। হঠাৎ স্বল্পমেয়াদী বড় পদক্ষেপ প্রতিক্রিয়া অক্ষম।
কৌশলটি শুধুমাত্র সীমিত ঐতিহাসিক তথ্যের উপর ব্যাকটেস্ট করা হয়। ওভারফিট ঝুঁকি বিদ্যমান। আরও দীর্ঘ সময়সীমা এবং আরও বাজারে আরও পরীক্ষার প্রয়োজন।
অপ্টিমাম মাল্টি-ইনডিকেটর কৌশল খুঁজে পেতে আরও সূচক সমন্বয় পরীক্ষা করুন।
আরও ভাল মানের জন্য সূচকগুলির পরামিতিগুলি অপ্টিমাইজ করুন।
সর্বোত্তম ঝুঁকি / পুরস্কার অনুপাত খুঁজে পেতে বিভিন্ন স্টপ লস স্তর পরীক্ষা করুন।
অতিরিক্ত ফিটিং এড়ানোর জন্য দীর্ঘ ইতিহাসের ডেটা জুড়ে ব্যাকটেস্ট পরিচালনা করুন।
আরো ঘন ঘন ট্রেডিংয়ের জন্য উচ্চতর ফ্রিকোয়েন্সি টাইমফ্রেমে কৌশলগত যুক্তি প্রয়োগের অন্বেষণ করুন।
এই কৌশলটি বিটকয়েনের দৈনিক প্রবণতা দিক নির্ধারণ এবং বাণিজ্য প্রবেশের জন্য প্রবণতা বিপরীতমুখী সনাক্ত করার জন্য এমএসিডি, আরএসআই, স্টক আরএসআই এবং অন্যান্য সূচকগুলিকে একত্রিত করে। স্টপ লস ট্রেড ঝুঁকি নিয়ন্ত্রণের জন্য সেট করা হয়। ব্যাকটেস্ট ইতিবাচক ফলাফল দেখায় তবে আরও দীর্ঘ সময়সীমা এবং আরও বেশি বাজারে ওভারফিট ঝুঁকি এড়ানোর জন্য আরও যাচাইয়ের প্রয়োজন। সূচক পরামিতি এবং স্টপ লস / টেক মুনাফা স্তরের উপর আরও অপ্টিমাইজেশন ফলাফলগুলি উন্নত করতে পারে। কৌশলটি মাল্টি-সূচক সংমিশ্রণ পদ্ধতির একটি প্রাথমিক ধারণা সরবরাহ করে যা আরও গভীর অনুসন্ধান এবং বর্ধনের মূল্যবান।
/*backtest start: 2022-10-23 00:00:00 end: 2023-10-29 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // Original code is from CredibleHulk and modified by bennef strategy("BTC Daily Strategy BF", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075) /////////////// Time Frame /////////////// testStartYear = input(2017, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0) testStopYear = input(2019, "Backtest Stop Year") testStopMonth = input(12, "Backtest Stop Month") testStopDay = input(31, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0) testPeriod() => true /////////////// Input Params /////////////// rsi_threshold = input(30) rsi_length = input(4) srsi_length = input(8) srsi_smooth = input(4) srsi_sell_threshold = input(57) length = input(14) dma_signal_threshold = input(-1) fastLength = input(11) slowlength = input(18) MACDLength = input(6) MACD_signal_threshold = input(-2) short_loss_tol = input(5) long_loss_tol = input(5) stop_level_long = strategy.position_avg_price * (1 - long_loss_tol / 100.0) stop_level_short = strategy.position_avg_price * (1 + short_loss_tol / 100.0) /////////////// Signal generation /////////////// // MACD MACD = ema(close, fastLength) - ema(close, slowlength) aMACD = ema(MACD, MACDLength) delta = MACD - aMACD // RSI and Stochastic RSI rs = rsi(close, rsi_length) k = sma(stoch(rs, rs, rs, srsi_length), srsi_smooth) // SMA norm = sma(ohlc4, length) threshold = close - norm /////////////// Strategy /////////////// long = ((crossover(delta, MACD_signal_threshold) or crossover(rs, rsi_threshold)) and k < srsi_sell_threshold) short = (crossunder(delta, 0) or (crossunder(threshold, dma_signal_threshold) and k > srsi_sell_threshold)) if testPeriod() strategy.entry("L", strategy.long, when = long) strategy.entry("S", strategy.short, when = short) strategy.exit("stop loss L", from_entry = "L", stop = stop_level_long) strategy.exit("stop loss S", from_entry = "S", stop = stop_level_short) /////////////// Plotting /////////////// // MACD plot(delta, color = delta > MACD_signal_threshold ? color.lime : delta < 0 ? color.red : color.yellow) MACD_signal_threshold_line = hline(MACD_signal_threshold, color = color.yellow, title = "MACD Signal Threshold") // RSI plot(rs, color = rs > rsi_threshold ? color.lime : color.fuchsia) rsi_threshold_line = hline(rsi_threshold, color = color.fuchsia, title = "RSI Threshold") // Stochastic RSI plot(k, color = k > srsi_sell_threshold ? color.lime : color.red) srsi_sell_threshold_line = hline(srsi_sell_threshold, color = color.white, title = "Stoch RSI Threshold") // SMA plot(threshold / 100, color = threshold < dma_signal_threshold ? color.red : color.blue) dma_signal_threshold_line = hline (dma_signal_threshold, color = color.blue, title = "DMA Signal Threshold") bgcolor(long ? color.lime : short ? color.red : na, transp=50)