متعدد اشارے پر مبنی مقداری تجارتی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-10-25 18:06:44
ٹیگز:

img

جائزہ

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

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

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

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

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

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

کثیر اشارے کی حکمت عملی کے مندرجہ ذیل فوائد ہیں:

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

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

  3. لانگ اور شارٹس سمت کے خطرات کو کم کرتے ہیں اور انتہائی حرکتوں سے بچتے ہیں۔

  4. سٹاپ نقصان اور منافع لے لو منافع میں مقفل اور نقصانات کو محدود کریں جب تجارت غلط ہو.

  5. پیرامیٹر کی اصلاح مسلسل مارکیٹوں کو تبدیل کرنے کے مطابق اپنی حکمت عملی کو بہتر بناتی ہے۔

خطرے کا تجزیہ

اس حکمت عملی میں کچھ خطرات بھی ہیں:

  1. زیادہ اشارے پیچیدگی میں اضافہ کرتے ہیں۔ غلط ترتیبات کارکردگی کو خراب کرسکتی ہیں۔ وسیع پیمانے پر جانچ اور اصلاح کی ضرورت ہے۔

  2. تکنیکی اشارے پر زیادہ انحصار کرتے ہوئے بنیادی باتوں کو نظرانداز کرنے سے غلط سگنل پیدا ہوسکتے ہیں۔ اشارے کے غلط اشاروں سے احتیاط سے نمٹا جانا چاہئے۔

  3. جب سگنل سامنے آتے ہیں تو مارکیٹیں پہلے ہی منتقل ہو سکتی ہیں ، جس سے خطرہ پیدا ہوتا ہے۔ واپسی کی اجازت دینا محتاط ہے۔

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

  5. منحنی فٹنگ کے خطرات موجود ہیں۔ مختلف مارکیٹوں میں استحکام کا تجربہ کیا جانا چاہئے۔

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

بہتر مواقع

حکمت عملی کو بہتر بنانے کے کچھ طریقے:

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

  2. مزید اشارے شامل کریں جیسے کے ڈی جے، ولیمز ایک مضبوط اشارے کے مجموعے کی تعمیر کے لئے.

  3. متحرک طور پر خطرے کا انتظام کرنے کے لئے پوزیشن سائزنگ ماڈلز کو بہتر بنائیں.

  4. قیمتوں کے رجحانات اور نقل و حرکت کی پیش گوئی کے لئے مشین لرننگ ماڈلز کو شامل کریں.

  5. موافقت کو بہتر بنانے کے لئے مختلف مصنوعات ، ٹائم فریم اور مارکیٹوں میں ٹیسٹ کریں۔

  6. ابتدائی رجحانات کو پکڑنے اور واپسی سے پہلے باہر نکلنے کے لئے داخلہ اور باہر نکلنے کے وقت کو بہتر بنائیں.

  7. منافع لینے، منافع میں مقفل کرنے اور نقصانات کو محدود کرنے کے لئے پیچھے رک جاتا ہے.

  8. تکنیکی سگنلز کو فلٹر کرنے کے لئے بنیادی عوامل اور مارکیٹ کی ساخت کا تجزیہ شامل کریں۔

خلاصہ

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


/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 2h
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/
// © The_Bigger_Bull
//@version=5
strategy("Best TradingView Strategy", overlay=true, margin_long=0, margin_short=0)
//Bollinger Bands
source1 = close
length1 = input.int(15, minval=1)
mult1 = input.float(2.0, minval=0.001, maxval=50)
basis1 = ta.sma(source1, length1)
dev1 = mult1 * ta.stdev(source1, length1)
upper1 = basis1 + dev1
lower1 = basis1 - dev1
//buyEntry = ta.crossover(source1, lower1)
//sellEntry = ta.crossunder(source1, upper1)

//RSI
ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "Bollinger Bands" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
maTypeInput = input.string("SMA", title="MA Type", options=["SMA", "Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings")
maLengthInput = input.int(14, title="MA Length", group="MA Settings")
bbMultInput = input.float(2.0, minval=0.001, maxval=50, title="BB StdDev", group="MA Settings")

up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput)
down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsiMA = ma(rsi, maLengthInput, maTypeInput)
isBB = maTypeInput == "Bollinger Bands"

//plot(rsi, "RSI", color=#7E57C2)
//plot(rsiMA, "RSI-based MA", color=color.yellow)
rsiUpperBand = hline(70, "RSI Upper Band", color=#787B86)
hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
rsiLowerBand = hline(30, "RSI Lower Band", color=#787B86)
fill(rsiUpperBand, rsiLowerBand, color=color.rgb(126, 87, 194, 90), title="RSI Background Fill")
bbUpperBand = plot(isBB ? rsiMA + ta.stdev(rsi, maLengthInput) * bbMultInput : na, title = "Upper Bollinger Band", color=color.green)
bbLowerBand = plot(isBB ? rsiMA - ta.stdev(rsi, maLengthInput) * bbMultInput : na, title = "Lower Bollinger Band", color=color.green)
fill(bbUpperBand, bbLowerBand, color= isBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill")

//ADX

adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
dirmov(len) =>
	up1 = ta.change(high)
	down1 = -ta.change(low)
	plusDM = na(up1) ? na : (up1 > down1 and up1 > 0 ? up1 : 0)
	minusDM = na(down1) ? na : (down1 > up1 and down1 > 0 ? down1 : 0)
	truerange = ta.rma(ta.tr, len)
	plus = fixnan(100 * ta.rma(plusDM, len) / truerange)
	minus = fixnan(100 * ta.rma(minusDM, len) / truerange)
	[plus, minus]
adx(dilen, adxlen) =>
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)




out = ta.sma(close, 14)

sma1=ta.sma(close,55)

ema200=ta.ema(close,200)



longCondition = (out>sma1) and ta.crossover(source1, lower1)

if (longCondition )
    strategy.entry("long", strategy.long)
    
shortCondition = (out<sma1) and ta.crossunder(source1, lower1)

if (shortCondition )
    strategy.entry("short", strategy.short)
    
    
stopl=strategy.position_avg_price-50
tptgt=strategy.position_avg_price+100
stopshort=strategy.position_avg_price+50
tptgtshort=strategy.position_avg_price-100

strategy.exit("longclose","long",trail_offset=5,trail_points=45,when=ta.crossover(sma1,out))
strategy.exit("shortclose","short",trail_offset=5,trail_points=45,when=ta.crossover(out,sma1))

    
//if strategy.position_avg_price<0
    
    
plot(sma1 , color=color.blue)
plot(out, color=color.green)
//plot(ema200,color=color.red)


    
    


مزید