مومنٹم پر مبنی بریک آؤٹ ٹریڈنگ کی حکمت عملی


تخلیق کی تاریخ: 2024-02-04 10:55:31 آخر میں ترمیم کریں: 2024-02-04 10:55:31
کاپی: 0 کلکس کی تعداد: 689
1
پر توجہ دیں
1617
پیروکار

مومنٹم پر مبنی بریک آؤٹ ٹریڈنگ کی حکمت عملی

جائزہ

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

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

اس حکمت عملی کی بنیاد مندرجہ ذیل نکات پر ہے:

  1. ای ایم اے میڈین لائن کا استعمال قیمت کے رجحان کی سمت کا تعین کرنے کے لئے کریں۔ قیمت اوپر میڈین لائن کو باؤس سگنل کے طور پر پہنتی ہے ، نیچے نیچے بیئر سگنل کے طور پر پہنتی ہے۔

  2. اے ٹی آر انڈیکس مارکیٹ میں اتار چڑھاؤ کی شرح کا فیصلہ کرتا ہے۔ اے ٹی آر کو ایک عنصر کے ذریعہ روکنے کی حد کے طور پر ضرب دیا جاتا ہے۔ یہ انفرادی نقصان کو مؤثر طریقے سے کنٹرول کرسکتا ہے۔

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

  4. اسٹاپ آؤٹ کی بنیاد کے طور پر پہلے کی اونچائی یا کم سے استعمال کریں۔ اسٹاپ کی قیمتوں کو ٹریک کرنے سے زیادہ منافع لاک کیا جاسکتا ہے۔

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

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

طاقت کا تجزیہ

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

  1. کثیر اشارے کے فیصلے سے جعلی توڑ پھوڑ سے بچنے اور سگنل کی درستگی میں اضافہ ہوتا ہے

  2. ATR سٹاپ نقصان رینج کی ترتیب ایک معقول سطح پر کنٹرول نقصان

  3. متحرک ٹریکنگ اسٹاپس منافع کو زیادہ سے زیادہ بنائیں

  4. سخت سٹاپ نقصان کے قواعد خطرے کو کنٹرول کرنے میں مدد کرتے ہیں

  5. اشارے اور پیرامیٹرز کو بہتر بنانے کے لئے کافی جگہ ہے ، مختلف مارکیٹوں کے مطابق ایڈجسٹ کیا جاسکتا ہے

خطرے کا تجزیہ

اس حکمت عملی میں مندرجہ ذیل خطرات بھی ہیں:

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

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

  3. chasing。

اصلاح کی سمت

اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:

  1. اوسط لائن پیرامیٹرز ، اے ٹی آر پیرامیٹرز وغیرہ کو مختلف اقسام اور دورانیوں کے مطابق ایڈجسٹ کریں۔

  2. اس کے علاوہ، MACD، KDJ، اور اسی طرح کے زیادہ خریدنے اور زیادہ فروخت کرنے کے لئے مزید اشارے شامل کیے جا سکتے ہیں.

  3. اے ٹی آر کی قیمتوں کے مطابق اسٹاپ نقصان کے فیکٹر کو حقیقی وقت میں ایڈجسٹ کیا جاسکتا ہے۔ اسٹاپ نقصان کو مارکیٹ میں اتار چڑھاؤ کے مطابق ڈھالنا۔

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

  5. مشین لرننگ ٹکنالوجی کا استعمال کرتے ہوئے انڈیکیٹرز اور پیرامیٹرز کی جانچ اور اصلاح کریں تاکہ حکمت عملی کے پیرامیٹرز کو زیادہ سے زیادہ بنایا جاسکے۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-03 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="UT Bot Strategy", overlay = true)
//CREDITS to HPotter for the orginal code. The guy trying to sell this as his own is a scammer lol. 
// Inputs
emaLengh = input(2, title = "emaLengh")
a = input(3.0,     title = "Key Vaule. 'This changes the sensitivity'")
c = input(10,    title = "ATR Period")
h = input(false, title = "Signals from Heikin Ashi Candles")
emaLengh2 = input(9, title = "emaLengh show")




rate = input(0.00025,    title = "波动率min")
rateMax = input(0.00045,    title = "波动率max")
adx_length =   input(20,    title = "adx_length")
adx_min =   input(14,    title = "adx_min")

sma_length =   input(11,    title = "sma_length")
rsi_len = input(9, title = "rsi_len")

src = h ? security(heikinashi(syminfo.tickerid), timeframe.period, close, lookahead = false) : close

// boll 通道----------------------------------------------------
length = input(20, minval=1)
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
bbr = (src - lower)/(upper - lower)
// plot(upper, color = color.rgb(46, 59, 240), title="upper")
// plot(lower, color = color.rgb(46, 59, 240), title="lower")


// plot(bbr, "Bollinger Bands %B", color=#26A69A)
// band1 = hline(1, "Overbought", color=#787B86, linestyle=hline.style_dashed)
// hline(0.5, "Middle Band", color=color.new(#787B86, 50))
// band0 = hline(0, "Oversold", color=#787B86, linestyle=hline.style_dashed)
// fill(band1, band0, color=color.rgb(38, 166, 154, 90), title="Background")
// boll 通道----------------------------------------------------

// 线性回归 --------------------------------------------------------------
zlsma_length = input(title="zlsma-Length", type=input.integer, defval=50)
zlsma_offset = input(title="zlsma-Offset", type=input.integer, defval=0)
lsma = linreg(src, zlsma_length, zlsma_offset)
lsma2 = linreg(lsma, zlsma_length, zlsma_offset)
eq= lsma-lsma2
zlsma = lsma+eq
// plot(zlsma , color = color.rgb(243, 243, 14), title="zlsma",linewidth=3)
// 线性回归 --------------------------------------------------------------



// --------------------------------
rsi = rsi(src, 6)

// xHH = sma(high, sma_length)
// xLL = sma(low, sma_length)
// movevalue = (xHH - xLL) / 2
// xHHM = xHH + movevalue
// xLLM = xLL - movevalue

// plot(xHHM, color = color.rgb(208, 120, 219), title="xHHM")
// plot(xLLM, color = color.rgb(208, 120, 219), title="xLLM")


xATR  = atr(c)
nLoss = a * 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 

ema   = ema(src,emaLengh)
// sma   = sma(src,emaLengh)
emaFast   = ema(src,100)
emaSlow   = ema(src,576)
emaShow   = ema(src, emaLengh2)
// sma       =  sma(src, 8)

// [superTrend, dir] = supertrend(3, 200) 
// 判断连续涨

[diplus, diminus, adx] = dmi(adx_length, adx_length)


above = crossover(ema, xATRTrailingStop)
below = crossover(xATRTrailingStop, ema)
// above = ema == xATRTrailingStop
// below = xATRTrailingStop== ema

// smaabove = crossover(src, sma)
// smabelow = crossover(sma, src)
// smaabove = src > sma
// smabelow = sma > src
close_rate (n)=>
    abs(close[n]-open[n])/min(close[n],open[n])

rate_val = close_rate(0)
rate_val1 = close_rate(1)

buy  = src > xATRTrailingStop and above  and src > zlsma  and adx >adx_min
// and  src>emaShow
// and rate_val < rate_val1*2 and rate_val >=rate_val1
// and rate_val1<rateMax
// and close[1]>open[1] 
sell = src < xATRTrailingStop and below  and src < zlsma and adx >adx_min
// and  src<emaShow
// and rate_val < rate_val1*2  and rate_val >=rate_val1
//  and rate_val1<rateMax
// and open[1]>close[1]  and rate_val1 > rate  

// buy  = src > xATRTrailingStop 
// sell = src < xATRTrailingStop 
// plot(rate_val1 , color = color.red, title="rate_val1")



barbuy  = src > xATRTrailingStop 
barsell = src < xATRTrailingStop

atrRsi = rsi(xATRTrailingStop,rsi_len)

// plot(emaFast , color = color.rgb(243, 206, 127), title="emaFast")
// plot(ema , color = color.rgb(47, 227, 27), title="ut-ema")



// plot(emaShow , color = color.rgb(47, 227, 27), title="ema9")

plot(xATRTrailingStop, color = color.rgb(233, 233, 232), title="xATRTrailingStop")

plotshape(buy,  title = "Buy",  text = 'Buy',  style = shape.labelup,   location = location.belowbar, color= color.green, textcolor = color.white, size = size.tiny)
plotshape(sell, title = "Sell", text = 'Sell', style = shape.labeldown, location = location.abovebar, color= color.red,   textcolor = color.white, size = size.tiny)


// plotshape(buy,  title = "Sell",  text = 'Sell',  style = shape.labelup,   location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
// plotshape(sell, title = "buy", text = 'buy', style = shape.labeldown, location = location.abovebar, color= color.red,   textcolor = color.white, transp = 0, size = size.tiny)

// barcolor(barbuy  ? color.green : na)
// barcolor(barsell ? color.red   : na)

// strategy.entry("short",   false, when = buy)
// strategy.entry("long ", true, when = sell)


strategy.entry("long",   true, when = buy and strategy.position_size == 0)
strategy.entry("short", false, when = sell and strategy.position_size == 0)


//动态止盈start------------------------------------------------------------------------------------------
profit = input( 0.015,     title = "最小收益率")
close_profit_rate = input( 10,     title = "平仓收益回撤比")
loss = input(0.004,    title = "回撤率")

// 收益回撤比例
profit_price_scale =profit/close_profit_rate

var float profit_price = 0


// 计算小收益价格

get_profit_price(long) =>
    float res = 0
    if long == true
        res := strategy.position_avg_price * (1+profit)
    if long == false
        res := strategy.position_avg_price * (1-profit)
    res

// 止盈平仓条件
close_profit_position(long)=>
    bool result=false
    if long == true and profit_price>0 and profit_price*(1-profit_price_scale) >=close and  get_profit_price(true) <= close 
        result:=true
    if long == false and profit_price>0 and profit_price*(1+profit_price_scale) <=close and  get_profit_price(false) >= close 
        result:=true
    result

// 更新动态止盈价格
update_profit_price(price)=>
    float res = price
   // 无仓位时 动态止盈价格为0
    if strategy.position_size == 0 
        res := 0
   // long - 价格大于最小收益时保存
    if strategy.position_size > 0 and get_profit_price(true) <= close and (res==0 or res < close)
        res := close
   // short - 价格小于最小收益时保存
    if strategy.position_size < 0 and get_profit_price(true) >= close and (res==0 or res > close)
        res := close
    res
   
///////



profit_price := update_profit_price(profit_price)
long_close_profit_position = close_profit_position(true)
short_close_profit_position = close_profit_position(false)

// plot(profit_price, color = color.green, title="profit_price")
//动态止盈end------------------------------------------------------------------------------------------




strategy.close("long",comment="long-止盈",when = strategy.position_size > 0 and long_close_profit_position)

strategy.close("long",comment="long-止损",when = strategy.position_size >0 and strategy.position_avg_price * (1-loss) >= close)

strategy.close("short",comment="short-止盈",when = strategy.position_size <0 and short_close_profit_position)

strategy.close("short",comment="short-止损",when = strategy.position_size <0 and strategy.position_avg_price * (1+loss) <= close)