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

کثیر اشارے والی گولڈن سوئنگ ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-09-11 15:18:08
ٹیگز:

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

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

اس کے برعکس ، RSI 50 سے نیچے اور اسٹوکاسٹک K D سے نیچے bearish سگنل دیتا ہے۔ سپر ٹرینڈ سے اوپر کی قیمت نیچے کا رجحان ظاہر کرتی ہے ، اور بی بی کے وسط بینڈ سے اوپر سپر ٹرینڈ مختصر سگنل بناتا ہے۔

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

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


/*backtest
start: 2023-01-01 00:00:00
end: 2023-03-10 00:00:00
period: 45m
basePeriod: 5m
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/
// © rajm14

//@version=5
strategy(title = "Golden Swing Strategy - Souradeep Dey", shorttitle = "GSS", overlay = true, process_orders_on_close = true, default_qty_type = strategy.cash, default_qty_value=100000, currency = currency.USD)

// Indicator - RSI - 20
rsiSrc = input(defval = close, title = "RSI Source")
rsiLen = input.int(defval = 20, title = "RSI Length", minval = 0, maxval = 200, step = 1)
rsi = ta.rsi(rsiSrc, rsiLen)
//plot(rsi)

// Indicator - Stochastic (55,34,21)
kLength = input.int(defval = 55, title="Stoch %K Length", minval=1)
kSmooth = input.int(defval = 34, title="Stoch %K Smoothing", minval=1)
dLength = input.int(defval = 21, title="Stoch %D Smoothing", minval=1)
kLine = ta.sma(ta.stoch(close, high, low, kLength), kSmooth)
dLine = ta.sma(kLine, dLength)
// plot(kLine, color=color.red)
// plot(dLine, color=color.green)

// Indicator - ATR(5)
atrLength = input(5, "ATR Length")
atr = ta.atr(5)
// plot(atr)

// Indicator - SuperTrend(10,2)
atrPeriod = input(10, "SuperTrend ATR Length")
stSrc = hl2
stfactor = input.float(2.0, "SuperTrend Multiplier", step = 0.1)
stAtr = ta.atr(atrPeriod)
[supertrend, direction] = ta.supertrend(stfactor, atrPeriod)
bodyMiddle = (open + close) / 2
upTrend = direction < 0 ? supertrend : na
downTrend = direction < 0? na : supertrend
// plot(bodyMiddle, display=display.none)
// plot(upTrend)
// plot(downTrend)


// Indicator - Bollinger Bands (20,2)
bblength = input.int(defval = 20, title = "BB Length")
bbsource = input(defval = close, title = "BB Source")
bbStdDev = input.float(defval = 2.0, title = "BB Std Dev", step = 0.1)
bbmultiplier = bbStdDev * ta.stdev(bbsource, bblength)
bbMband = ta.sma(bbsource, bblength)
bbUband = bbMband + bbmultiplier
bbLband = bbMband - bbmultiplier
// plot (bbUband, color = color.red, linewidth = 2)
// plot (bbMband, color = color.black, linewidth = 2)
// plot (bbLband, color = color.green, linewidth = 2)

// Trade Entry

LongEntry = rsi >= 50 and kLine > dLine and low < supertrend and direction < 0 and supertrend < bbMband
ShortEntry = rsi <= 50 and kLine < dLine and high > supertrend and direction > 0 and supertrend > bbMband
plotshape(LongEntry, style = shape.triangleup,  text = "Long", location = location.belowbar, size = size.large, color = color.green)
plotshape(ShortEntry, style = shape.triangledown,  text = "Short", location = location.abovebar, size = size.large, color = color.red)

//Trade execution
if LongEntry
    strategy.entry(id = "Buy", direction = strategy.long, limit = close * .5 * atr)

closelong = close >= strategy.position_avg_price * 2.2 * atr
stoplong = close <=  strategy.position_avg_price * 1.1 * atr

if closelong
    strategy.close(id = "Buy")
    
if stoplong
    strategy.close(id = "Buy")
    
if ShortEntry
    strategy.entry(id = "Sell", direction = strategy.long, limit = close * .5 * atr)

closeshort = close <= strategy.position_avg_price * 2.2 * atr
stopshort = close >=  strategy.position_avg_price * 1.1 * atr

if closeshort
    strategy.close(id = "Sell")
    
if stopshort
    strategy.close(id = "Sell")



مزید