এক্সপোনেন্সিয়াল মুভিং মিডিয়ার উপর ভিত্তি করে কৌশল এবং এমএসিডি সূচক

লেখক:চাওঝাং, তারিখ: ২০২৩-১২-০৮ ১৬ঃ৫৮ঃ০১
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি প্রবণতা অনুসরণ এবং গড় বিপরীত ট্রেডিংয়ের মাধ্যমে মুনাফা অর্জনের জন্য দীর্ঘ এবং সংক্ষিপ্ত হোল্ডিং সময়ের সাথে এক্সপোনেনশিয়াল চলমান গড় এবং এমএসিডি সূচক থেকে ব্রেকআউট সংকেতগুলিকে একত্রিত করে।

কৌশল নীতি

কৌশলটি মূলত নিম্নলিখিত বিষয়গুলির উপর ভিত্তি করেঃ

  1. মূল প্রবণতা দিক নির্ধারণের জন্য 200 দিনের ইএমএ গণনা করুন। 200-ইএমএ এর উপরে বন্ধের মূল্য আপগ্রেড প্রবণতা নির্দেশ করে, যখন নীচে নিম্নগামী প্রবণতা নির্দেশ করে।

  2. সর্বোচ্চ, সর্বনিম্ন এবং বন্ধ মূল্যের মধ্যম মূল্যের উপর ভিত্তি করে EMA গণনা করুন, তারপর MACD হিস্টোগ্রাম নির্মাণের জন্য EMA এবং সর্বোচ্চ / সর্বনিম্ন মূল্যের মধ্যে পার্থক্য পান।

  3. এমএসিডি সিগন্যাল লাইন তৈরি করতে এমএসিডি হিস্টোগ্রামের 9-দিনের এমএ গণনা করুন।

  4. যখন MACD সিগন্যাল লাইনের উপরে অতিক্রম করে তখন একটি ক্রয় সংকেত উৎপন্ন হয়, যখন MACD সিগন্যাল লাইনের নীচে অতিক্রম করে তখন একটি বিক্রয় সংকেত উৎপন্ন হয়।

  5. মূল প্রবণতা বিশ্লেষণ একত্রিত করে নির্ধারণ করুন যে বাজারটি একটি নতুন প্রবণতার শুরুতে রয়েছে কিনা বা কেবল স্বল্পমেয়াদী বিপরীতমুখী।

সুবিধা

এই কৌশলটি ট্রেন্ড অনুসরণ এবং গড় রিভার্সন ট্রেডিং উভয়ই একত্রিত করে, যা উভয়ই দীর্ঘমেয়াদী প্রবণতা ট্র্যাক করতে পারে এবং বিভিন্ন বাজারের অবস্থার মোকাবেলায় স্বল্পমেয়াদী বিপরীতমুখী সুযোগগুলি ক্যাপচার করতে পারে।

এর প্রধান সুবিধাগুলো হল:

  1. ২০০ দিনের ইএমএ মূল প্রবণতার দিকনির্দেশনা নির্ধারণ করে, প্রবণতার বিরুদ্ধে ট্রেডিং এড়ায়।

  2. এমএসিডি সূচক স্বল্পমেয়াদী মূল্য পরিবর্তনের প্রতি সংবেদনশীল এবং লাভজনক বিপরীত সংকেতগুলি ধরতে পারে।

  3. ম্যাকডি উপাদানগুলির জন্য বিভিন্ন পরামিতিগুলি সময়সীমার মধ্যে ট্রেডিং সংকেত তৈরি করতে পারে।

  4. একক ট্রেড ক্ষতি কার্যকরভাবে নিয়ন্ত্রণ করার জন্য স্টপ লস কৌশল একীভূত করে।

ঝুঁকি

প্রধান ঝুঁকিগুলির মধ্যে রয়েছেঃ

  1. দীর্ঘমেয়াদী এবং স্বল্পমেয়াদী সূচক থেকে ট্রেডিং সংকেতগুলির মধ্যে সময় বিলম্ব থাকতে পারে। প্রধান প্রবণতা সম্পর্কে রায় গুরুত্বপূর্ণ।

  2. ম্যাকডি (MACD) গড় রিভার্সনের সূচক হিসেবে শক্তিশালী প্রবণতা চলাকালীন কম পারফর্ম করতে পারে।

  3. ভুল স্টপ লস প্লেসমেন্টের ফলে অকাল স্টপ লস ট্রিগার বা অত্যধিক ক্ষতি হতে পারে।

  4. খুব ঘন ঘন ব্রেকআউট সিগন্যাল আরও মিথ্যা সিগন্যাল আনতে পারে।

সমাধান:

  1. সূচকের সংবেদনশীলতা সামঞ্জস্য করার জন্য MACD পরামিতিগুলি অপ্টিমাইজ করুন।

  2. বাজার পরিস্থিতি নির্ধারণের জন্য অন্যান্য সূচককে একত্রিত করুন, ম্যাকডি সিগন্যালগুলি অন্ধভাবে অনুসরণ করা এড়িয়ে চলুন।

  3. স্টপ লস স্ট্র্যাটেজি প্যারামিটার পরীক্ষা এবং অপ্টিমাইজ করুন।

  4. মিথ্যা সংকেত কমাতে ফিল্টার যোগ করুন।

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

কৌশলটি নিম্নলিখিতগুলির মাধ্যমে অপ্টিমাইজ করা যেতে পারেঃ

  1. আরও কার্যকর ট্রেডিং সংকেত পাওয়ার জন্য চলমান গড় এবং এমএসিডির পরামিতিগুলি অনুকূল করুন।

  2. কৌশল কার্যকারিতা বাড়াতে ভলিউম, আরএসআই-র মতো অন্যান্য সূচক যুক্ত করুন।

  3. প্রতিটি ট্রেডের জন্য নির্দিষ্ট পরিমাণের পরিবর্তে পজিশনের আকার নির্ধারণের নিয়ম স্থাপন করুন।

  4. স্টপ লস-এর উপর আরো উন্নত প্রস্থান নিয়ম যোগ করুন, যেমন মুনাফা লক্ষ্য, ট্রেলিং স্টপ।

  5. বাস্তব ট্রেডিং সিমুলেট করার জন্য আরো বাস্তবসম্মত ফি সেটিংসের সাথে ব্যাকটেস্ট।

  6. নির্ভরযোগ্যতা বাড়াতে অগ্রগতি বিশ্লেষণ, স্থিতিশীলতা পরীক্ষা করা।

সিদ্ধান্ত

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


/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Strategia EMA + Impulse MACD", shorttitle="EMA+IMACD", overlay=true)

// Impostazioni
ema_length = input(200, title="Periodo EMA a 200", type=input.integer)
lengthMA = input(34, title="Periodo EMA", type=input.integer)
lengthSignal = input(9, title="Periodo Signal", type=input.integer)
lengthImpulseMACD = input(12, title="Periodo Impulse MACD", type=input.integer)
lengthImpulseMACDSignal = input(9, title="Periodo Impulse MACD Signal", type=input.integer)
stopLossPeriod = input(20, title="Periodo Stop Loss", type=input.integer)

var float ema200 = na
if bar_index >= ema_length
    ema200 := ema(close, ema_length)

// Impulse MACD
var float hi = na
var float lo = na
var float mi = na
var float impulseMACD = na
var float impulseMACDSignal = na

calc_smma(src, len) =>
    var float smma = na
    if na(smma)
        smma := sma(src, len)
    else
        smma := (smma[1] * (len - 1) + src) / len
    smma

calc_zlema(src, length) =>
    ema1 = ema(src, length)
    ema2 = ema(ema1, length)
    d = ema1 - ema2
    ema1 + d

if bar_index >= lengthMA
    src = hlc3
    hi := calc_smma(high, lengthMA)
    lo := calc_smma(low, lengthMA)
    mi := calc_zlema(src, lengthMA)

    impulseMACD := (mi > hi) ? (mi - hi) : (mi < lo) ? (mi - lo) : 0
    impulseMACDSignal := sma(impulseMACD, lengthSignal)

// Calcolo dello stop loss
var float stopLossLong = na
var float stopLossShort = na

stopLossLong := lowest(low, stopLossPeriod)
stopLossShort := highest(high, stopLossPeriod)

// Calcolo del take profit
var float takeProfitLong = na
var float takeProfitShort = na

if not na(stopLossLong)
    takeProfitLong := close + (close - stopLossLong) * 1.5
if not na(stopLossShort)
    takeProfitShort := close - (stopLossShort - close) * 1.5

// Condizioni per aprire una posizione long
longCondition = not na(ema200) and not na(impulseMACD) and not na(impulseMACDSignal) and close > ema200 and impulseMACD < 0 and impulseMACDSignal < 0 and crossover(impulseMACD, impulseMACDSignal)

// Condizioni per aprire una posizione short
shortCondition = not na(ema200) and not na(impulseMACD) and not na(impulseMACDSignal) and close < ema200 and impulseMACD > 0 and impulseMACDSignal > 0 and crossunder(impulseMACD, impulseMACDSignal)

// Disegna l'EMA 200 sul grafico
plot(ema200, color=color.blue, title="EMA 200")

// Imposta lo stop loss e il take profit
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
strategy.exit("Take Profit/Stop Loss Long", from_entry="Long", stop=stopLossLong, limit=takeProfitLong)
strategy.exit("Take Profit/Stop Loss Short", from_entry="Short", stop=stopLossShort, limit=takeProfitShort)

// Impulse MACD
plot(0, color=color.gray, linewidth=1, title="MidLine")
plot(impulseMACD, color=color.red, linewidth=2, title="ImpulseMACD", style=plot.style_histogram)
plot(impulseMACDSignal, color=color.blue, linewidth=2, title="ImpulseMACDSignal", style=plot.style_histogram)

// Disegna le operazioni long e short sul grafico
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Long Entry")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.triangledown, title="Short Entry")


আরো