ریورس مختصر مدت کے بریکآؤٹ ٹریڈنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-21 17:03:32
ٹیگز:

img

جائزہ

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

منطق

  1. ان پٹ پیرامیٹرز: مسلسل اوپر بار کی تعداد N، مسلسل نیچے بار M
  2. تعریف:
    • ups up-bars کی تعداد شمار کرتا ہے ، قیمت> قیمت [1] پھر + 1 ، بصورت دیگر 0 پر ری سیٹ کریں
    • ڈی این ایس نیچے کی سلاخوں کی تعداد گنتا ہے ، قیمت<قیمت [1] پھر +1 ، بصورت دیگر 0 پر ری سیٹ کریں
  3. اندراج: ups≥N پر مختصر؛ dns≥M پر قریبی پوزیشن
  4. آؤٹ: فکسڈ سٹاپ نقصان/فائدہ حاصل کرنا یا وقت کی حد کا اختتام

پیشہ

  1. مختصر مدت کی تجارت کے لئے موزوں واپسی کی تجارت کے مواقع کو پکڑو
  2. مختلف تجارتی منصوبوں کی فراہمی کے لچکدار ٹائم فریم کا تعین
  3. اسٹاپ نقصان / منافع حاصل کرنے کے لئے سرایت شدہ جو خطرے کے انتظام کو آسان بناتا ہے

خطرات

  1. قلیل مدتی واپسی ناکام ہوسکتی ہے اور نقصان کی وجہ سے دوبارہ واپسی ہوسکتی ہے
  2. مناسب N، M پیرامیٹرز کی ضرورت ہے، بہت بڑا یا چھوٹا ہے
  3. غلط سٹاپ وقت وقت میں نقصان کو روکنے کے قابل نہیں ہو سکتا

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

  1. رجحان کے اشارے کے ساتھ مل کر رجحان کی تجارت سے بچنے کے لئے
  2. پیرامیٹرز کی متحرک ایڈجسٹمنٹ N، M
  3. سٹاپ نقصان کے طریقہ کار کو بہتر بنائیں

نتیجہ

یہ حکمت عملی شماریاتی K- لائن پیٹرن کے ذریعے قلیل مدتی تجارتی مواقع کو حاصل کرتی ہے۔ مستحکم منافع کے لئے معقول پیرامیٹر ٹیوننگ اور رسک کنٹرول کے اقدامات بہت ضروری ہیں۔ رجحان تجزیہ اور متحرک پیرامیٹر ایڈجسٹمنٹ کو جوڑنے میں مزید بہتری سے اس سے بھی بہتر کارکردگی کا مظاہرہ ہوسکتا ہے۔


/*backtest
start: 2023-11-13 00:00:00
end: 2023-11-20 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

// Strategy
strategy("Up/Down Short Strategy", overlay=true, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash)

// There will be no short entries, only exits from long.
strategy.risk.allow_entry_in(strategy.direction.short)

consecutiveBarsUp = input(1, title='Consecutive Bars Up')
consecutiveBarsDown = input(1, title='Consecutive Bars Down')

price = close

ups = 0.0
ups := price > price[1] ? nz(ups[1]) + 1 : 0

dns = 0.0
dns := price < price[1] ? nz(dns[1]) + 1 : 0

// Strategy Backtesting
startDate  = input(timestamp("2021-01-01T00:00:00"), type = input.time, title='Backtesting Start Date')
finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time, title='Backtesting End Date')

time_cond  = true

//Time Restriction Settings
startendtime = input("", title='Time Frame To Enter Trades')
enableclose = input(false, title='Enable Close Trade At End Of Time Frame')
timetobuy = (time(timeframe.period, startendtime))
timetoclose = na(time(timeframe.period, startendtime))

// Stop Loss & Take Profit Tick Based
enablesltp = input(false, title='Enable Take Profit & Stop Loss')
stopTick = input(5.0, title='Stop Loss Ticks', type=input.float) / 100
takeTick = input(10.0, title='Take Profit Ticks', type=input.float) / 100

longStop = strategy.position_avg_price - stopTick
shortStop = strategy.position_avg_price + stopTick
shortTake = strategy.position_avg_price - takeTick
longTake = strategy.position_avg_price + takeTick

plot(strategy.position_size > 0 and enablesltp ? longStop : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Long Fixed SL")
plot(strategy.position_size < 0 and enablesltp ? shortStop : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Short Fixed SL")
plot(strategy.position_size > 0 and enablesltp ? longTake : na, style=plot.style_linebr, color=color.green, linewidth=1, title="Long Take Profit")
plot(strategy.position_size < 0 and enablesltp ? shortTake : na, style=plot.style_linebr, color=color.green, linewidth=1, title="Short Take Profit")

// Alert messages
message_enterlong  = input("", title="Long Entry message")
message_entershort = input("", title="Short Entry message")
message_closelong = input("", title="Close Long message")
message_closeshort = input("", title="Close Short message")
message_takeprofit = input("", title="Take Profit message")
message_stoploss = input("", title="Stop Loss message")

// Strategy Execution
if (ups >= consecutiveBarsUp) and time_cond and timetobuy
    strategy.entry("Long", strategy.long, stop = high + syminfo.mintick, alert_message = message_enterlong)
    
if (dns >= consecutiveBarsDown) and time_cond and timetobuy
    strategy.entry("Short", strategy.short, stop = low + syminfo.mintick, alert_message = message_entershort)
    
if strategy.position_size > 0 and timetoclose and enableclose
    strategy.close_all(alert_message = message_closelong)
if strategy.position_size < 0 and timetoclose and enableclose
    strategy.close_all(alert_message = message_closeshort)
    
if strategy.position_size > 0 and enablesltp and time_cond
    strategy.exit(id="Close Long", stop=longStop, limit=longTake, alert_message = message_takeprofit)
if strategy.position_size < 0 and enablesltp and time_cond
    strategy.exit(id="Close Short", stop=shortStop, limit=shortTake, alert_message = message_stoploss)






مزید