آر ایس آئی فلٹر کی حکمت عملی کے ساتھ کوئی آفسیٹ Ichimoku کلاؤڈ

مصنف:چاؤ ژانگ، تاریخ: 2023-11-07 15:31:06
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

حکمت عملی بنیادی طور پر رجحان کی سمت کا تعین کرنے کے لئے ایچیموکو کلاؤڈ اشارے پر انحصار کرتی ہے۔ ایچیموکو کلاؤڈ میں تبادلوں کی لکیر ، بیس لائن ، لیڈنگ اسپین 1 ، لیڈنگ اسپین 2 اور لیگزنگ اسپین شامل ہیں۔ حکمت عملی غیر آفسیٹ ایچیموکو کلاؤڈ کا استعمال کرتی ہے ، جس کا مطلب ہے کہ تبادلوں کی لکیر اور بیس لائن جیسی لائنیں مستقبل کے اعداد و شمار کو اپناتی ہیں تاکہ مشاہدے کی آفسیٹ کی وجہ سے پیچھے رہنے والے رجحان کی نشاندہی سے بچ سکے۔

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

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

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

فوائد کا تجزیہ

  • غیر آفسیٹ Ichimoku کلاؤڈ واپسی کے مواقع کو کھوئے بغیر بروقت رجحان کی تبدیلیوں کی نشاندہی کرسکتا ہے

  • متعدد حالات کو مؤثر طریقے سے غلط بریک آؤٹ سگنل کو فلٹر کرنے کے لئے مل کر کام کرتے ہیں

  • RSI زیادہ خریدنے اور زیادہ فروخت کی صورت حال میں غیر مطلوبہ مارکیٹ میں داخل ہونے سے بچتا ہے

  • حکمت عملی مستقبل کے اعداد و شمار کو ذہن میں رکھتے ہوئے بہتر ہے اور زندہ ٹریڈنگ میں بھی اچھے نتائج حاصل کرسکتے ہیں

خطرے کا تجزیہ

  • مستقبل کے اعداد و شمار کا استعمال کرتے ہوئے غلطیوں کا سبب بن سکتا ہے اور لائیو ٹریڈنگ سے پہلے کوڈ کی اصلاح کی ضرورت ہوتی ہے

  • Ichimoku کلاؤڈ پیرامیٹرز کے لئے حساس ہے اور مختلف مصنوعات کے لئے پیرامیٹر ٹیوننگ کی ضرورت ہوتی ہے

  • ایک ہی مصنوعات کی تجارت کرتے وقت بہتر نتائج۔ متعدد مصنوعات کے ساتھ مارکیٹ کے مابین ارتباط پر غور کرنے کی ضرورت ہے۔

  • رجحان کی نشاندہی کے بہت سے قوانین کی توثیق کے لئے مناسب بیک ٹسٹنگ کی مدت کی ضرورت ہوتی ہے

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

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

اسٹریٹیجی کو مندرجہ ذیل پہلوؤں میں مزید بہتر بنایا جاسکتا ہے:

  1. مختلف تجارتی مصنوعات کے لئے بہترین ترتیبات تلاش کرنے کے لئے Ichimoku کلاؤڈ پیرامیٹرز کو بہتر بنائیں

  2. ہر تجارت میں نقصان کو قابل قبول سطح تک محدود کرنے کے لئے اسٹاپ نقصان کی حکمت عملی شامل کریں

  3. مجموعی طور پر خطرے کے خطرات کو درست طریقے سے منظم کرنے کے لئے پوزیشن سائزنگ کی حکمت عملی متعارف کروائیں

  4. جامع سگنل کی تصدیق کے لئے اتار چڑھاؤ اور حجم جیسے مزید تکنیکی اشارے شامل کریں

  5. بہتر عملدرآمد کے لئے تصدیق یا پل بیک اندراجات جیسے اندراج کی تکنیک کو بہتر بنائیں

  6. پروڈکٹ کی خصوصیات کی بنیاد پر زیادہ سے زیادہ بولنگر بینڈس بیک بیک مدت کا تعین کرنے کے لئے واک فارورڈ اصلاحات انجام دیں

نتیجہ

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


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © KryptoNight

//@version=4
// comment/uncomment Study/Strategy to easily switch modes
// study("Ichimoku Kinko Hyo Cloud - no offset - no repaint - RSI filter - alerts", shorttitle="IchiCloud + RSI - alerts", overlay=true)
// ============================================================================== Strategy mode - uncomment to activate
strategy("Ichimoku Kinko Hyo Cloud - no offset - no repaint - RSI filter - strategy", shorttitle="IchiCloud + RSI - Strategy Tester Mode", overlay=true, pyramiding = 0,
  currency = currency.USD, initial_capital = 10000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100,
  calc_on_every_tick = true, calc_on_order_fills = true, commission_type = strategy.commission.percent, commission_value = 0.075)
// ==============================================================================

// ------------------------------------------------------------------------------

ichiCloud_offset   = input(false, title="Standard Ichimoku Cloud")                  // with the visual offset
ichiCloud_noOffset = input(true,  title="Ichimoku Cloud - no offset - no repaint")  // without the visual offset

conversion_prd = input(9, minval=1, title="Conversion Line Period - Tenkan-Sen")
baseline_prd   = input(26, minval=1, title="Base Line Period - Kijun-Sen")
baselineA_prd  = input(52, minval=1, title="Base Line Period - Kijun-Sen (auxiliary)")
leadingSpan_2prd = input(52, minval=1, title="Lagging Span 2 Periods - Senkou Span B")
displacement = input(26, minval=0, title="Displacement: (-) Chikou Span; (+) Senkou Span A")
extra_bars = input(1, minval=0, title="Displacement: additional bars")
laggingSpan_src = input(close, title="Lagging Span price source - Chikou-Span")

donchian(len) => avg(lowest(len), highest(len))
displ = displacement-extra_bars
// ------------------------------------------------------------------------------
// OFFSET:
conversion = donchian(conversion_prd)   // Conversion Line - Tenkan-Sen (9 Period)
baseline  = donchian(baseline_prd)      // Base Line - Kijun-Sen (26 Period)
baselineA = donchian(baselineA_prd)     // Base Line Period - Kijun-Sen (auxiliary)
leadingSpanA = avg(conversion, baseline)
leadingSpanB = donchian(leadingSpan_2prd)
laggingSpan = laggingSpan_src

// Color - bullish, bearish
col_cloud = leadingSpanA>=leadingSpanB ? color.green : color.red

// Cloud Lines
spanA = plot(ichiCloud_offset? leadingSpanA : na, offset=displ, title="Offset: Lead Line 1 - Senkou Span A cloud", color=color.green)
spanB = plot(ichiCloud_offset? leadingSpanB : na, offset=displ, title="Offset: Lead Line 2 - Senkou Span B cloud", color=color.red)
fill(spanA, spanB, color=col_cloud, transp=80, title="Offset: Ichimoku Cloud - Leading Span 1 & 2 based coloring")

// Other Lines
conversion_p = plot(ichiCloud_offset? conversion : na, title="Offset: Conversion Line - Tenkan-Sen", color=#0496ff)
standard_p = plot(ichiCloud_offset? baseline : na, title="Offset: Base Line - Kijun-Sen", color=#991515)
standardA_p = plot(ichiCloud_offset? baselineA : na, title="Offset: Base Line - Kijun-Sen (auxiliary)", color=color.teal)
lagging_Span_p = plot(ichiCloud_offset? laggingSpan : na, offset=-displ, title="Offset: Chikou Span (Lagging Span)", color=#459915)

// ------------------------------------------------------------------------------
// NO OFFSET:
conversion_noOffset = conversion[displ] // Conversion Line - Tenkan-Sen (9 Period)
baseline_noOffset  = baseline[displ]    // Base Line - Kijun-Sen (26 Period)
baselineA_noOffset = baselineA[displ]   // Base Line Period - Kijun-Sen (auxiliary)
leadingSpanA_noOffset = leadingSpanA[displ*2]
leadingSpanB_noOffset = leadingSpanB[displ*2]
laggingSpan_noOffset = laggingSpan[0]

// Color - bullish, bearish
col_cloud_noOffset = leadingSpanA_noOffset>=leadingSpanB_noOffset ? color.green : color.red

// Cloud Lines
spanA_noOffset = plot(ichiCloud_noOffset? leadingSpanA_noOffset : na, title="No offset: Lead Line 1 - Senkou Span A cloud", color=color.green, transp=0)
spanB_noOffset = plot(ichiCloud_noOffset? leadingSpanB_noOffset : na, title="No offset: Lead Line 2 - Senkou Span B cloud", color=color.red, transp=0)
fill(spanA_noOffset, spanB_noOffset, color=col_cloud_noOffset, transp=80, title="No offset: Ichimoku Cloud - Leading Span 1 & 2 based coloring")

// Other Lines
conversion_p_noOffset = plot(ichiCloud_noOffset? conversion_noOffset : na, title="No offset: Conversion Line - Tenkan-Sen", color=#0496ff, transp=0)
baseline_p_noOffset = plot(ichiCloud_noOffset? baseline_noOffset : na, title="No offset: Base Line - Kijun-Sen", color=#991515, transp=0)
baselineA_p_noOffset = plot(ichiCloud_noOffset? baselineA_noOffset : na, title="No offset: Base Line - Kijun-Sen (auxiliary)", color=color.teal, transp=0)
laggingSpan_p_noOffset = plot(ichiCloud_noOffset? laggingSpan_noOffset : na, title="No offset: Chikou Span (Lagging Span)", color=#459915, transp=0)

// ==============================================================================
// Conditions & Alerts (based on the lines without offset)

maxC = max(leadingSpanA_noOffset,leadingSpanB_noOffset)
minC = min(leadingSpanA_noOffset,leadingSpanB_noOffset)

// Trend start signals: crosses between Chikou Span (Lagging Span) and the Cloud (Senkou Span A, Senkou Span B)
uptrend_start   = crossover(laggingSpan_noOffset,maxC)
downtrend_start = crossunder(laggingSpan_noOffset,minC)

// Trends
uptrend   = laggingSpan_noOffset>maxC // Above Cloud
downtrend = laggingSpan_noOffset<minC // Below Cloud

// No trend: choppy trading - the price is in transition
notrend = maxC>=laggingSpan_noOffset and laggingSpan_noOffset>=minC

// Confirmations
uptrend_confirm   = crossover(leadingSpanA_noOffset,leadingSpanB_noOffset)
downtrend_confirm = crossunder(leadingSpanA_noOffset,leadingSpanB_noOffset)

// Signals - crosses between Conversion Line (Tenkan-Sen) and Base Line (Kijun-Sen)
bullish_signal = crossover(conversion_noOffset,baseline_noOffset)
bearish_signal = crossunder(conversion_noOffset,baseline_noOffset)

// Various alerts
alertcondition(uptrend_start,   title="Uptrend Started",   message="Uptrend Started")
alertcondition(downtrend_start, title="Downtrend Started", message="Downtrend Started")

alertcondition(uptrend_confirm,   title="Uptrend Confirmed",   message="Uptrend Confirmed")
alertcondition(downtrend_confirm, title="Downtrend Confirmed", message="Downtrend Confirmed")

alertcondition(bullish_signal, title="Buy Signal",  message="Buy Signal")
alertcondition(bearish_signal, title="Sell Signal", message="Sell Signal")

rsi_OBlevel = input(50, title="RSI Filter: Overbought level (0 = off)")
rsi_OSlevel = input(100,title="RSI Filter: Oversold level (100 = off)")
rsi_len = input(14,title="RSI Length")
rsi_src = input(close,title="RSI Price source")
rsi = rsi(rsi_src,rsi_len)

// Strategy -------------------------------
long_signal  = bullish_signal and uptrend   and rsi<=rsi_OSlevel // breakout filtered by the rsi
exit_long    = bearish_signal and uptrend
short_signal = bearish_signal and downtrend and rsi>=rsi_OBlevel // breakout filtered by the rsi
exit_short   = bullish_signal and downtrend

// Strategy alerts
alertcondition(long_signal, title="Long Signal - Uptrend",      message="Long Signal - Uptrend")
alertcondition(exit_long,   title="Long Exit Signal - Uptrend", message="Long Exit Signal - Uptrend")

alertcondition(short_signal, title="Long Signal - Downtrend",       message="Long Signal - Downtrend")
alertcondition(exit_short,   title="Short Exit Signal - Downtrend", message="Short Exit Signal - Downtrend")

// Plot areas for trend and transition
color_trend = uptrend? #00FF00 : downtrend? #FF0000 : notrend? color.new(#FFFFFF, 50) : na
fill(spanA_noOffset, spanB_noOffset, color=color_trend, transp=90, title="No offset: Ichimoku Cloud - Lagging Span & Cloud based coloring")

plotshape(ichiCloud_noOffset?uptrend_start:na, title="No offset: Uptrend Started", color=color.green, style=shape.circle, location=location.belowbar, size=size.tiny, text="Up")
plotshape(ichiCloud_noOffset?downtrend_start:na, title="No offset: Downtrend Started", color=color.red, style=shape.circle,location=location.abovebar, size=size.tiny, text="Down")

plotshape(ichiCloud_noOffset?uptrend_confirm:na, title="No offset: Uptrend Confirmed", color=color.green, style=shape.circle, location=location.belowbar, size=size.small, text="Confirm Up")
plotshape(ichiCloud_noOffset?downtrend_confirm:na, title="No offset: Downtrend Confirmed", color=color.red, style=shape.circle, location=location.abovebar, size=size.small, text="Confirm Down")

plotshape(ichiCloud_noOffset?long_signal:na, title="No offset: Long Signal", color=#00FF00, style=shape.triangleup, location=location.belowbar, size=size.small, text="Long")
plotshape(ichiCloud_noOffset?exit_long:na, title="No offset: Exit Long Signal", color=color.fuchsia, style=shape.triangledown, location=location.abovebar, size=size.small, text="Exit long")

plotshape(ichiCloud_noOffset?short_signal:na, title="No offset: Short Signal", color=#FF0000, style=shape.triangledown, location=location.abovebar, size=size.small, text="Short")
plotshape(ichiCloud_noOffset?exit_short:na, title="No offset: Exit Short Signal", color=color.fuchsia, style=shape.triangleup, location=location.belowbar, size=size.small, text="Exit short")

// ============================================================================== Strategy Component - uncomment to activate
if (long_signal)
    strategy.entry("Long",strategy.long)
if (exit_long)
    strategy.close("Long")
if (short_signal)
    strategy.entry("Short",strategy.short)
if (exit_short)
    strategy.close("Short")
// ==============================================================================


مزید