
یہ ایک رجحان سے باخبر رہنے کی حکمت عملی ہے جس میں رجحان کا فیصلہ کرنے کے لئے ایک نظر میں توازن کے بادل کے اشارے کا استعمال کیا جاتا ہے ، اور آر ایس آئی اشارے کے ساتھ مل کر فلٹر کیا جاتا ہے۔ یہ حکمت عملی مشاہدے کے انحراف کو نظرانداز کرتی ہے ، جو رجحان میں تبدیلی کو وقت پر پکڑ سکتی ہے ، اور آر ایس آئی اشارے کے ذریعے جعلی توڑ کو فلٹر کرتی ہے تاکہ تجارت کے خطرے کو کنٹرول کیا جاسکے۔
یہ حکمت عملی بنیادی طور پر رجحان کی سمت کا تعین کرنے کے لئے یکساں توازن بادل (Ichimoku Cloud) اشارے پر مبنی ہے۔ یکساں توازن بادل کو گوگو کی تبدیلی کی لائن ، بیس لائن ، گائیڈ لائن 1 ، گائیڈ لائن 2 اور تاخیر کی لائن پر مشتمل ہے۔ حکمت عملی میں بغیر کسی بہاؤ کے یکساں توازن بادل کا استعمال کیا جاتا ہے ، یعنی تبدیلی کی لائن ، بیس لائن وغیرہ لائن سیگمنٹ مستقبل کی اقدار کو اپناتے ہیں ، تاکہ مشاہدے کے بہاؤ کی وجہ سے رجحان کا تعین کرنے میں تاخیر سے بچا جاسکے۔
حکمت عملی سب سے پہلے یہ فیصلہ کرتی ہے کہ آیا قیمت بادل کی لکیر کو توڑتی ہے یا نہیں ، اگر تاخیر کی لکیر بادل کی لکیر کو پار کرتی ہے تو ، اسے اوپر کی طرف رجحان کا آغاز سمجھا جاتا ہے۔ اگر بادل کی لکیر کو نیچے کی طرف سے پار کیا جاتا ہے تو ، اسے گرنے کا رجحان شروع سمجھا جاتا ہے۔ رجحان کے آغاز کے بعد ، حکمت عملی قیمت اور بادل کی لکیر کے تعلقات کی پیروی کرتی رہتی ہے ، تاکہ اس بات کا تعین کیا جاسکے کہ اس رجحان کی سمت کیا ہے۔ جب تاخیر کی لکیر بادل کی لکیر کے اوپر برقرار رہتی ہے تو ، اسے اوپر کی طرف رجحان سمجھا جاتا ہے۔ اس کے برعکس ، اسے نیچے کی طرف رجحان سمجھا جاتا ہے۔
رجحان کا تعین کرنے کے علاوہ ، حکمت عملی خریدنے کا اشارہ بھی پیدا کرتی ہے جب سونے کی منتقلی کی لائن اور بیس لائن کے مابین ایک کراس ہوتا ہے ، اور فروخت کا اشارہ جب موت کا کراس ہوتا ہے۔ یہ تجارتی اشارے صرف اس وقت اپنائے جاتے ہیں جب وہ رجحان کی سمت سے مطابقت رکھتے ہوں۔ مثال کے طور پر ، صرف اوپر کی طرف رجحان میں ، سونے کا کراس جو منتقلی کی لائن پر بیس لائن کو عبور کرتا ہے اس کو قبول کیا جائے گا۔
آخر میں ، حکمت عملی میں آر ایس آئی اشارے کو بھی متعارف کرایا گیا ہے تاکہ سگنل کو فلٹر کیا جاسکے۔ صرف اس صورت میں جب آر ایس آئی اوور سیل زون سے نیچے ہو تو خریدنے کا اشارہ دیا جاتا ہے۔ صرف اس صورت میں جب آر ایس آئی اوور سیل زون سے اوپر ہو تو فروخت کا اشارہ دیا جاتا ہے۔ یہ کسی حد تک غلط سگنل کو فلٹر کرسکتا ہے جس کی وجہ سے جعلی توڑ پڑتا ہے۔
پیرامیٹرز کی اصلاح کے ذریعہ بہترین پیرامیٹرز کا مجموعہ تلاش کیا جاسکتا ہے۔ صرف مخصوص اقسام کی تجارت یا خطرے کو کنٹرول کرنے کے لئے پوزیشن کھولنے والوں کی تعداد کو کم کرنے پر غور کیا جاسکتا ہے۔ ایک ہی نقصان کو محدود کرنے کے لئے اسٹاپ نقصان کی حکمت عملی بھی متعارف کروائی جاسکتی ہے۔
اس حکمت عملی کو مزید بہتر بنانے کے لیے مندرجہ ذیل نکات پر غور کیا جا سکتا ہے۔
پہلے سے متوازن کلاؤڈ پیرامیٹرز کو بہتر بنائیں تاکہ مختلف ٹرانزیکشن اقسام کے لئے بہترین پیرامیٹرز کا مجموعہ تلاش کیا جاسکے
نقصانات کو روکنے کی حکمت عملی میں اضافہ ، جو انفرادی نقصانات کو قابل برداشت حد تک محدود رکھتی ہے
پوزیشن مینجمنٹ کی حکمت عملی میں اضافہ، پوزیشن کے سائز کو درست طریقے سے ایڈجسٹ کرکے مجموعی طور پر خطرے کے مواقع کا انتظام کرنا
مزید اشارے متعارف کروائے گئے ہیں تاکہ انضمام کے فیصلے کیے جاسکیں ، جیسے اتار چڑھاؤ کی شرح کے اشارے ، تجارت کا حجم وغیرہ ، تاکہ سگنل کی درستگی کو بہتر بنایا جاسکے
داخلہ کے وقت کو بہتر بنانے کے لئے ، اس طرح کے طور پر توڑ کی تصدیق یا داخلہ کو کال بیک کرنا
مختلف نسلوں کی خصوصیات کے مطابق مثالی برن بینڈ سائیکل پیرامیٹرز کو منتخب کرنے کے لئے قدم بہ قدم اصلاح کریں
یہ حکمت عملی مجموعی طور پر ایک زیادہ مستحکم رجحان کی پیروی کرنے والی حکمت عملی ہے۔ اس میں رجحان کی سمت کا تعین کرنے کے لئے یکساں بادل کے اشارے کا استعمال کیا جاتا ہے ، پھر تبادلوں کی لائن اور بیس لائن کے کراس کے ساتھ مل کر ٹریڈنگ سگنل جاری کیا جاتا ہے ، اور آخر میں آر ایس آئی اشارے کے ذریعے جعلی بریک کی جانچ پڑتال کی جاتی ہے۔ حکمت عملی کو بہتر بنانے کی گنجائش بہت زیادہ ہے۔ پیرامیٹر ٹوننگ ، نقصان کی روک تھام کی حکمت عملی ، پوزیشن مینجمنٹ وغیرہ کو بہتر بنانے سے بہتر نتائج حاصل کیے جاسکتے ہیں۔
/*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")
// ==============================================================================