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

رجحان اور چلتی اوسط کراس اوور پر مبنی کثیر افعال الگورتھمک تجارتی حکمت عملی

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

img

جائزہ

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

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

تکنیکی اشارے

  • اپنی مرضی کے مطابق UTSTC اشارے: مارکیٹ کی اتار چڑھاؤ کے مطابق سٹاپ نقصان کی حد کو ایڈجسٹ کرنے کے لئے اوسط حقیقی رینج پر مبنی ایک انکولی ٹریلنگ اسٹاپ۔

  • ایس ٹی سی اشارے: مارکیٹ کے رجحان کی سمت اور ممکنہ الٹ پوائنٹس کا تعین کرنے کے لئے تیز اور سست سادہ چلتی اوسط کے درمیان فرق۔

  • سادہ حرکت پذیر اوسط (ایس ایم اے) اور تیزی سے حرکت پذیر اوسط (ای ایم اے): اضافی رجحان کی معلومات فراہم کرنے کے لئے مختلف ادوار کے حرکت پذیر اوسط کو پلاٹ کرنا۔

تجارتی سگنل

  • خریدنے کا اشارہ: جب بند قیمت یو ٹی ایس ٹی سی لائن سے اوپر کی حد کو عبور کرتی ہے اور ایس ٹی سی تیزی کی حالت میں ہوتا ہے تو پیدا ہوتا ہے۔

  • فروخت کا اشارہ: اس وقت پیدا ہوتا ہے جب بند ہونے کی قیمت یو ٹی ایس ٹی سی لائن سے نیچے ہوتی ہے اور ایس ٹی سی bearish حالت میں ہوتا ہے۔

فوائد

  • مارکیٹ کے رجحان کا تعین کرنے کے لئے متعدد اشارے کو ضم کرتا ہے، سگنل کی درستگی کو بہتر بناتا ہے.

  • یو ٹی ایس ٹی سی حقیقی اتار چڑھاؤ کی بنیاد پر اسٹاپ کو خود بخود ایڈجسٹ کرتا ہے، مؤثر طریقے سے ہر تجارت کے نقصان کو کنٹرول کرتا ہے.

  • حرکت پذیر اوسط کراس سے سادہ اور موثر تجارتی سگنل۔

  • مختلف پیرامیٹر مجموعے زیادہ مارکیٹ کے ماحول کو ایڈجسٹ کرتے ہیں.

خطرات

  • ایس ٹی سی جیسے رجحان کے اشارے مختصر مدت کے الٹ جانے میں تاخیر کر سکتے ہیں۔

  • چلتی اوسط کراس غلط سگنل پیدا کر سکتے ہیں.

  • ضروری پیرامیٹرز کا محتاط جائزہ، نامناسب امتزاج سے منافع کم یا نقصانات میں اضافہ ہو سکتا ہے۔

  • سٹاپ نقصان کی حد بہت وسیع نقصانات میں اضافہ ہو سکتا ہے، بہت تنگ جلدی روک سکتا ہے.

بہتر مواقع

  • کم سے کم حکمت عملی کے اثرات کے ساتھ ترتیبات تلاش کرنے کے لئے مختلف STC لمبائی کی جانچ کریں.

  • جھوٹے سگنل کو کم کرنے کے لئے اضافی فلٹرز شامل کریں، مثال کے طور پر KDJ، MACD.

  • بہترین پیرامیٹر مرکب تلاش کرنے کے لئے بیک ٹیسٹ کے نتائج کی بنیاد پر اسٹاپ کو بہتر بنائیں.

  • زیادہ سے زیادہ مدت کا تعین کرنے کے لئے مختلف انعقاد کی مدت کا اندازہ کریں.

نتیجہ

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


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

//@version=4
strategy("OB+LQ+UTSTC+SMA+EMA-NORA-MIP21-Jashore-Bangladesh-OneMinuteTF", shorttitle="OB+LS+UTSTC-MIP21-Jashore-Bangladesh-OneMinuteTF", overlay=true)

// Order Block + Liquidity Swings [NORA] Settings
pivot_length = input(14, title="Pivot Lookback")
bull_ext_last = input(3, title="Bullish OB Extension")
bear_ext_last = input(3, title="Bearish OB Extension")
swing_length = input(5, title="Swing Length")
area = input("Wick Extremity", title="Swing Area", options=["Wick Extremity", "Full Range"])
min_profit = input(0.5, title="Minimum Profit Target")
max_loss = input(0.5, title="Maximum Loss Stop")

// Variables
var float bull_ob_price = na
var float bear_ob_price = na
var float swing_high = na
var float swing_low = na

// Calculate Order Block Prices
var float low_lowest = na
var float high_highest = na
if bar_index >= pivot_length
    low_lowest := lowest(low, pivot_length)
    high_highest := highest(high, pivot_length)
    bull_ob_price := low_lowest
    bear_ob_price := high_highest

// Calculate Swing High/Low Prices
var float low_lowest_swing = na
var float high_highest_swing = na

if area == "Wick Extremity"
    low_lowest_swing := lowest(low, swing_length)
    high_highest_swing := highest(high, swing_length)
else
    low_lowest_swing := lowest(high - low, swing_length)
    high_highest_swing := highest(high - low, swing_length)

swing_low := low_lowest_swing
swing_high := high_highest_swing

// Trading Logic for Order Block + Liquidity Swings
buy_liquidity = crossover(close, bull_ob_price) and close > swing_low
sell_liquidity = crossunder(close, bear_ob_price) and close < swing_high

// Plot Buy/Sell Signals for Order Block + Liquidity Swings
plotshape(series=buy_liquidity, style=shape.labelup, location=location.belowbar, color=color.rgb(39, 166, 175), size=size.small, title="Bullish LQ")
plotshape(series=sell_liquidity, style=shape.labeldown, location=location.abovebar, color=color.rgb(248, 95, 215), size=size.small, title="Bearish LQ")

// UTSTC-SMA-EMA-NORA-New Settings
keyvalue = input(3, title="UT Bot Key Value", step=0.5)
atrperiod = input(10, title="UT Bot ATR Period")
src = close

xATR = atr(atrperiod)
nLoss = keyvalue * xATR
xATRTrailingStop = 0.0
xATRTrailingStop := iff(src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), src - nLoss),
   iff(src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), src + nLoss), 
   iff(src > nz(xATRTrailingStop[1], 0), src - nLoss, src + nLoss)))
pos = 0   
pos := iff(src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0), 1,
   iff(src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 
xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue
plot(xATRTrailingStop, color=xcolor, title="UT Bot Trailing Stop")

// STC Settings
stc_length = input(12, title="STC Length")
fastLength = input(26, title="STC Fast Length")
slowLength = input(50, title="STC Slow Length")
fastMA = ema(close, fastLength)
slowMA = ema(close, slowLength)
STC = fastMA - slowMA
STCColor = STC > STC[1] ? color.green : color.red
plot(STC, color=STCColor, title="STC")

// Add SMAs
sma21 = sma(close, 21)
sma44 = sma(close, 44)
plot(sma21, color=color.blue, title="SMA 21")
plot(sma44, color=color.orange, title="SMA 44")

// Add EMA
ema5 = ema(close, 5)
plot(ema5, color=color.yellow, title="EMA 5")

// Combined Strategy
buySignal = crossover(src, xATRTrailingStop) and STC < 25 and STCColor == color.green
sellSignal = crossunder(src, xATRTrailingStop) and STC > 75 and STCColor == color.red

// Plot Buy and Sell signals as triangles
plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)



مزید