রিসোর্স লোড হচ্ছে... লোডিং...

অ্যাডভান্সড ওয়েভ ট্রেন্ড এবং ইএমএ রিবন ফিউশন ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখঃ 2025-01-06 15:21:57
ট্যাগঃWTইএমএHLC3এসএমএএমএ

img

সারসংক্ষেপ

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

কৌশলগত নীতি

কৌশলটির মূলটি হ'ল ট্রেডিং সংকেতগুলি সনাক্ত করতে ওয়েভট্রেন্ড সূচক এবং আটটি ইএমএ লাইনের সমন্বয়মূলক ব্যবহার। ওয়েভট্রেন্ড সূচকটি মূল্য এবং চলমান গড়ের মধ্যে বিচ্যুতি গণনা করে বাজারের অতিরিক্ত ক্রয় এবং অতিরিক্ত বিক্রয় শর্তগুলি পরিমাপ করে। ইএমএ রিবন বিভিন্ন সময়ের চলমান গড়ের ক্রসওভারের মাধ্যমে প্রবণতার দিকটি নিশ্চিত করে। বিশেষতঃ

  1. দীর্ঘ সংকেতগুলি যখন EMA2 EMA8 এর উপরে অতিক্রম করে বা যখন একটি নীল ত্রিভুজ সংকেত প্রদর্শিত হয় (EMA2 EMA3 এর উপরে অতিক্রম করে) তখন রক্ত ডায়মন্ড প্যাটার্ন ছাড়াই
  2. যখন EMA8 EMA2 এর উপরে অতিক্রম করে অথবা যখন রক্তের ডায়মন্ড প্যাটার্ন প্রদর্শিত হয় তখন সংক্ষিপ্ত সংকেতগুলি সক্রিয় হয়
  3. স্টপ-লস পূর্ববর্তী কাউন্টার সিগন্যালের পরে চরম বিন্দুতে সেট করা হয়, কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করে
  4. লাভের লক্ষ্যমাত্রা স্টপ-লস দূরত্বের ২-৩ গুণ নির্ধারণ করা হয়, যা একটি ভাল ঝুঁকি-প্রতিদান অনুপাত প্রদর্শন করে

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

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

কৌশলগত ঝুঁকি

  1. বিভিন্ন বাজারে প্রায়শই মিথ্যা সংকেত তৈরি করতে পারে
  2. তীব্র অস্থিরতার সময় ডায়নামিক স্টপগুলি সহজেই সক্রিয় করা যেতে পারে
  3. বাজার ব্যবস্থার পরিবর্তনের সময় ঐতিহাসিক তথ্যের উপর ভিত্তি করে সূচকগুলি ব্যর্থ হতে পারে
  4. একাধিক প্রযুক্তিগত সূচক সিগন্যাল বিলম্ব হতে পারে সমাধান:
  • বিভিন্ন বাজারে মিথ্যা সংকেত হ্রাস করার জন্য অস্থিরতা ফিল্টার যুক্ত করুন
  • স্টপ-লস সেটিংসের ব্যবহার বিবেচনা করুন
  • প্রবণতা শক্তি নিশ্চিতকরণ প্রক্রিয়া যোগ করুন

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

  1. ডায়নামিক স্টপ-লস সমন্বয়ের জন্য অস্থিরতা সূচক (যেমন ATR) প্রবর্তন করুন
  2. সিগন্যাল নির্ভরযোগ্যতা উন্নত করতে ভলিউম নিশ্চিতকরণ প্রক্রিয়া যোগ করুন
  3. শুধুমাত্র শক্তিশালী ট্রেন্ড মার্কেটে ট্রেডিংয়ের জন্য ট্রেন্ড শক্তি ফিল্টার যুক্ত করার বিষয়টি বিবেচনা করুন
  4. বিভিন্ন বাজারের অবস্থার সাথে আরও ভাল অভিযোজন করার জন্য ওয়েভট্রেন্ড পরামিতিগুলি অপ্টিমাইজ করুন
  5. বিভিন্ন সময়সীমার মধ্যে সিগন্যাল সিনার্জি অধ্যয়ন করুন

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

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


/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("VuManChu Cipher A Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.fixed, default_qty_value=1.0)

// === 函数定义 ===
// WaveTrend函数
f_wavetrend(_src, _chlen, _avg, _malen) =>
    _esa = ta.ema(_src, _chlen)
    _de = ta.ema(math.abs(_src - _esa), _chlen)
    _ci = (_src - _esa) / (0.015 * _de)
    _tci = ta.ema(_ci, _avg)
    _wt1 = _tci
    _wt2 = ta.sma(_wt1, _malen)
    [_wt1, _wt2]

// EMA Ribbon函数
f_emaRibbon(_src, _e1, _e2, _e3, _e4, _e5, _e6, _e7, _e8) =>
    _ema1 = ta.ema(_src, _e1)
    _ema2 = ta.ema(_src, _e2)
    _ema3 = ta.ema(_src, _e3)
    _ema4 = ta.ema(_src, _e4)
    _ema5 = ta.ema(_src, _e5)
    _ema6 = ta.ema(_src, _e6)
    _ema7 = ta.ema(_src, _e7)
    _ema8 = ta.ema(_src, _e8)
    [_ema1, _ema2, _ema3, _ema4, _ema5, _ema6, _ema7, _ema8]

// === 变量声明 ===
var float stopPrice = na      // 止损价格变量
var float targetPrice = na    // 止盈价格变量
var float lastLongPrice = na
var float lastShortPrice = na
var float highestSinceLastLong = na
var float lowestSinceLastShort = na

// === WaveTrend参数 ===
wtChannelLen = input.int(9, title = 'WT Channel Length')
wtAverageLen = input.int(13, title = 'WT Average Length')
wtMASource = hlc3
wtMALen = input.int(3, title = 'WT MA Length')

// === EMA Ribbon参数 ===
ema1Len = input.int(5, "EMA 1 Length")
ema2Len = input.int(11, "EMA 2 Length")
ema3Len = input.int(15, "EMA 3 Length")
ema4Len = input.int(18, "EMA 4 Length")
ema5Len = input.int(21, "EMA 5 Length")
ema6Len = input.int(24, "EMA 6 Length")
ema7Len = input.int(28, "EMA 7 Length")
ema8Len = input.int(34, "EMA 8 Length")

// === 计算指标 ===
// WaveTrend计算
[wt1, wt2] = f_wavetrend(wtMASource, wtChannelLen, wtAverageLen, wtMALen)

// WaveTrend交叉条件
wtCross = ta.cross(wt1, wt2)
wtCrossDown = wt2 - wt1 >= 0

// EMA Ribbon计算
[ema1, ema2, ema3, ema4, ema5, ema6, ema7, ema8] = f_emaRibbon(close, ema1Len, ema2Len, ema3Len, ema4Len, ema5Len, ema6Len, ema7Len, ema8Len)

// === 交易信号 ===
longEma = ta.crossover(ema2, ema8)
shortEma = ta.crossover(ema8, ema2)
redCross = ta.crossunder(ema1, ema2)
blueTriangle = ta.crossover(ema2, ema3)
redDiamond = wtCross and wtCrossDown
bloodDiamond = redDiamond and redCross

// 更新最高最低价
if not na(lastLongPrice)
    highestSinceLastLong := math.max(high, nz(highestSinceLastLong))
if not na(lastShortPrice)
    lowestSinceLastShort := math.min(low, nz(lowestSinceLastShort))

// === 交易信号条件 ===
longCondition = longEma or (blueTriangle and not bloodDiamond)
shortCondition = shortEma or bloodDiamond

// === 执行交易 ===
if (longCondition)
    // 记录多头入场价格
    lastLongPrice := close
    // 重置最高价跟踪
    highestSinceLastLong := high
    
    stopPrice := nz(lowestSinceLastShort, close * 0.98)  // 使用前一个空头信号后的最低价作为止损
    float riskAmount = math.abs(close - stopPrice)
    targetPrice := close + (riskAmount * 2)  // 止盈为止损距离的2倍
    
    strategy.entry("做多", strategy.long)
    strategy.exit("多头止盈止损", "做多", limit=targetPrice, stop=stopPrice)

if (shortCondition)
    // 记录空头入场价格
    lastShortPrice := close
    // 重置最低价跟踪
    lowestSinceLastShort := low
    
    stopPrice := nz(highestSinceLastLong, close * 1.02)  // 使用前一个多头信号后的最高价作为止损
    float riskAmount = math.abs(stopPrice - close)
    targetPrice := close - (riskAmount * 3)  // 止盈为止损距离的2倍
    
    strategy.entry("做空", strategy.short)
    strategy.exit("空头止盈止损", "做空", limit=targetPrice, stop=stopPrice)

// === 绘制信号 ===
plotshape(longCondition, style=shape.triangleup, color=color.green, location=location.belowbar, size=size.small, title="做多信号")
plotshape(shortCondition, style=shape.triangledown, color=color.red, location=location.abovebar, size=size.small, title="做空信号")

// 绘制止损线
plot(strategy.position_size > 0 ? stopPrice : na, color=color.red, style=plot.style_linebr, linewidth=2, title="多头止损线")
plot(strategy.position_size < 0 ? stopPrice : na, color=color.red, style=plot.style_linebr, linewidth=2, title="空头止损线")

// 绘制止盈线
plot(strategy.position_size > 0 ? targetPrice : na, color=color.green, style=plot.style_linebr, linewidth=2, title="多头止盈线")
plot(strategy.position_size < 0 ? targetPrice : na, color=color.green, style=plot.style_linebr, linewidth=2, title="空头止盈线")

সম্পর্কিত

আরো