وسائل لوڈ ہو رہے ہیں... لوڈنگ...

متعدد اشارے پر مبنی جان کی بٹ کوائن انٹرا ڈے ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-07 15:23:44
ٹیگز:

img

جائزہ

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

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

  1. آر ایس آئی اشارے کا استعمال اس بات کا تعین کرنے کے لئے کیا جاتا ہے کہ آیا مارکیٹ میں زیادہ خرید یا زیادہ فروخت ہوئی ہے۔ جب آر ایس آئی 40 سے نیچے ہوتا ہے تو یہ خرید کا اشارہ پیدا کرتا ہے اور جب آر ایس آئی 70 سے اوپر ہوتا ہے تو فروخت کا اشارہ ہوتا ہے۔

  2. ایم ایف آئی اشارے مارکیٹ میں سرمایہ کے بہاؤ کا جائزہ لیتا ہے۔ جب ایم ایف آئی 23 سے کم ہوتا ہے تو یہ خرید کا اشارہ کرتا ہے اور جب ایم ایف آئی 80 سے زیادہ ہوتا ہے تو فروخت کا اشارہ کرتا ہے۔

  3. اسٹاک آر ایس آئی اشارے کا تعین کرتا ہے کہ آیا مارکیٹ زیادہ خرید یا زیادہ فروخت ہوئی ہے۔ یہ ایک خرید کا اشارہ پیدا کرتا ہے جب K لائن 34 سے نیچے ہوتی ہے اور 80 سے اوپر ہونے پر فروخت کا اشارہ ہوتا ہے۔

  4. ایم اے سی ڈی اشارے مارکیٹ کے رجحان اور رفتار کا جائزہ لیتا ہے۔ جب تیز لائن سست لائن سے نیچے ہوتی ہے اور ہسٹوگرام منفی ہوتا ہے تو یہ خرید کا اشارہ پیدا کرتا ہے ، اور مخالف منظر نامے کے لئے فروخت کا اشارہ۔

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

  1. چار اہم اشارے کو یکجا کرنے سے سگنل کی درستگی میں اضافہ ہوتا ہے اور ایک اشارے کی خرابی کی وجہ سے ہونے والے نقصانات سے بچتا ہے۔

  2. احکامات صرف اس وقت دیئے جاتے ہیں جب متعدد اشارے بیک وقت سگنل دیتے ہیں ، جس سے غلط اشاروں کا امکان بہت کم ہوجاتا ہے۔

  3. انٹرا ڈے ٹریڈنگ کی حکمت عملیوں کو اپنانے سے راتوں رات کے خطرات سے بچنے اور سرمایہ کی لاگت کو کم کرنے میں مدد ملتی ہے۔

خطرات اور حل

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

  2. اب بھی یہ امکان موجود ہے کہ اشارے غلط سگنل دے سکتے ہیں۔ اشارے کے اشاروں کی وشوسنییتا کا جائزہ لینے میں مدد کے لئے مشین لرننگ الگورتھم متعارف کرائے جاسکتے ہیں۔

  3. کچھ زیادہ خریدنے اور زیادہ فروخت کے خطرات ہیں۔ اشارے کے پیرامیٹرز کو اس کے مطابق ایڈجسٹ کیا جاسکتا ہے یا مزید اشارے کی منطق شامل کی جاسکتی ہے۔

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

  1. انڈیکیٹر پیرامیٹرز کو ایڈجسٹ کرنے کی فعالیت شامل کریں۔ مارکیٹ کی اتار چڑھاؤ اور تبدیلی کی رفتار کی بنیاد پر ریئل ٹائم میں انڈیکیٹر پیرامیٹرز کو ایڈجسٹ کریں۔

  2. سٹاپ نقصان منطق شامل کریں. اگر نقصانات ایک مخصوص فیصد سے زیادہ ہو تو مؤثر طریقے سے واحد نقصان پر قابو پانے کے لئے باہر نکلیں.

  3. جذبات کے اشارے شامل کریں۔ حکمت عملی کے منافع کی جگہ کو بہتر بنانے کے لئے مارکیٹ کی گرمی اور مارکیٹ کے خوف جیسے کثیر جہتی فیصلوں میں اضافہ کریں۔

نتیجہ

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


/*backtest
start: 2023-11-29 00:00:00
end: 2023-12-06 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=5
strategy('John Day Stop Loss', overlay=false, pyramiding=1, default_qty_type=strategy.cash, default_qty_value=10000, initial_capital=10000, currency='USD', precision=2)
strategy.risk.allow_entry_in(strategy.direction.long) 

from_day = input.int(defval=1, title='From Day', minval=1)
from_month = input.int(defval=1, title='From Month', minval=1)
from_year = input.int(defval=2021, title='From Year', minval=2020)
to_day = input.int(defval=1, title='To Day', minval=1)
to_month = input.int(defval=1, title='To Month', minval=1)
to_year = input.int(defval=2025, title='To Year', minval=2020)

time_cond = time > timestamp(from_year, from_month, from_day, 00, 00) and time < timestamp(to_year, to_month, to_day, 00, 00)
//time_cond = true

//Stop Loss
longProfitPerc = input.float(title="Stop Loss Profit (%)", defval=2.1) / 100
longExitPrice  = strategy.position_avg_price * (1 - longProfitPerc)

//RSI - yellow
up = ta.rma(math.max(ta.change(close), 0), 14)
down = ta.rma(-math.min(ta.change(close), 0), 14)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, "RSI", color=#00FFFF)
buy_rsi = true // rsi < 40
sell_rsi = true //rsi > 70

//MFI - cyan
mf = ta.mfi(hlc3, 14)
plot(mf, "MF", color=#FFFF00)
buy_mfi = mf < input.int(defval=23, title='Max MF', minval=1)
sell_mfi = mf > input.int(defval=80, title='Min MF', minval=1)

//Stoch RSI
OverBought_StochRSI = input(80)
OverSold_StochRSI = input(34)
smoothK = input.int(3, "K", minval=1)
smoothD = input.int(2, "D", minval=1)
lengthRSI = input.int(14, "RSI Length", minval=1)
lengthStoch = input.int(14, "Stochastic Length", minval=1)
srcRSI = input(close, title="RSI Source")
rsi1 = ta.rsi(srcRSI, lengthRSI)
kStochRSI = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = ta.sma(kStochRSI, smoothD)
co = ta.crossover(kStochRSI,d)
cu = ta.crossunder(kStochRSI,d)

buy_stochRSI = co and kStochRSI < OverSold_StochRSI
sell_stochRSI = cu and kStochRSI > OverBought_StochRSI

plot(kStochRSI, "K", color=#2962FF)
plot(d, "D", color=#FF6D00)
h0 = hline(OverBought_StochRSI, "Upper Band", color=#787B86)
h1 = hline(OverSold_StochRSI, "Lower Band", color=#787B86)
fill(h0, h1, color=color.rgb(33, 150, 243, 90), title="Background")

//MACD
// Getting inputs
fast_length = input(title="Fast Length", defval=12)
slow_length = input(title="Slow Length", defval=26)
src = input(title="Source", defval=close)
signal_length = input.int(title="Signal Smoothing",  minval = 1, maxval = 50, defval = 9)
sma_source = input.string(title="Oscillator MA Type",  defval="EMA", options=["SMA", "EMA"])
sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"])
// Plot colors
//col_macd = input(#2962FF, "MACD Line  ", group="Color Settings", inline="MACD")
//col_signal = input(#FF6D00, "Signal Line  ", group="Color Settings", inline="Signal")
//col_grow_above = input(#26A69A, "Above   Grow", group="Histogram", inline="Above")
//col_fall_above = input(#B2DFDB, "Fall", group="Histogram", inline="Above")
//col_grow_below = input(#FFCDD2, "Below Grow", group="Histogram", inline="Below")
//col_fall_below = input(#FF5252, "Fall", group="Histogram", inline="Below")
// Calculating
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal
buy_MACD = macd < signal and hist < 0 
sell_MACD = macd > signal and hist > 0 

//buy_MACD = true 
//sell_MACD = true

//plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below)))
//plot(macd, title="MACD", color=col_macd)
//plot(signal, title="Signal", color=col_signal)

sessionColor = color(na)
if time_cond

    if (not na(kStochRSI) and not na(d))
        cmt = str.tostring(close)
    	if (buy_stochRSI and buy_MACD and buy_mfi and buy_rsi)
    		strategy.entry("BUY", strategy.long, comment='BUY @ ' + cmt)
    		if longProfitPerc != 0
    		    strategy.exit(id="x", stop=longExitPrice, comment='EXIT @ ' + str.tostring(longExitPrice))
        	sessionColor := input.color(#0000FF, "buy") //red
    	if (sell_stochRSI and sell_MACD and sell_mfi and sell_rsi)
    		strategy.entry("SELL", strategy.short, comment='SELL @ ' + cmt)
    		sessionColor := input.color(#FF0000, "sell") //green
    	
bgcolor(sessionColor)

مزید