
یہ حکمت عملی ایک نظر میں توازن اشارے اور نقل و حرکت کے اوورلیپنگ اشارے کا ایک مجموعہ ہے ، جس کا استعمال اسٹاک کی قیمتوں میں ممکنہ رجحانات کو تلاش کرنے کے لئے کیا جاتا ہے ، خریدنے اور بیچنے کا وقت طے کرنے کے لئے۔ یہ حکمت عملی رجحانات کی سمت کا تعین کرنے اور تجارتی سگنل بھیجنے کے لئے پہلی نظر میں توازن کی لکیر کا حساب لگانے کے ساتھ ساتھ نقل و حرکت کے اوورلیپنگ اشارے کے ساتھ مل کر ٹریڈنگ کے خطرے کو کنٹرول کرنے کے لئے آر ایس آئی اشارے کا استعمال کرتے ہوئے فلٹرنگ کرتی ہے۔
اس حکمت عملی کے تین اہم حصے ہیں:
پہلی نظر میں توازن اشارے: پہلی نظر میں توازن اشارے بنیادی طور پر ٹرننگ پوائنٹ ((Tenkan-Sen) ، بیس پوائنٹ ((Kijun-sen) کی دو لائنوں کا استعمال کرتا ہے ، جس سے پہلی نظر میں توازن کی لہر کی شکل بنتی ہے۔ ٹرننگ پوائنٹ لائن قیمت کے قلیل مدتی رجحان کی نمائندگی کرتی ہے ، اور بیس پوائنٹ لائن قیمت کے درمیانی مدتی رجحان کی نمائندگی کرتی ہے۔ ٹرننگ پوائنٹ لائن اور بیس پوائنٹ لائن کی کراسنگ خرید و فروخت کا اشارہ کرتی ہے۔
منتقل سپلیمنٹ اشارے: منتقل سپلیمنٹ اشارے رجحان کی سمت کا فیصلہ کرنے کے لئے الگ تھلگ رشتہ دار قیمت کے بینڈ اور سلائڈ رشتہ دار قیمت کا حساب لگاتے ہیں۔ جب قیمت بیرونی علاقہ بینڈ سے درمیانی علاقہ بینڈ میں داخل ہوتی ہے تو اس سے تجارتی سگنل پیدا ہوتا ہے۔
آر ایس آئی اشارے: آر ایس آئی اشارے کا استعمال قیمتوں میں اضافے یا زیادہ فروخت ہونے کا تعین کرنے کے لئے کیا جاتا ہے ، اوور بائی لائن اور اوور سیل رینج کا تعین کرتا ہے ، اور اس کے ساتھ ساتھ اسپیڈ اشارے کے ساتھ تجارت کے سگنل کو خریدنے اور بیچنے کے سگنل کا تعین کرتا ہے۔
خاص طور پر ، حکمت عملی اس بات کی نگرانی کرتی ہے کہ آیا گولڈ فورکس (بائنس لائن کو ٹرانسفر کرتے ہوئے ٹرانسفر لائن) اور ڈیڈ فورکس (بائنس لائن کو ٹرانسفر لائن کے نیچے ٹرانسفر لائن کے ذریعے ٹرانسفر لائن) میں ٹرانسفر پوائنٹ لائن اور بیس لائن پوائنٹ لائن ہوتی ہے تاکہ یہ معلوم کیا جاسکے کہ خرید و فروخت کا وقت کب ہے۔ اس کے ساتھ ساتھ ، اس اقدام کو جوڑنے والے اشارے مجموعی طور پر رجحان کی سمت کا تعین کرتے ہیں۔ جب دونوں اشارے بیک وقت سگنل دیتے ہیں تو ، اگر آر ایس آئی اشارے میں کوئی اوور بائ اور اوور سیل نہیں دکھاتا ہے تو ، تجارت کا اشارہ دیا جاتا ہے۔
اس حکمت عملی میں مختلف اشارے کا استعمال کرتے ہوئے رجحان کی سمت اور تجارت کے وقت کا فیصلہ کرنے کے ساتھ مل کر ، فیصلہ کی درستگی کو بہتر بنایا جاسکتا ہے ، اور اشارے کے مابین باہمی فوائد کا استعمال کیا جاسکتا ہے ، تاکہ کسی ایک اشارے کے فیصلے میں غلطی کی امکان کو روکا جاسکے۔ اس کے فوائد یہ ہیں:
ٹرانسمیشن پوائنٹ لائن اور بیس پوائنٹ لائن کا استعمال ایک نظر میں توازن اشارے کے طور پر کیا جاتا ہے ، جو مختصر مدت کے رجحانات اور درمیانی مدت کے رجحانات کو ایک ساتھ ظاہر کرتا ہے ، جس کی وجہ سے ایک ہی ایم اے اشارے سے زیادہ درستگی کا اندازہ لگایا جاسکتا ہے۔
نقل و حرکت کے اوپری اشارے مجموعی رجحان کی سمت کا تعین کرنے کے لئے درست اور قابل اعتماد ہیں ، اور یکساں توازن کے اشارے کے ساتھ باہمی تعاون کرتے ہیں۔
آر ایس آئی اشارے فلٹرنگ کے حالات مرتب کرتے ہیں ، جو جعلی توڑ کو مؤثر طریقے سے فلٹر کرسکتے ہیں اور تجارت کے خطرے سے بچ سکتے ہیں۔
اس حکمت عملی کو سمجھنے اور اس پر عمل کرنے میں آسان ہے اور یہ مقدار کی تجارت کے لئے موزوں ہے۔
اگرچہ اس حکمت عملی میں متعدد اشارے کا استعمال کیا گیا ہے تاکہ فیصلہ سازی میں مدد کی جاسکے ، اس سے غلط فہمی کا امکان کچھ حد تک کم ہوسکتا ہے ، لیکن اس میں مندرجہ ذیل اہم خطرات موجود ہیں:
پیرامیٹرز کی ترتیب کا خطرہ۔ اشارے کے پیرامیٹرز جیسے ٹرانسمیشن پوائنٹ لائن ، بیس پوائنٹ لائن وغیرہ کی غلط ترتیب ، تجارتی سگنل کی غلطیوں کا سبب بنے گی۔ مختلف اقسام کے مطابق پیرامیٹرز کو بہتر بنانے کی ضرورت ہے۔
رجحان کی تبدیلی کا خطرہ . اس کے نتیجے میں ایک غلط سگنل پیدا ہوسکتا ہے . رجحان کی تبدیلی کے سگنل کا فیصلہ کرنے کے لئے مزید اشارے کے ساتھ مل کر ضروری ہے .
RSI فلٹرنگ کے شرائط بہت سخت ہیں۔ ممکنہ طور پر تجارت کے زیادہ مواقع کو ختم کرنا۔ آر ایس آئی کے پیرامیٹرز کو مناسب طریقے سے نرمی دی جاسکتی ہے۔
اس کا حل کیا ہے؟
زیادہ سے زیادہ تاریخی اعداد و شمار کا استعمال کرتے ہوئے مختلف اقسام کے لئے پیرامیٹرز کو بہتر بنانے کے لئے، پیرامیٹرز کی ترتیبات کو مناسب بنانے کے لئے یقینی بنائیں.
حکمت عملی میں اسٹاپ نقصان کا طریقہ کار شامل کریں۔ جب قیمت مخالف سمت میں اسٹاپ نقصان کی لائن کو توڑ دیتی ہے تو پوزیشن سے باہر نکلیں۔
آر ایس آئی کے پیرامیٹرز کو بہتر بنائیں ، فلٹرنگ کے حالات کو مناسب طریقے سے نرمی دیں ، اور خطرے پر قابو پانے کی ضمانت کے تحت زیادہ سے زیادہ تجارتی مواقع حاصل کریں۔
اس حکمت عملی کو بہتر بنانے کے لیے مزید اقدامات کیے جا سکتے ہیں:
مشین لرننگ الگورتھم شامل کریں تاکہ حکمت عملی کے پیرامیٹرز کو مارکیٹ میں تبدیلی کے ساتھ متحرک طور پر ایڈجسٹ کیا جاسکے ، اور حکمت عملی کی موافقت کو بہتر بنایا جاسکے۔
ماڈیولر مینجمنٹ کے لئے پالیسی اجزاء کو ماڈیول میں پیک کریں ، تاکہ ان اجزاء کو تیزی سے تبدیل کیا جاسکے یا انفرادی طور پر جانچ اور اصلاح کے اجزاء کو بہتر بنایا جاسکے ، تاکہ ترقی کی کارکردگی میں اضافہ ہوسکے۔
ڈیٹا انٹیگریشن ماڈیولز کو شامل کریں ، مارکیٹ کے اعداد و شمار کو مزید اعداد و شمار کے ذرائع سے حاصل کریں ، اعلی معیار کے ٹریننگ سیٹ بنائیں ، مشین لرننگ کو بہتر بنائیں۔
پالیسیوں کے لئے ایک جامع ریٹرننگ ٹول تیار کریں ، مختلف تشخیصی اشارے ریکارڈ کریں ، پیرامیٹرز کو بہتر بنانے اور ماڈل کے انتخاب میں معاونت کریں۔
کلاؤڈ کمپیوٹنگ پلیٹ فارم کا استعمال کرتے ہوئے حکمت عملی کے نظام کو تعینات کریں ، لچکدار کمپیوٹنگ وسائل کا استعمال کرتے ہوئے تیزی سے متوازی پیمائش کریں ، پیرامیٹرز کو بہتر بنانے کے تکرار کو تیز کریں ، حکمت عملی کی ترقی کے اخراجات کو کم کریں۔
اس حکمت عملی میں ایک نظر میں توازن کے اشارے اور نقل و حرکت کے اوورلیپنگ اشارے دونوں اشارے کا استعمال کیا جاتا ہے ، قیمت کے رجحانات اور تجارت کے وقت کا فیصلہ کرنے کے لئے۔ اس کے ساتھ ساتھ آر ایس آئی اشارے کا استعمال فلٹر کرنے اور تجارت کے خطرے کو کنٹرول کرنے کے لئے کیا جاتا ہے۔ اس طرح کے کثیر اشارے کے مجموعہ کی حکمت عملی کی شکل فیصلہ کی درستگی کو بڑھا سکتی ہے ، بہتر حکمت عملی کے نتائج حاصل کرسکتی ہے۔ تاہم ، حکمت عملی میں پیرامیٹرز کی ترتیب اور اشارے کے انتخاب کو مختلف اقسام کے لئے مسلسل جانچ اور اصلاح کی ضرورت ہے ، تاکہ حکمت عملی کے پیرامیٹرز کو ایڈجسٹ کرنے اور اشارے کے انتخاب کو مختلف مصنوعات کے لئے مسلسل جانچ اور اصلاح کی ضرورت ہو ، تاکہ حکمت عملی مارکیٹ میں تبدیلی کو تیزی سے اپنانے اور پائیدار منافع بخش صلاحیت کے ل.
/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 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.EUR, initial_capital = 2000, 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.15)
// ==============================================================================
// ------------------------------------------------------------------------------
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(27, 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")
// ==============================================================================
//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © colinmck
RSI_Period = input(10, title='RSI Length')
SF = input(5, title='RSI Smoothing')
QQE = input(2.438, title='Fast QQE Factor')
ThreshHold = input(10, title="Thresh-hold")
src = close
Wilders_Period = RSI_Period * 3 - 1
Rsi = rsi(src, RSI_Period)
RsiMa = ema(Rsi, SF)
AtrRsi = abs(RsiMa[1] - RsiMa)
MaAtrRsi = ema(AtrRsi, Wilders_Period)
dar = ema(MaAtrRsi, Wilders_Period) * QQE
longband = 0.0
shortband = 0.0
trend = 0
DeltaFastAtrRsi = dar
RSIndex = RsiMa
newshortband = RSIndex + DeltaFastAtrRsi
newlongband = RSIndex - DeltaFastAtrRsi
longband := RSIndex[1] > longband[1] and RSIndex > longband[1] ? max(longband[1], newlongband) : newlongband
shortband := RSIndex[1] < shortband[1] and RSIndex < shortband[1] ? min(shortband[1], newshortband) : newshortband
cross_1 = cross(longband[1], RSIndex)
trend := cross(RSIndex, shortband[1]) ? 1 : cross_1 ? -1 : nz(trend[1], 1)
FastAtrRsiTL = trend == 1 ? longband : shortband
// Find all the QQE Crosses
QQExlong = 0
QQExlong := nz(QQExlong[1])
QQExshort = 0
QQExshort := nz(QQExshort[1])
QQExlong := FastAtrRsiTL < RSIndex ? QQExlong + 1 : 0
QQExshort := FastAtrRsiTL > RSIndex ? QQExshort + 1 : 0
//Conditions
qqeLong = QQExlong == 1 ? FastAtrRsiTL[1] - 50 : na
qqeShort = QQExshort == 1 ? FastAtrRsiTL[1] - 50 : na
// Plotting
plotshape(qqeLong, title="QQE long", text="Long", textcolor=color.white, style=shape.labelup, location=location.belowbar, color=color.green, transp=0, size=size.tiny)
plotshape(qqeShort, title="QQE short", text="Short", textcolor=color.white, style=shape.labeldown, location=location.abovebar, color=color.red, transp=0, size=size.tiny)
// Alerts
alertcondition(qqeLong, title="Long", message="Long")
alertcondition(qqeShort, title="Short", message="Short")