MACD এবং R:R অনুপাত ইন্ট্রাডে লিমিট কনভারজেন্স কৌশল

MACD
সৃষ্টির তারিখ: 2024-06-03 16:47:56 অবশেষে সংশোধন করুন: 2024-06-03 16:47:56
অনুলিপি: 3 ক্লিকের সংখ্যা: 611
1
ফোকাস
1617
অনুসারী

MACD এবং R:R অনুপাত ইন্ট্রাডে লিমিট কনভারজেন্স কৌশল

ওভারভিউ

এই কৌশলটি MACD সূচকগুলির কাছাকাছি এবং ছড়িয়ে যাওয়ার উপর ভিত্তি করে ট্রেডিং সংকেতগুলি বিচার করে। যখন MACD লাইনটি সংকেত লাইনের সাথে ক্রস হয় এবং MACD লাইনের মান 1.5 এর চেয়ে বড় বা 1.5 এর চেয়ে কম হয়, তখন ক্রমানুসারে একটি ওভার এবং বাম সংকেত তৈরি করা হয়। একই সাথে, কৌশলটি স্থির স্টপ লস পয়েন্ট সেট করে এবং রিস্ক রিটার্ন রেট ((R: R) এর ধারণাটি প্রবর্তন করে। এছাড়াও, এই কৌশলটি সর্বোচ্চ দৈনিক ক্ষতি এবং সর্বোচ্চ মুনাফা সীমাবদ্ধতা এবং আরও কঠোর গতিশীল স্টপ ব্যবস্থা গ্রহণ করে যাতে ঝুঁকিগুলি আরও ভালভাবে নিয়ন্ত্রণ করা যায়।

কৌশল নীতি

  1. MACD নির্দেশকের MACD লাইন এবং সংকেত লাইন গণনা করুন।
  2. MACD লাইন এবং সিগন্যাল লাইনের ক্রসিংয়ের বিচার করুন, এবং বিবেচনা করুন যে MACD লাইনের মানটি একটি নির্দিষ্ট থ্রেশহোল্ড ((1.5 এবং -1.5)) অতিক্রম করেছে কিনা।
  3. যখন একাধিক সিগন্যাল দেখা দেয়, তখন পজিশনটি খুলুন এবং স্টপ-অফ মূল্যটি বর্তমান সর্বোচ্চ মূল্য + 600 সর্বনিম্ন পরিবর্তন ইউনিট এবং স্টপ-ড্রপ মূল্যটি বর্তমান সর্বনিম্ন মূল্য -100 সর্বনিম্ন পরিবর্তন ইউনিট হিসাবে সেট করুন।
  4. যখন স্বল্প মূল্যের সংকেত আসে, তখন স্টপ-অফ মূল্যটি বর্তমান সর্বনিম্ন মূল্য -600 সর্বনিম্ন পরিবর্তন ইউনিট এবং স্টপ-অফ মূল্যটি বর্তমান সর্বোচ্চ মূল্য + 100 সর্বনিম্ন পরিবর্তন ইউনিট।
  5. মুভিং স্টপ লজিক চালু করুন, যখন দামগুলি আপেক্ষিক খোলার দামের তুলনায় 300 ন্যূনতম পরিবর্তন ইউনিট অতিক্রম করে ((মাল্টি হেড) বা ((খোলা)), স্টপ দামটি খোলার দাম + ((ক্লোজিং প্রাইস - খোলার দাম -300) ((মাল্টি হেড) বা খোলার দাম - ((খোলা দাম - খোলার দাম -300) ((খোলা)) ।
  6. সর্বোচ্চ ক্ষতি এবং সর্বোচ্চ মুনাফা সীমাবদ্ধতা সেট করুন, এবং সমস্ত পজিশন বন্ধ করে দিন যখন ক্ষতি 600 সর্বনিম্ন পরিবর্তন ইউনিট বা মুনাফা 1800 সর্বনিম্ন পরিবর্তন ইউনিট পৌঁছায়।

সামর্থ্য বিশ্লেষণ

  1. MACD সূচক এবং মূল্য হ্রাসের শর্তের সাথে মিলিত, কিছু শব্দ সংকেত কার্যকরভাবে ফিল্টার করে।
  2. প্রতি লেনদেনের রিস্ক-রিটার্ন নিয়ন্ত্রণযোগ্য।
  3. চলমান স্টপ লজিক ট্রেন্ড গঠনের পর মুনাফা রক্ষা করে এবং প্রত্যাহার কমাতে পারে।
  4. দৈনিক সর্বাধিক ক্ষতি এবং লাভের সীমাবদ্ধতা এক দিনের ঝুঁকির খোলার নিয়ন্ত্রণে সহায়তা করে এবং অত্যধিক ক্ষতি বা লাভের পরে প্রত্যাহার এড়াতে সহায়তা করে।

ঝুঁকি বিশ্লেষণ

  1. MACD সূচকটি পিছিয়ে রয়েছে, এতে সংকেত বিলম্ব বা ভুল সংকেত দেখা দিতে পারে।
  2. ফিক্সড স্টপ-অফ-স্টপ পয়েন্টগুলি বিভিন্ন বাজারের অবস্থার সাথে খাপ খাইয়ে নিতে পারে না এবং অস্থিরতার সময় প্রায়শই স্টপ-অফ ট্রিগার করতে পারে।
  3. চলমান স্টপ লজিক ট্রেন্ড বিপরীত হওয়ার সময় সময়মত স্টপ করতে পারে না, যার ফলে মুনাফা ফিরে আসে।
  4. একদিনের সর্বোচ্চ ক্ষতি এবং মুনাফার সীমাবদ্ধতার কারণে, কৌশলটি খুব তাড়াতাড়ি বন্ধ হয়ে যেতে পারে এবং সম্ভাব্য মুনাফা হারাতে পারে।

অপ্টিমাইজেশান দিক

  1. সিগন্যাল নিশ্চিতকরণের জন্য একাধিক টাইম ফ্রেমের MACD সূচক ব্যবহারের কথা বিবেচনা করুন, যাতে সিগন্যালের নির্ভুলতা বাড়তে পারে।
  2. বিভিন্ন বাজারের অবস্থার সাথে সামঞ্জস্য রেখে বাজারের অস্থিরতার গতিশীলতার উপর ভিত্তি করে স্টপ-অফ-লস পয়েন্টটি সামঞ্জস্য করুন।
  3. মোবাইল স্টপ লজিকের অপ্টিমাইজেশন, যেমন এটিআর সূচকের উপর ভিত্তি করে মোবাইল স্টপ দূরত্ব সেট করা, যা মূল্যের ওঠানামার সাথে আরও ভালভাবে খাপ খায়।
  4. প্রতিদিনের সর্বোচ্চ ক্ষতি এবং লাভের সীমাতে প্যারামিটার অপ্টিমাইজেশন করুন, উপযুক্ত সীমা খুঁজে বের করুন, ঝুঁকি নিয়ন্ত্রণ করার সময় যতটা সম্ভব প্রবণতা ক্যাপচার করুন।

সারসংক্ষেপ

এই কৌশলটি MACD সূচকগুলির কাছাকাছি এবং ছড়িয়ে পড়া দ্বারা ট্রেডিং সংকেতগুলি বিচার করে এবং ঝুঁকি নিয়ন্ত্রণের ব্যবস্থা যেমন রিস্ক রিটার্ন রেট, মোবাইল স্টপ লস এবং ডেইলি লিমিটস প্রবর্তন করে। যদিও কৌশলটি ট্রেন্ডিংয়ের প্রবণতা এবং ঝুঁকি নিয়ন্ত্রণে কিছুটা সক্ষম হয়, তবে এখনও কিছু অপ্টিমাইজেশন এবং উন্নতির জন্য জায়গা রয়েছে। ভবিষ্যতে, আরও স্থিতিশীল এবং দৃশ্যমান রিটার্ন অর্জনের জন্য সিগন্যাল কনফার্মেশন, স্টপ লস, মোবাইল স্টপ লস এবং ডেইলি লিমিটের মতো মাত্রা থেকে অপ্টিমাইজেশন বিবেচনা করা যেতে পারে।

কৌশল সোর্স কোড
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © DD173838

//@version=5
strategy("MACD Convergence Strategy with R:R, Daily Limits, and Tighter Stop Loss", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)

// MACD settings
fastLength = input.int(12, title="Fast Length", minval=1)
slowLength = input.int(26, title="Slow Length", minval=1)
signalSmoothing = input.int(9, title="Signal Smoothing", minval=1)
source = input(close, title="Source")

// Calculate MACD
[macdLine, signalLine, _] = ta.macd(source, fastLength, slowLength, signalSmoothing)

// Plot MACD and signal line
plot(macdLine, title="MACD Line", color=color.blue)
plot(signalLine, title="Signal Line", color=color.red)

// Define convergence conditions
macdConvergenceUp = ta.crossover(macdLine, signalLine) and macdLine > 1.5
macdConvergenceDown = ta.crossunder(macdLine, signalLine) and macdLine < -1.5

// Define take profit and stop loss

        
    
takeProfit = 600
stopLoss = 100

// Plot buy and sell signals on the chart
plotshape(series=macdConvergenceDown, title="Short Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SHORT")
plotshape(series=macdConvergenceUp, title="Long Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="LONG")

// Execute short and long orders with defined take profit and stop loss
if (macdConvergenceDown)
    strategy.entry("Short", strategy.short, qty=1, stop=high + (stopLoss / syminfo.mintick), limit=low - (takeProfit / syminfo.mintick))

if (macdConvergenceUp)
    strategy.entry("Long", strategy.long, qty=1, stop=low - (stopLoss / syminfo.mintick), limit=high + (takeProfit / syminfo.mintick))

// Trailing stop logic
var float entryPrice = na
var float trailingStopPrice = na

if (strategy.position_size != 0)
    entryPrice := strategy.opentrades.entry_price(0)

if (strategy.position_size > 0)  // For long positions
    if (close - entryPrice > 300)
        trailingStopPrice := entryPrice + (close - entryPrice - 300)

if (strategy.position_size < 0)  // For short positions
    if (entryPrice - close > 300)
        trailingStopPrice := entryPrice - (entryPrice - close - 300)

if (strategy.position_size > 0 and not na(trailingStopPrice) and close < trailingStopPrice)
    strategy.close("Long", comment="Trailing Stop")

if (strategy.position_size < 0 and not na(trailingStopPrice) and close > trailingStopPrice)
    strategy.close("Short", comment="Trailing Stop")

// Daily drawdown and profit limits
var float startOfDayEquity = na
if (na(startOfDayEquity) or ta.change(time('D')) != 0)
    startOfDayEquity := strategy.equity

maxDailyLoss = 600
maxDailyProfit = 1800
currentDailyPL = strategy.equity - startOfDayEquity

if (currentDailyPL <= -maxDailyLoss)
    strategy.close_all(comment="Max Daily Loss Reached")

if (currentDailyPL >= maxDailyProfit)
    strategy.close_all(comment="Max Daily Profit Reached")