ملٹی ٹائم فریم مقداری تجارتی حکمت عملی مثلثی ثالثی کی نقالی


تخلیق کی تاریخ: 2024-01-29 11:10:33 آخر میں ترمیم کریں: 2024-01-29 11:10:33
کاپی: 0 کلکس کی تعداد: 736
1
پر توجہ دیں
1617
پیروکار

ملٹی ٹائم فریم مقداری تجارتی حکمت عملی مثلثی ثالثی کی نقالی

جائزہ

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

حکمت عملی کا اصول

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

  1. جب قیمت سیلٹ چینل کے اوپر سے زیادہ ہو تو ، اسے bullish سگنل سمجھا جاتا ہے۔ جب قیمت سیلٹ چینل کے نیچے سے کم ہو تو ، اسے bearish سگنل سمجھا جاتا ہے۔

  2. اتار چڑھاؤ کی شرح کو روکنے کی قیمتوں میں اتار چڑھاؤ اور چینل کی چوڑائی کے مطابق سٹاپ پوزیشن قائم کریں۔ یہ متحرک طور پر ایڈجسٹ کرنے کے قابل ہے ، جبکہ اس سے روکنے کی ضمانت دی جاتی ہے ، اس سے زیادہ محتاط اسٹاپ پوزیشن سے بچا جاسکتا ہے۔

  3. ولیمز اشارے MACD اور برن بینڈوڈتھ کی گنتی کے ذریعے قیمتوں کا تعین کرتا ہے کہ آیا وہ مضبوط عروج یا زوال کے رجحان میں ہیں۔

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

طاقت کا تجزیہ

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

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

خطرے کا تجزیہ

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

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

اصلاح کی سمت

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

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

  2. نقصان کو روکنے کی حکمت عملی کو بہتر بنانا ، نقصان کو روکنے کی ضمانت کی شرط پر ، غیر ضروری نقصان کو مزید کم کرنا ، جیت کی شرح کو بہتر بنانا۔ مثال کے طور پر زیادہ اشارے کو روکنے کے سگنل کے طور پر جوڑنا ، یا نقصان کی پوزیشن کو آہستہ آہستہ ری ڈائریکٹ کرنا۔

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("QuarryLake", overlay=true)  ///Ultilized modified full kelly for this strategy = 36%

///Keltner channel///
nPeriod = input(title="Keltner Period", type=input.integer, defval=200, minval=1)
Mult = input(title="Keltner Mult", type=input.integer, defval=5, minval=1)
xPrice = ema(hlc3, nPeriod)
xMove = ema(high - low, nPeriod)
xMoveMult = xMove * Mult
xUpper = xPrice + xMoveMult
xLower = xPrice - xMoveMult

// plot(xPrice, color=red, title="KSmid")
p1 = plot(xUpper, color=color.white, title="KSup")
p2 = plot(xLower, color=color.white, title="KSdn")
fill(p1, p2, color=close > xUpper ? color.green : close < xLower ? color.red : color.white)

kclongcondition = close > xUpper
kcshortcondition = close < xLower
kccloselongcondition = crossunder(close, xUpper)
kccloseshortcondition = crossover(close, xLower)

///Volatility Stop///
length = input(title="Vstop length", type=input.integer, defval=3, minval=1)
mult1 = 1.5

atr_ = atr(length)
max1 = 0.0
min1 = 0.0
is_uptrend_prev = false
stop = 0.0
vstop_prev = 0.0
vstop1 = 0.0
is_uptrend = false
is_trend_changed = false
max_ = 0.0
min_ = 0.0
vstop = 0.0
max1 := max(nz(max_[1]), close)
min1 := min(nz(min_[1]), close)
is_uptrend_prev := nz(is_uptrend[1], true)
stop := is_uptrend_prev ? max1 - mult1 * atr_ : min1 + mult1 * atr_
vstop_prev := nz(vstop[1])
vstop1 := is_uptrend_prev ? max(vstop_prev, stop) : min(vstop_prev, stop)
is_uptrend := close - vstop1 >= 0
is_trend_changed := is_uptrend != is_uptrend_prev
max_ := is_trend_changed ? close : max1
min_ := is_trend_changed ? close : min1
vstop := is_trend_changed ? is_uptrend ? max_ - mult1 * atr_ : min_ + mult1 * atr_ : 
   vstop1

plot(vstop, color=is_uptrend ? color.green : color.red, style=plot.style_line, linewidth=1)

vstoplongcondition = close > vstop
vstoplongclosecondition = crossunder(close, vstop)
vstopshortcondition = close < vstop
vstopshortclosecondition = crossover(close, vstop)

///Waddah Attar Explosion///
sensitivity = input(150, title="Sensitivity")
fastLength = input(20, title="FastEMA Length")
slowLength = input(40, title="SlowEMA Length")
channelLength = input(20, title="BB Channel Length")
mult = input(2.0, title="BB Stdev Multiplier")
DEAD_ZONE = nz(rma(tr(true), 100)) * 3.7
calc_macd(source, fastLength, slowLength) =>
    fastMA = ema(source, fastLength)
    slowMA = ema(source, slowLength)
    fastMA - slowMA
calc_BBUpper(source, length, mult) =>
    basis = sma(source, length)
    dev = mult * stdev(source, length)
    basis + dev
calc_BBLower(source, length, mult) =>
    basis = sma(source, length)
    dev = mult * stdev(source, length)
    basis - dev
t1 = (calc_macd(close, fastLength, slowLength) - 
   calc_macd(close[1], fastLength, slowLength)) * sensitivity
t2 = (calc_macd(close[2], fastLength, slowLength) - 
   calc_macd(close[3], fastLength, slowLength)) * sensitivity
e1 = calc_BBUpper(close, channelLength, mult) - 
   calc_BBLower(close, channelLength, mult)
trendUp = t1 >= 0 ? t1 : 0
trendDown = t1 < 0 ? -1 * t1 : 0

waelongcondition = trendUp and trendUp > DEAD_ZONE and trendUp > e1
waeshortcondition = trendDown and trendDown > DEAD_ZONE and trendDown > e1

///Long Entry///
longcondition = kclongcondition and vstoplongcondition and waelongcondition
if longcondition
    strategy.entry("Long", strategy.long)

///Long exit///
closeconditionlong = kccloselongcondition or vstoplongclosecondition
if closeconditionlong
    strategy.close("Long")

///Short Entry///
shortcondition = kcshortcondition and vstopshortcondition and waeshortcondition
if shortcondition
    strategy.entry("Short", strategy.short)

///Short exit///
closeconditionshort = kccloseshortcondition or vstopshortclosecondition
if closeconditionshort
    strategy.close("Short")

///Free Hong Kong, the revolution of our time///