جے ایم اے کراسنگ آر ایس آئی ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-09-18 21:42:50
ٹیگز:

جائزہ

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

اصول

حکمت عملی بنیادی طور پر دو قسم کے اشارے استعمال کرتی ہے:

  1. جے ایم اے اشارے: طاقت کے ضارب کا استعمال کرتے ہوئے ایک ہموار چلتی اوسط، کم تاخیر کے ساتھ اور قیمت کی تبدیلیوں کو پکڑنے میں تیزی سے.

  2. RSI اشارے: خرید / فروخت کی رفتار کی عکاسی کرنے والا ایک عام طاقت کا اشارہ۔

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

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

فوائد

  1. JMA پیرامیٹرز کو مختلف ادوار میں ایڈجسٹ کیا جاسکتا ہے۔

  2. RSI غلط فرار فلٹر.

  3. دوہری اشارے کا مجموعہ جھوٹے سگنل کو کم کرتا ہے۔

  4. بلٹ میں سٹاپ نقصان نقصان کنٹرول.

  5. منافع کی ہدف بندی کے لئے اپنی مرضی کے مطابق منافع کا تناسب.

خطرات اور تخفیف

  1. دوہری اشارے کا مجموعہ بہت کم سگنل پیدا کر سکتا ہے. حساسیت کے لئے پیرامیٹرز tweak کر سکتے ہیں.

  2. JMA اب بھی تاخیر ہے، اہم نکات کو یاد کر سکتے ہیں.

  3. غلط سٹاپ نقصان کی جگہ زیادہ نقصان کے لئے مارا جا سکتا ہے. مناسب جگہ کے لئے backtest چاہئے.

  4. اشارے پر زیادہ انحصار غلط سگنل پیدا کر سکتا ہے۔ حجم یا اتار چڑھاؤ فلٹرز شامل کر سکتا ہے۔

بہتر مواقع

  1. JMA پیرامیٹرز کو ٹیسٹ کریں تاکہ زیادہ سے زیادہ ترتیبات مل سکیں۔

  2. بہتر کارکردگی کے لیے مختلف RSI پیرامیٹرز آزمائیں۔

  3. موافقت پذیر رکاوٹوں کے لئے پیچھے روکنے کا طریقہ کار شامل کریں.

  4. انٹری پوزیشن سائزنگ کو بہتر بنائیں جیسے جیتنے والی تجارت میں اضافہ کریں۔

  5. اضافی فلٹرز جیسے KD، MACD کی تحقیق کریں۔

خلاصہ

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


/*backtest
start: 2023-01-01 00:00:00
end: 2023-03-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// Stratégie marche le mieux sur du 2 jours
strategy("JMA(7,50,RSI) crossing RSI(14,close)", overlay=false, currency=currency.EUR, default_qty_type=strategy.cash, default_qty_value=5000)

// Strategy Tester Start Time
sYear = input(2019, title = "Start Year")
sMonth = input(06, title = "Start Month", minval = 01, maxval = 12)
sDay = input(01, title = "Start Day", minval = 01, maxval = 31)
sHour = input(00, title = "Start Hour", minval = 00, maxval = 23)
sMinute = input(00, title = "Start Minute", minval = 00, maxval = 59)
startTime = true

// Strategy Tester End Time
eYear = input(2019, title = "End Year")
eMonth = input(12, title = "End Month", minval = 01, maxval = 12)
eDay = input(01, title = "End Day", minval = 01, maxval = 31)
eHour = input(00, title = "End Hour", minval = 00, maxval = 23)
eMinute = input(00, title = "End Minute", minval = 00, maxval = 59)
endTime = true

// === RSI ===
src = close, len = input(14, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, color=color.purple)
band1 = hline(70)
band0 = hline(30)

// === JMA ===
_length = input(7, title="Length")
_phase = input(50, title="Phase")
_power = input(2, title="Power")
highlightMovements = input(true, title="Highlight Movements ?")

// srcJMA = input(rsi, title="Source")
srcJMA = rsi

phaseRatio = _phase < -100 ? 0.5 : _phase > 100 ? 2.5 : _phase / 100 + 1.5
beta = 0.45 * (_length - 1) / (0.45 * (_length - 1) + 2)
alpha = pow(beta, _power)
jma = 0.0
e0 = 0.0
e0 := (1 - alpha) * srcJMA + alpha * nz(e0[1])
e1 = 0.0
e1 := (srcJMA - e0) * (1 - beta) + beta * nz(e1[1])
e2 = 0.0
e2 := (e0 + phaseRatio * e1 - nz(jma[1])) * pow(1 - alpha, 2) + pow(alpha, 2) * nz(e2[1])
jma := e2 + nz(jma[1])
// === End of JMA def ===

jmaColor = highlightMovements ? (jma > jma[1] ? color.green : color.red) : #6d1e7f
plot(jma, title="JMA switch", linewidth=2, color=jmaColor, transp=0)

// === Inputs ===
// risk management
useStop = input(true, title = "Use Initial Stop Loss?")

goLong() => crossover(rsi, jma)
killLong() => crossunder(rsi, jma)

// ======= DEBUGGGGGGGG ============
long_price = 0.0
short_price = 0.0

if(startTime and endTime)
    if(goLong())
        long_price := close
    strategy.entry("Buy", strategy.long, when = goLong())
    strategy.close("Buy", when = killLong() and close > long_price)

// Shorting if using
goShort() => killLong()
killShort() => goLong()

if(startTime and endTime)
    if(goShort())
        short_price := close
    strategy.entry("Sell", strategy.short, when = goShort() and close < short_price)
    strategy.close("Sell", when = killShort())
// =========================

if (useStop)
    strategy.exit("XLS", from_entry ="Buy", stop = strategy.position_avg_price / 1.08)
    strategy.exit("XSS", from_entry ="Sell", stop = strategy.position_avg_price * 1.08)



مزید