ٹریلنگ سٹاپ نقصان کے ساتھ الفا ٹرینڈ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-27 15:25:35
ٹیگز:

img

جائزہ

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

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

حکمت عملی سب سے پہلے قیمت کے رجحانات کا تعین کرنے کے لئے الفا اشارے کا استعمال کرتی ہے۔ جب الفا اشارے اوپر جاتا ہے تو ، یہ ایک تیزی کا اشارہ ہے۔ جب الفا اشارے نیچے جاتا ہے تو ، یہ ایک برداشت کا اشارہ ہے۔ حکمت عملی الفا اشارے کے سنہری کراس اور مردہ کراس کی بنیاد پر خرید و فروخت کے اشارے پیدا کرتی ہے۔

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

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

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

  2. ٹریلنگ سٹاپ نقصان کو فعال کرکے، ایک ہی تجارت کے نقصان کو مؤثر طریقے سے کنٹرول کیا جا سکتا ہے، خطرات کو کم کرنا.

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

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

خطرے کا تجزیہ

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

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

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

  4. سٹاپ نقصان کے پیرامیٹرز کو بہتر بنانے کے دوران، بنیادی خصوصیات اور تجارتی تعدد سمیت مختلف عوامل پر غور کیا جانا چاہئے، نہ کہ صرف زیادہ سے زیادہ منافع حاصل کرنا.

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

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

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

  2. مارکیٹ میں اتار چڑھاؤ کو بہتر طور پر اپنانے کے لئے اے ٹی آر پر مبنی متحرک طور پر اسٹاپ نقصان کی فیصد مقرر کرنے کی کوشش کریں.

  3. بعض غلط سگنلوں کو فلٹر کرنے کے لئے دیگر اشارے جیسے ایم اے سی ڈی، کے ڈی کے ساتھ مل کر۔

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

نتیجہ

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


/*backtest
start: 2023-10-27 00:00:00
end: 2023-11-26 00:00:00
period: 1h
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/
// author © KivancOzbilgic
// developer © KivancOzbilgic
//@version=5

strategy("AlphaTrend Strategy", shorttitle='ATst', overlay=true, format=format.price, precision=2, margin_long=100, margin_short=100)
coeff = input.float(1, 'Multiplier', step=0.1)
AP = input(14, 'Common Period')
ATR = ta.sma(ta.tr, AP)
src = input(close)
showsignalsk = input(title='Show Signals?', defval=false)
novolumedata = input(title='Change calculation (no volume data)?', defval=false)
upT = low - ATR * coeff
downT = high + ATR * coeff
AlphaTrend = 0.0
AlphaTrend := (novolumedata ? ta.rsi(src, AP) >= 50 : ta.mfi(hlc3, AP) >= 50) ? upT < nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : upT : downT > nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : downT

color1 = AlphaTrend > AlphaTrend[1] ? #00E60F : AlphaTrend < AlphaTrend[1] ? #80000B : AlphaTrend[1] > AlphaTrend[3] ? #00E60F : #80000B
k1 = plot(AlphaTrend, color=color.new(#0022FC, 0), linewidth=3)
k2 = plot(AlphaTrend[2], color=color.new(#FC0400, 0), linewidth=3)

fill(k1, k2, color=color1)

buySignalk = ta.crossover(AlphaTrend, AlphaTrend[2])
sellSignalk = ta.crossunder(AlphaTrend, AlphaTrend[2])


K1 = ta.barssince(buySignalk)
K2 = ta.barssince(sellSignalk)
O1 = ta.barssince(buySignalk[1])
O2 = ta.barssince(sellSignalk[1])

plotshape(buySignalk and showsignalsk and O1 > K2 ? AlphaTrend[2] * 0.9999 : na, title='BUY', text='BUY', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(#0022FC, 0), textcolor=color.new(color.white, 0))

plotshape(sellSignalk and showsignalsk and O2 > K1 ? AlphaTrend[2] * 1.0001 : na, title='SELL', text='SELL', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.maroon, 0), textcolor=color.new(color.white, 0))


// //ENTER SOME SETUP TRADES FOR TSL EXAMPLE
// longCondition = ta.crossover(ta.sma(close, 10), ta.sma(close, 20))
// if longCondition
//     strategy.entry('My Long Entry Id', strategy.long)

// shortCondition = ta.crossunder(ta.sma(close, 10), ta.sma(close, 20))
// if shortCondition
//     strategy.entry('My Short Entry Id', strategy.short)



longCondition = buySignalk
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = sellSignalk
if (shortCondition)
    strategy.entry("Short", strategy.short)
    

enableTrailing = input.bool(title='Enable Trailing Stop (%)',defval = true)
//TRAILING STOP CODE
trailStop = input.float(title='Trailing (%)', minval=0.0, step=0.1, defval=10) * 0.01



longStopPrice = 0.0
shortStopPrice = 0.0
longStopPrice := if strategy.position_size > 0
    stopValue = close * (1 - trailStop)
    math.max(stopValue, longStopPrice[1])
else
    0
shortStopPrice := if strategy.position_size < 0
    stopValue = close * (1 + trailStop)
    math.min(stopValue, shortStopPrice[1])
else
    999999

//PLOT TSL LINES
plot(series=strategy.position_size > 0 ? longStopPrice : na, color=color.new(color.red, 0), style=plot.style_linebr, linewidth=1, title='Long Trail Stop', offset=1, title='Long Trail Stop')
plot(series=strategy.position_size < 0 ? shortStopPrice : na, color=color.new(color.red, 0), style=plot.style_linebr, linewidth=1, title='Short Trail Stop', offset=1, title='Short Trail Stop')

    
if enableTrailing
    //EXIT TRADE @ TSL
    if strategy.position_size > 0
        strategy.exit(id='Close Long', stop=longStopPrice)
    if strategy.position_size < 0
        strategy.exit(id='Close Short', stop=shortStopPrice)


 

مزید