ইএমএ আরএসআই ট্রেন্ড-ফলোিং এবং ইম্পোমেন্টাম স্ট্র্যাটেজি

লেখক:চাওঝাং, তারিখঃ 2024-03-29 16:30:42
ট্যাগঃ

img

সারসংক্ষেপ

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

কৌশলগত নীতি

  1. দ্রুত EMA এবং ধীর EMA হিসাব করুন যথাক্রমে 90 এবং 300 সময়ের সাথে।
  2. RSI ইন্ডিকেটর গণনা করুন 5 এর একটি সময়ের সাথে।
  3. যখন দ্রুত EMA ধীর EMA এর উপরে অতিক্রম করে এবং RSI 45 এর নীচে থাকে তখন একটি দীর্ঘ সংকেত তৈরি করুন; যখন দ্রুত EMA ধীর EMA এর নীচে অতিক্রম করে এবং RSI 85 এর উপরে থাকে তখন একটি সংক্ষিপ্ত সংকেত তৈরি করুন।
  4. বাইবিট অ্যাকাউন্টের স্তরের উপর ভিত্তি করে বিভিন্ন কমিশন শতাংশ সেট করুন, ভিআইপি 0 এর জন্য 0.075% থেকে ভিআইপি 4 এর জন্য 0.035% পর্যন্ত।
  5. কমিশন সহ প্রবেশ মূল্য গণনা করুন।
  6. নির্ধারিত শতাংশ (৫% এবং ৩%) এর ভিত্তিতে লাভ এবং স্টপ লস মূল্য গণনা করুন।
  7. চার্টে এন্ট্রি প্রাইস, লাভের লাইন এবং স্টপ লস লাইন প্লট করুন।
  8. ট্রেডিং সিগন্যালের উপর ভিত্তি করে এন্ট্রি অর্ডার কার্যকর করুন।

কৌশলগত সুবিধা

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

কৌশলগত ঝুঁকি

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

কৌশল অপ্টিমাইজেশান নির্দেশাবলী

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

সংক্ষিপ্তসার

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


/*backtest
start: 2024-03-21 00:00:00
end: 2024-03-28 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// @BryanAaron

//@version=5
strategy("Bybit EMA RSI Strategy", overlay=true)

// Input parameters
fastLength = input(90, title="Fast EMA Length")
slowLength = input(300, title="Slow EMA Length")
rsiLength = input(5, title="RSI Length")
rsiUpperThreshold = input(85, title="RSI Upper Threshold")
rsiLowerThreshold = input(45, title="RSI Lower Threshold")
takeProfitPerc = input(5, title="Take Profit %")
stopLossPerc = input(3, title="Stop Loss %")
bybitAccountLevel = input.string("VIP 0", title="Bybit Account Level", options=["VIP 0", "VIP 1", "VIP 2", "VIP 3", "VIP 4"])

// Calculate moving averages
fastMA = ta.ema(close, fastLength)
slowMA = ta.ema(close, slowLength)

// Calculate RSI
rsi = ta.rsi(close, rsiLength)

// Trading conditions
longCondition = (fastMA > slowMA) and (rsi < rsiLowerThreshold)
shortCondition = (fastMA < slowMA) and (rsi > rsiUpperThreshold)

// Set commission based on Bybit account level
commissionPerc = switch bybitAccountLevel
    "VIP 0" => 0.075
    "VIP 1" => 0.065
    "VIP 2" => 0.055
    "VIP 3" => 0.045
    "VIP 4" => 0.035
    => 0.075

// Calculate entry prices with commission
var float longEntryPrice = na
var float shortEntryPrice = na

longEntryPriceWithCommission = close * (1 + commissionPerc / 100)
shortEntryPriceWithCommission = close * (1 - commissionPerc / 100)

// Calculate take profit and stop loss prices
takeProfitPrice(entryPrice) => entryPrice * (1 + takeProfitPerc / 100)
stopLossPrice(entryPrice) => entryPrice * (1 - stopLossPerc / 100)

// Plot entry prices
plotchar(longCondition, title="Long Entry Price", char="LE", location=location.belowbar, color=color.green)
plotchar(shortCondition, title="Short Entry Price", char="SE", location=location.abovebar, color=color.red)

// Draw position on the chart
longColor = color.green
shortColor = color.red
profitColor = color.new(color.green, 80)
lossColor = color.new(color.red, 80)

plotshape(longCondition and strategy.position_size > 0, title="Long Position", text="Long", location=location.belowbar, style=shape.labelup, size=size.small, color=longColor, textcolor=color.white)
plotshape(shortCondition and strategy.position_size < 0, title="Short Position", text="Short", location=location.abovebar, style=shape.labeldown, size=size.small, color=shortColor, textcolor=color.white)

if (strategy.position_size > 0)
    line.new(bar_index, longEntryPrice, bar_index + 1, longEntryPrice, color=longColor, width=2)
    
    longProfitLine = line.new(bar_index, takeProfitPrice(longEntryPrice), bar_index + 1, takeProfitPrice(longEntryPrice), color=profitColor, width=1)
    longLossLine = line.new(bar_index, stopLossPrice(longEntryPrice), bar_index + 1, stopLossPrice(longEntryPrice), color=lossColor, width=1)
    

else if (strategy.position_size < 0)
    line.new(bar_index, shortEntryPrice, bar_index + 1, shortEntryPrice, color=shortColor, width=2)
    
    shortProfitLine = line.new(bar_index, stopLossPrice(shortEntryPrice), bar_index + 1, stopLossPrice(shortEntryPrice), color=profitColor, width=1)
    shortLossLine = line.new(bar_index, takeProfitPrice(shortEntryPrice), bar_index + 1, takeProfitPrice(shortEntryPrice), color=lossColor, width=1)
    


// Entry
if (longCondition)
    strategy.entry("Long", strategy.long)
    longEntryPrice := longEntryPriceWithCommission
else if (shortCondition)
    strategy.entry("Short", strategy.short)
    shortEntryPrice := shortEntryPriceWithCommission

আরো