ڈبل حرکت پذیر اوسط پر مبنی اسکیلپنگ ٹریڈنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-08 16:29:21
ٹیگز:

img

جائزہ

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

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

یہ حکمت عملی تیز رفتار ایم اے کے طور پر 6 پیریڈ آر ایم اے اور سست رفتار ایم اے کے طور پر 4 پیریڈ ایچ ایم اے کا استعمال کرتی ہے۔ یہ قیمت کے رجحانات کا جائزہ لیتی ہے اور تیز رفتار اور سست لائنوں کے درمیان کراس اوور کی بنیاد پر تجارتی سگنل تیار کرتی ہے۔

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

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

فوائد

اس حکمت عملی کے فوائد میں شامل ہیں:

  1. ڈبل ایم اے کراس اوور مؤثر طریقے سے قلیل مدتی الٹ پوائنٹس کی نشاندہی کرتا ہے۔

  2. تیز اور سست MA لمبائی مناسب طریقے سے مل کر درست سگنل پیدا کرنے کے لئے ہیں.

  3. طویل / قلیل مدتی رجحان فلٹرنگ زیادہ تر غلط سگنل کو ہٹاتا ہے.

  4. منافع لے لو اور سٹاپ نقصان منطق فعال طور پر خطرات کا انتظام.

  5. یہ سمجھنے اور لاگو کرنے میں آسان ہے، beginners کے لئے موزوں ہے.

خطرات اور حل

کچھ خطرات بھی ہیں:

  1. کئی چھوٹے منافع کے لئے موزوں لیکن ایک بہت بڑا نقصان. ٹھیک ٹی پی / ایس ایل کی سطح کو tune.

  2. رینج سے منسلک مارکیٹوں کے تحت کثرت سے تجارت۔ تجارتی حالات میں نرمی۔

  3. اوور فٹنگ پیرامیٹرز۔ استحکام ٹیسٹ کی ضرورت ہے۔

  4. ٹرینڈنگ مارکیٹوں کے تحت کم کارکردگی کا مظاہرہ کریں۔ ٹرینڈ ماڈیول شامل کریں یا ٹرینڈ کی حکمت عملیوں کے ساتھ مل کر۔

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

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

  1. اپ گریڈ MAs کے ساتھ انکولی Kalman فلٹر وغیرہ

  2. سگنل کی درستگی کو بہتر بنانے کے لئے ایم ایل ماڈل شامل کریں.

  3. خطرے کے کنٹرول کو خودکار کرنے کے لئے سرمایہ انتظام ماڈیول شامل کریں.

  4. مضبوط سگنل کے لیے اعلی تعدد کے عوامل کے ساتھ مل کر۔

  5. مصنوعات کے درمیان کراس مارکیٹ ثالثی.

نتیجہ

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


/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-07 00:00:00
period: 3m
basePeriod: 1m
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/
// © dc_analytics
// https://datacryptoanalytics.com/


//@version=5
strategy("Scalping Trading", overlay=true)

//  INPUTS  //
bar_color       = input(true, title='Bar Color', group='⚙ Settings',tooltip='Color chart bars.', inline = "1")
mostrar         = input(true, 'Show Alerts', group='⚙ Settings', inline = "1")
tempo           = input.timeframe('60', group='⚙ Settings', title='🕗 Timeframe', options=['1', '5', '15', '30', '60', '120', '240', '360', '720', 'D', 'W'])

i_position      = input.string("Bottom Center", title = "⚙ D-Panel Location", 
 options = ["Top Right", "Bottom Center", "Bottom Right"], group='⚙ D-Panel Settings️',
 tooltip='Choose the location of the information table on the chart.(D-Panel) ')

position        = i_position == "Top Right" ? position.top_right : i_position == "Bottom Center" ? position.bottom_center : position.bottom_right

i_tam           = input.string('Big', title = '⚙ D-Painel Size', 
 options = ["Tiny", "Small", "Big"], group='⚙ D-Panel Settings️',tooltip='Choose the size of the information panel (D-Panel).')

tamanho         = i_tam == "Tiny" ? size.tiny : i_tam == "Small" ? size.small : size.normal

show_tp_sl      = input(true, title='Show Take Profit/Stop Loss', group='⚙ Settings',tooltip='Show Take Profit/Stop Loss.')
TP              = input.float(defval=4500, title='Take Profit:',group='⚙ Risk Management',tooltip='Choose amount of profit')
SL              = input.float(defval=2500, title='Stop Loss:', group='⚙ Risk Management',tooltip='Choose amount of loss') 
//  END INPUTS  //


//  DECLARATIONS  //
t_up    = '📈'
t_down  = '📉'

c_buy   = 'Long ⇡'
c_sell  = 'Short ⇣'

// _DECLARATION TREND
t_sma       = ta.hma(close, 200)
tend_sma    = ta.sma(close, 12)

tendencia   = request.security(syminfo.tickerid, timeframe.period, t_sma, barmerge.gaps_off, barmerge.lookahead_off)
tend_tabela = request.security(syminfo.tickerid, timeframe.period, tend_sma, barmerge.gaps_off, barmerge.lookahead_off)
// _END DECLARATION TREND

circle = plot.style_circles
//  END DECLARATIONS  //


//  COLORS  //
color gray   = color.gray
color red    = color.new(#ff8c05, 0)
color orange = color.new(#ff8c05, 0)
color silver = color.silver
color up_vol = color.new(color.green, 0)
color dn_vol = color.new(color.purple, 0)

color orange_tranp  = color.new(#ff8c05, 95)
// END COLORS //

//  SCANNER MARKET MAKERS  //
periodo  = input.int(20, 'Period Volume', group='⚙️ Scanner Market Makers Settings')
fator    = input.float(1.85, 'Proportion to the mean: (1.25 = 125% of the mean)', minval=0, group='⚙️ Scanner Market Makers Settings')
vol_up   = close > open
vol_down = open > close
vol      = volume
pesado   = volume > ta.ema(volume, periodo) * fator

palette  = pesado and vol_up ? gray : pesado and vol_down ? orange : vol_up ? silver : gray
//  END SCANNER MARKET MAKERS  //


//  LOGIC ONE  //
s = ta.rma(close, 6)
v = ta.hma(close, 4)

//  TREND  
t_baixa     = tendencia > tendencia[1]
t_alta      = tendencia < tendencia[1]

te_d        = tend_tabela > tend_tabela[1]
trend       = te_d ? t_up : t_down
//  END TREND  

a = request.security(syminfo.tickerid, tempo, s)
b = request.security(syminfo.tickerid, tempo, ohlc4)

c_dn   = a > b and a[1] < b[1]
c_up   = b > a and b[1] < a[1]

compra = mostrar and c_up ? a : na
venda  = mostrar and c_dn ? a : na

s_sell = venda and t_alta
s_buy  = compra and t_baixa
c_vela = b > a and te_d ? gray : orange

s_up = false
s_dw = false

b_sinal = not s_up and s_buy
s_sinal = not s_dw and s_sell

if b_sinal
    s_dw := false
    s_up := true
    s_up

if s_sinal
    s_dw := true
    s_up := false
    s_up

// END LOGIC ONE //


//  DATA TABLE  //
c = b > a ? orange : gray 
c_sinal = b > a ? c_buy : c_sell
//  END DATA TABLE  //


//  PLOT/BARCOLOR  //
c_barcolor = pesado and vol_up ? up_vol : pesado and vol_down ? dn_vol : vol_up ? c : c

barcolor(bar_color ? c_barcolor : na)
plot(a, color=orange_tranp, style=circle)
//  END PLOT/BARCOLOR  //


//  TABLE  //
var dash = table.new(position=position, columns=2, rows=3, border_width=1)
if barstate.islast
    table.cell(table_id=dash, column=1, row=2, text='Scalping DCA', bgcolor=orange)
    table.cell(table_id=dash, column=1, row=0, text='Trade: ' + c_sinal)
    table.cell(table_id=dash, column=1, row=1, text='Trend: ' + trend)
//  END TABLE  //


//  SETTINGS STRATEGY  //
exitPrice = strategy.closedtrades.exit_price(strategy.closedtrades - 1)

// OPEN ORDER
if (b_sinal)
    strategy.order("Long", strategy.long , comment = "Entry: " + str.tostring(close, "#.####"))
//    strategy.exit("EXIT", trail_points = 1000, trail_offset = 0, comment_trailing = "Close with Profit: " + str.tostring(close, "#.####"))
//    strategy.entry("long", strategy.long)

if (s_sinal)
    strategy.order("Short", strategy.short , comment = "Entry: " + str.tostring(close, "#.####"))
//    strategy.exit("EXIT", trail_points = 1000, trail_offset = 0, comment_trailing = "Close with Profit: " + str.tostring(close, "#.####"))
//    strategy.entry("short", strategy.short)

//  TP/SL ORDERS
if strategy.position_size > 0
    strategy.exit('Long_Close', 'Long',profit = TP , loss=SL, qty_percent=100, comment_profit = "Profit Long: " + str.tostring(exitPrice, "#.####"), comment_loss = "Stop Long: " + str.tostring(exitPrice, "#.####"))
//if  strategy.position_size > 0
//    strategy.exit("Long", "Long", stop = longSL, limit = longTP, comment_profit = "Profit Long: " + str.tostring(exitPrice, "#.####"), comment_loss = "Stop Long: " + str.tostring(exitPrice, "#.####"))
    
if strategy.position_size < 0
    strategy.exit('Short_Close', 'Short',profit = TP, loss=SL, qty_percent=100, comment_profit = "Profit Short: " + str.tostring(exitPrice, "#.####"), comment_loss = "Stop Short: " + str.tostring(exitPrice, "#.####"))
//if strategy.position_size < 0
//    strategy.exit("Short", "Short", stop = shortSL, limit = shortTP, comment_profit = "Profit Short: "+ str.tostring(exitPrice, "#.####"), comment_loss = "Stop Short: " + str.tostring(exitPrice, "#.####")) 

//  END SETTINGS STRATEGY  //

// LOGS 
// if strategy.opentrades > 10
//     log.warning("{0} positions opened in the same direction in a row. Try adjusting `bracketTickSizeInput`", strategy.opentrades)

// last10Perc = strategy.initial_capital / 10 > strategy.equity
// if (last10Perc and not last10Perc[1])
//     log.error("The strategy has lost 90% of the initial capital!")

مزید