একটি চলমান গড় মুভিং ফোরকাস্ট ট্রেডিং কৌশল হল একটি পরিমাণগত ট্রেডিং কৌশল যা স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী মুভিং গড়ের (ইএমএ) ক্রসকে অনুসরণ করে এবং মুভিং ফোরকাস্ট এবং ডেড ফোরকাস্টের সময় ক্রয় এবং বিক্রয় ক্রিয়াকলাপ পরিচালনা করে। এই কৌশলটি MACD সূচকের সাথে ট্রেডিং সংকেত বিচার করে।
এই কৌশলটি মূলত 12 দিনের ইএমএ, 26 দিনের ইএমএ এবং এমএসিডি সূচকগুলির উপর নির্ভর করে।
এছাড়াও, এই নীতিটি কিছু ফিল্টারিং শর্তও নির্ধারণ করেঃ
এই কৌশলটি মুভিং এভারেজ ক্রস এবং MACD সূচকগুলির সাথে মিলিত হয়, যা কার্যকরভাবে বাজারের স্বল্প ও মাঝারি মেয়াদী প্রবণতার বিপরীত বিন্দুগুলিকে ক্যাপচার করতে পারে। এর প্রধান সুবিধাগুলি হলঃ
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
সংশ্লিষ্ট প্রশমন পদ্ধতিঃ
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যায়ঃ
একটি চলমান গড় মুদ্রার ফর্কা-মৃত্যু-ফর্কা একটি কার্যকর পরিমাণগত ট্রেডিং কৌশল যা MACD ট্রেডিং কৌশলগুলির সাথে মিলিত হয়, ট্রেডিং সংকেতগুলি সহজেই প্রবণতা ট্র্যাকিংয়ের মাধ্যমে তৈরি করা হয়, এবং উপযুক্ত ফিল্টারিং শর্তগুলির সাথে ঝুঁকি নিয়ন্ত্রণের সাথে মিলিত হয়। এই কৌশলটি প্যারামিটার অপ্টিমাইজেশন, স্টপ লস মেশিনের বৃদ্ধি এবং আরও সহায়ক সূচকগুলির সাথে মিলিত হওয়ার মাধ্যমে উন্নত করা যেতে পারে।
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMMA", max_bars_back = 200)
var up1 = #26A69A
var up2 = #B2DFDB
var down1 = #FF5252
var down2 = #FFCDD2
var confirmationLength = 2
var earliest = timestamp("20 Jan 2024 00:00 +0000")
// Regn u
shortEMA = ta.ema(close, 12)
longEMA = ta.ema(close, 26)
macd = shortEMA - longEMA
signal = ta.ema(macd, 9)
delta = macd - signal
absDelta = math.abs(delta)
previousDelta = delta[1]
signalCrossover = ta.crossover(macd, signal)
signalCrossunder = ta.crossunder(macd, signal)
harskiftetdag = hour(time[confirmationLength]) > hour(time)
enterLongSignal = signalCrossover[confirmationLength] and (macd > signal) and (absDelta >= 0.08)
exitLongSignal = signalCrossunder[confirmationLength] and (macd < signal)
enterShortSignal = signalCrossunder[confirmationLength] and (macd < signal) and (absDelta >= 0.08)
exitShortSignal = signalCrossover[confirmationLength] and (macd > signal)
// Så er det tid til at købe noe
qty = math.floor(strategy.equity / close)
if time >= earliest and not harskiftetdag
if exitLongSignal
strategy.close("long")
else if enterLongSignal
strategy.close("short")
strategy.entry("long", strategy.long, qty = qty)
if exitShortSignal
strategy.close("short")
else if enterShortSignal
strategy.close("long")
strategy.entry("short", strategy.short, qty = qty)
// Så er det tid til at vise noe
plot(macd, color=color.blue)
plot(signal, color=color.orange)
// bgcolor(color = delta > 0.1 ? color.new(color.green, 90) : color.new(color.green, 100))
// bgcolor(color = signalCrossover ? color.purple : signalCrossunder ? color.aqua : color.new(color.green, 100))
histogramColor = delta > 0 ? (previousDelta < delta ? up1 : up2) : (previousDelta > delta ? down1 : down2)
plot(
delta,
style=plot.style_columns,
color=histogramColor
)