وسائل لوڈ ہو رہے ہیں... لوڈنگ...

ایڈوانسڈ ویو ٹرینڈ اور ای ایم اے ربن فیوژن ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2025-01-06 15:21:57
ٹیگز:WTای ایم اےHLC3ایس ایم اےایم اے

img

جائزہ

یہ حکمت عملی ایک جدید تجارتی نظام ہے جو ویو ٹرینڈ آسکیلیٹر اشارے کو ای ایم اے ربن کے ساتھ جوڑتا ہے۔ ان دونوں تکنیکی اشارے کو مربوط کرکے ، یہ ایک تجارتی حکمت عملی بناتا ہے جو مارکیٹ کے رجحان کی الٹ پوائنٹس کو درست طریقے سے پکڑنے کے قابل ہے۔ یہ حکمت عملی دارالحکومت کی حفاظت کرتے ہوئے اعلی منافع کے حصول کے لئے متحرک اسٹاپ نقصان اور منافع لینے کی ترتیبات کا استعمال کرتی ہے۔

حکمت عملی کے اصول

حکمت عملی کا بنیادی حصہ تجارتی اشاروں کی نشاندہی کے لئے ویو ٹرینڈ اشارے اور آٹھ ای ایم اے لائنوں کے ہم آہنگ استعمال میں ہے۔ ویو ٹرینڈ اشارے قیمت اور حرکت پذیر اوسط کے درمیان انحراف کا حساب کرکے مارکیٹ میں زیادہ خریدنے اور زیادہ فروخت ہونے والے حالات کی پیمائش کرتا ہے۔ ای ایم اے ربن مختلف مدت کے حرکت پذیر اوسط کے کراس اوور کے ذریعے رجحان کی سمت کی تصدیق کرتا ہے۔ خاص طور پر:

  1. لمبے سگنل اس وقت ٹرگر ہوتے ہیں جب EMA2 EMA8 سے اوپر گزر جاتا ہے، یا جب ایک نیلے رنگ کا مثلث سگنل ظاہر ہوتا ہے (EMA2 EMA3 سے اوپر گزر جاتا ہے) بغیر خون کے ہیرے کے نمونہ کے
  2. مختصر سگنل اس وقت شروع ہوتے ہیں جب ای ایم اے 8 ای ایم اے 2 کے اوپر عبور کرتا ہے ، یا جب خون کا ہیرا نمونہ ظاہر ہوتا ہے
  3. سٹاپ نقصان پچھلے کاؤنٹر سگنل کے بعد انتہائی نقطہ پر مقرر کیا جاتا ہے، مؤثر طریقے سے خطرے کو کنٹرول
  4. منافع حاصل کرنے کے اہداف کو سٹاپ نقصان کے فاصلے کے 2-3 گنا مقرر کیا جاتا ہے، جو ایک اچھا خطرہ انعام کا تناسب ظاہر کرتا ہے

حکمت عملی کے فوائد

  1. دوہری تصدیق کا طریقہ کار تجارتی سگنل کی وشوسنییتا کو بہتر بناتا ہے
  2. متحرک سٹاپ نقصان کی ترتیبات کو مارکیٹ کی اتار چڑھاؤ کے مطابق بہتر بنایا جاتا ہے
  3. خطرے اور منافع کے تناسب کی واضح ترتیبات
  4. ای ایم اے ربن مارکیٹ کے مجموعی رجحانات کا تعین کرنے میں مدد کرتا ہے
  5. WaveTrend اشارے مؤثر طریقے سے مارکیٹ overbought/oversold حالات کی نشاندہی
  6. واضح حکمت عملی منطق جو سمجھنے اور عملدرآمد کرنے میں آسان ہے

حکمت عملی کے خطرات

  1. مختلف بازاروں میں اکثر غلط سگنل پیدا کر سکتا ہے
  2. شدید اتار چڑھاؤ کے دوران متحرک رکاوٹوں کو آسانی سے متحرک کیا جاسکتا ہے
  3. تاریخی اعداد و شمار پر مبنی اشارے مارکیٹ کے نظام کی تبدیلیوں کے دوران ناکام ہوسکتے ہیں
  4. متعدد تکنیکی اشارے سگنل کی تاخیر کا سبب بن سکتے ہیں حل:
  • مختلف مارکیٹوں میں جھوٹے سگنل کو کم کرنے کے لئے اتار چڑھاؤ فلٹرز شامل کریں
  • وسیع سٹاپ نقصان کی ترتیبات کا استعمال کرنے پر غور کریں
  • رجحان کی طاقت کی تصدیق کے طریقہ کار شامل کریں

اصلاح کی ہدایات

  1. متحرک سٹاپ نقصان ایڈجسٹمنٹ کے لیے اتار چڑھاؤ کے اشارے (جیسے اے ٹی آر) متعارف کرانا
  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="空头止盈线")

متعلقہ

مزید