ফ্র্যাক্টাল ওয়েভ এবং এসএমএমএ-র উপর ভিত্তি করে FX কৌশল

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

img

সারসংক্ষেপ

এই কৌশলটি ট্রেন্ডের সুযোগগুলি সনাক্ত করতে ফ্র্যাক্টাল তরঙ্গ তত্ত্ব এবং এসএমএমএকে একত্রিত করে এবং লাভের সর্বাধিকীকরণের জন্য ঝুঁকিগুলি নিয়ন্ত্রণ করতে সঠিক স্টপ লস এবং ট্রেলিং স্টপ ব্যবহার করে। নির্দিষ্ট সময়ে বাজারের ওঠানামা এড়াতে এটি কেবল নির্দিষ্ট ট্রেডিং সেশনের সময় অবস্থান প্রবেশ করে।

কৌশলগত যুক্তি

  • গড় মূল্য গণনা করতে এবং প্রবণতা দিকের জন্য বাজার গোলমাল ফিল্টার করতে এসএমএমএ ব্যবহার করুন
  • নির্দিষ্ট সময়ের মধ্যে সর্বোচ্চ/নিম্নতম মূল্যকে ফ্রেক্টাল তরঙ্গ হিসাবে ব্যবহার করে প্রবণতা বিপরীত পয়েন্টগুলি সনাক্ত করুন
  • যখন দামের তরঙ্গ এসএমএমএ এর উপরে ভেঙে যায় তখন শর্ট করুন, যখন এটি নীচে ভেঙে যায় তখন দীর্ঘ যান
  • ঝুঁকি নিয়ন্ত্রণের জন্য ATR এর উপর ভিত্তি করে স্টপ লস এবং ট্রেলিং স্টপ সেট করুন
  • শুধুমাত্র নির্দিষ্ট সেশনের মধ্যে ট্রেড করুন, সপ্তাহান্তে এবং দিনের মধ্যে ওঠানামা এড়িয়ে চলুন

সুবিধা বিশ্লেষণ

  • ফ্র্যাক্টাল তরঙ্গ তত্ত্ব সঠিকভাবে প্রবণতা বিপরীত পয়েন্ট চিহ্নিত করে, প্রবণতা দিক জন্য SMMA সঙ্গে মিলিত
  • স্টপ লস এবং এটিআর ট্রেলিং স্টপ কার্যকরভাবে ট্রেড প্রতি ক্ষতি সীমাবদ্ধ
  • শুধুমাত্র তরল সেশনের সময় ট্রেডিং অত্যধিক স্লিপ এবং অস্থিরতা এড়ায়
  • প্যারাবোলিক এসএআর অনুসরণ করা কঠোরভাবে বিপরীত সংকেত এ প্রস্থান লাভ সর্বাধিক করে তোলে

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

  • ভুল ফ্রেক্টাল তরঙ্গের কারণে অ-ট্রেন্ডিং সময়ের মধ্যে হুইপসও হতে পারে
  • এসএমএমএ বিলম্ব আদর্শ প্রবণতা বিপরীত পয়েন্ট মিস করতে পারে
  • স্টপ লস খুব টাইট সহজেই বন্ধ করা যেতে পারে, খুব আলগা বৃহত্তর ক্ষতি হতে পারে
  • ফিক্সড মুনাফা গ্রহণ বিভিন্ন বাজারের অবস্থার সাথে সামঞ্জস্য করতে অক্ষম

সমাধান:

  • ফ্র্যাক্টাল পিরিয়ড এবং এসএমএমএর জন্য পরামিতিগুলি অপ্টিমাইজ করুন
  • বিপরীত সংকেত নিশ্চিত করতে স্টোক্যাস্টিক যোগ করুন
  • গতিশীলভাবে স্টপ লস, মুনাফা লক্ষ্যমাত্রা অপ্টিমাইজ

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

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

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

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


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

//@version=4
strategy("FX Strategy Based on Fractals and SMMA", overlay=true)

// パラメータ
SMMAPeriod1 = input(30, title="SMMA Period")
StopLoss1 = input(7, title="Stop Loss %")
TrailingStopCoef1 = input(2.7, title="Trailing Stop Coefficient")
fractalPeriod = input(5, title="Fractal Period")

// SMMAの計算関数
smma(src, length) =>
    var float smma = na
    if na(smma[1])
        smma := sma(src, length)
    else
        smma := (smma[1] * (length - 1) + src) / length
    smma

// フラクタルの近似
highFractal = high[2] > high[1] and high[2] > high[3] and high[2] > high[4] and high[2] > high
lowFractal = low[2] < low[1] and low[2] < low[3] and low[2] < low[4] and low[2] < low

// エントリー条件
longEntrySignal = lowFractal and close[1] < smma(close, SMMAPeriod1)
shortEntrySignal = highFractal and close[1] > smma(close, SMMAPeriod1)

// エントリー実行
if (longEntrySignal)
    strategy.entry("Long", strategy.long)

if (shortEntrySignal)
    strategy.entry("Short", strategy.short)

// トレーリングストップの計算
atrValue = atr(10)
longStopPrice = close - atrValue * TrailingStopCoef1
shortStopPrice = close + atrValue * TrailingStopCoef1

// トレーリングストップの設定
strategy.exit("Exit Long", "Long", stop=longStopPrice)
strategy.exit("Exit Short", "Short", stop=shortStopPrice)

// バックテスト期間の設定(MetaTraderのバックテストと同じ期間)
startYear = 2007
startMonth = 05
startDay = 01
endYear = 2022
endMonth = 04
endDay = 01

startDate = timestamp(startYear, startMonth, startDay, 00, 00)
endDate = timestamp(endYear, endMonth, endDay, 23, 59)

// バックテスト期間内でのみトレードを実行
if (time >= startDate and time <= endDate)
    if (longEntrySignal)
        strategy.entry("Long", strategy.long)
    if (shortEntrySignal)
        strategy.entry("Short", strategy.short)


আরো