ریورسال اشارے کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-13 14:45:51
ٹیگز:

img

جائزہ

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

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

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

طویل سگنل کے حالات:

  1. Edri Extreme Points Buy & Sell اشارے سے خرید کا اشارہ ہوتا ہے یعنی CCI 0 سے اوپر یا Momentum 0 سے اوپر ہوتا ہے اور RSI oversold level سے نیچے ہوتا ہے۔
  2. قیمت 100 پیریڈ ای ایم اے تک یا اس سے نیچے گھسیٹتی ہے۔

مختصر سگنل کے حالات:

  1. Edri Extreme Points Buy & Sell اشارے سے فروخت کا اشارہ ہوتا ہے، یعنی CCI 0 سے نیچے یا Momentum 0 سے نیچے گزرتا ہے اور RSI overbought سطح سے اوپر ہے۔
  2. قیمت 100 پیریڈ ای ایم اے تک یا اس سے اوپر کی طرف بڑھتی ہے۔

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

جب ٹریڈنگ سگنل ٹرگر ہوتے ہیں تو ، حکمت عملی اسٹاپ نقصان کو انٹری قیمت ± 2ATR پر ، منافع کو انٹری قیمت ± 4ATR پر طے کرتی ہے۔ اس سے مارکیٹ کی اتار چڑھاؤ کی بنیاد پر معقول اسٹاپ نقصان اور منافع کی حد کی اجازت ملتی ہے۔

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

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

خطرے کا تجزیہ

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

حل:

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

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

  1. CCI، رفتار کی لمبائی، RSI پیرامیٹرز، ATR ضارب وغیرہ کے مختلف پیرامیٹر مجموعے کی جانچ کریں.
  2. فلٹرنگ کے دیگر حالات جیسے قیمت کے نمونوں، حجم میں تبدیلی وغیرہ شامل کریں.
  3. پوزیشن سائزنگ کے قوانین کو ایڈجسٹ کریں جیسے اے ٹی آر پر مبنی پوزیشن تناسب۔
  4. مختلف مصنوعات اور ٹائم فریم کے لئے پیرامیٹر ٹیمپلیٹس مرتب کریں۔
  5. رجحان ٹریکنگ کو شامل کرنے پر غور کریں تاکہ رجحان کی مارکیٹوں میں ریورس ٹریڈنگ کو معطل کیا جاسکے۔

خلاصہ

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


/*backtest
start: 2023-11-12 00:00:00
end: 2023-12-02 00:00:00
period: 1h
basePeriod: 15m
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/
// © MagicStrategies

//@version=5
strategy("Reversal Indicator Strategy", overlay = true)

// Input settings
ccimomCross = input.string('CCI', 'Entry Signal Source', options=['CCI', 'Momentum'], tooltip='CCI or Momentum will be the final source of the Entry signal if selected.')
ccimomLength = input.int(10, minval=1, title='CCI/Momentum Length')
useDivergence = input.bool(true, title='Find Regular Bullish/Bearish Divergence', tooltip='If checked, it will only consider an overbought or oversold condition that has a regular bullish or bearish divergence formed inside that level.')
rsiOverbought = input.int(65, minval=1, title='RSI Overbought Level', tooltip='Adjusting the level to extremely high may filter out some signals especially when the option to find divergence is checked.')
rsiOversold = input.int(35, minval=1, title='RSI Oversold Level', tooltip='Adjusting this level extremely low may filter out some signals especially when the option to find divergence is checked.')
rsiLength = input.int(14, minval=1, title='RSI Length')
plotMeanReversion = input.bool(false, 'Plot Mean Reversion Bands on the chart', tooltip='This function doesn\'t affect the entry of signal but it suggests buying when the price is at the lower band, and then sell it on the next bounce at the higher bands.')
emaPeriod = input(200, title='Lookback Period (EMA)')
bandMultiplier = input.float(1.8, title='Outer Bands Multiplier', tooltip='Multiplier for both upper and lower bands')


// CCI and Momentum calculation
momLength = ccimomCross == 'Momentum' ? ccimomLength : 10
mom = close - close[momLength]
cci = ta.cci(close, ccimomLength)
ccimomCrossUp = ccimomCross == 'Momentum' ? ta.cross(mom, 0) : ta.cross(cci, 0)
ccimomCrossDown = ccimomCross == 'Momentum' ? ta.cross(0, mom) : ta.cross(0, cci)

// RSI calculation
src = close
up = ta.rma(math.max(ta.change(src), 0), rsiLength)
down = ta.rma(-math.min(ta.change(src), 0), rsiLength)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
oversoldAgo = rsi[0] <= rsiOversold or rsi[1] <= rsiOversold or rsi[2] <= rsiOversold or rsi[3] <= rsiOversold
overboughtAgo = rsi[0] >= rsiOverbought or rsi[1] >= rsiOverbought or rsi[2] >= rsiOverbought or rsi[3] >= rsiOverbought

// Regular Divergence Conditions
bullishDivergenceCondition = rsi[0] > rsi[1] and rsi[1] < rsi[2]
bearishDivergenceCondition = rsi[0] < rsi[1] and rsi[1] > rsi[2]

// Entry Conditions
longEntryCondition = ccimomCrossUp and oversoldAgo and (not useDivergence or bullishDivergenceCondition)
shortEntryCondition = ccimomCrossDown and overboughtAgo and (not useDivergence or bearishDivergenceCondition)


// Mean Reversion Indicator
meanReversion = plotMeanReversion ? ta.ema(close, emaPeriod) : na
stdDev = plotMeanReversion ? ta.stdev(close, emaPeriod) : na
upperBand = plotMeanReversion ? meanReversion + stdDev * bandMultiplier : na
lowerBand = plotMeanReversion ? meanReversion - stdDev * bandMultiplier : na


// Plotting
plotshape(longEntryCondition, title='BUY', style=shape.triangleup, text='B', location=location.belowbar, color=color.new(color.lime, 0), textcolor=color.new(color.white, 0), size=size.tiny)
plotshape(shortEntryCondition, title='SELL', style=shape.triangledown, text='S', location=location.abovebar, color=color.new(color.red, 0), textcolor=color.new(color.white, 0), size=size.tiny)

plot(upperBand, title='Upper Band', color=color.new(color.fuchsia, 0), linewidth=1)
plot(meanReversion, title='Mean', color=color.new(color.gray, 0), linewidth=1)
plot(lowerBand, title='Lower Band', color=color.new(color.blue, 0), linewidth=1)

// Entry signal alerts
alertcondition(longEntryCondition, title='BUY Signal', message='Buy Entry Signal')
alertcondition(shortEntryCondition, title='SELL Signal', message='Sell Entry Signal')
alertcondition(longEntryCondition or shortEntryCondition, title='BUY or SELL Signal', message='Entry Signal')

ema100 = ta.ema(close, 100)
plot(ema100, color=color.red)

// Define trading signals based on the original indicator's entry conditions
// Buy if long condition is met and price has pulled back to or below the 100 EMA
longCondition  = longEntryCondition and close <= ema100
// Sell if short condition is met and price has pulled back to or above the 100 EMA
shortCondition = shortEntryCondition and close >= ema100

// Strategy Entries
if longCondition
    strategy.entry("Buy", strategy.long)
if shortCondition
    strategy.entry("Sell", strategy.short)

مزید