کل کے اعلی بریک آؤٹ رجحان کی پیروی کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-10-08 14:06:55
ٹیگز:

جائزہ

یہ حکمت عملی پچھلے تجارتی دن کی اعلیٰ سطح پر مبنی ہے ، جو رجحان کے مطابق کام کرتی ہے۔ یہ کل کی اعلیٰ سطح کو توڑنے پر طویل عرصے تک چلتی ہے ، یہاں تک کہ اگر ایک دن میں متعدد توڑ پڑتے ہیں۔

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

  1. بیک ٹسٹنگ میں لوک ہیڈ تعصب سے بچنے کے لئے LucF فنکشن کا استعمال کریں۔

  2. اس بات کی نشاندہی کریں کہ آیا یہ ایک نیا تجارتی دن کھلا ہے۔ دن کا اعلی max_today اور کم min_today ریکارڈ کریں۔

  3. max_today کے ساتھ موجودہ اعلی کا موازنہ کریں، اگر زیادہ ہو تو max_today کو اپ ڈیٹ کریں.

  4. موازنہ موجودہ کم سے min_today، اپ ڈیٹ min_today خلاف ورزی کی صورت میں.

  5. پچھلے ٹریڈنگ دن کی اعلی اور کم سطحوں کو دکھائیں.

  6. پچھلے دن کی بلند ترین سطح سے باہر نکلنے پر اندراج کا نقطہ مقرر کریں، GAP کو آگے بڑھانے یا اندراج میں تاخیر کرنے کے لئے شامل کیا جا سکتا ہے۔

  7. سٹاپ نقصان فی صد sl اور منافع فی صد tp لے مقرر کریں.

  8. جب قیمت پچھلے ٹریڈنگ دن کی اونچائی کو توڑتی ہے تو طویل ہوجائیں۔

  9. سٹاپ نقصان کی قیمت مقرر کریں اور منافع کی قیمت لے لو.

  10. اختیاری طور پر ٹرائل سٹاپ نقصان کو فعال کریں، چالو کرنے کی سطح اور آفسیٹ فاصلے کے ساتھ۔

  11. اختیاری طور پر EMA کراس اوور کی بنیاد پر تجارت بند کریں.

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

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

  1. واضح اور براہ راست سگنل جنریشن۔ لاگو کرنا آسان ہے۔

  2. پچھلے دن کی بلند ترین سطح سے باہر نکلنے سے رجحان کی تصدیق ہوتی ہے، جس سے ہلچل کم ہوتی ہے۔

  3. GAP پیرامیٹر داخلہ حساسیت کو ایڈجسٹ کرنے کی اجازت دیتا ہے.

  4. مجموعی خطرہ واضح سٹاپ نقصان کے ساتھ کنٹرول کیا جاتا ہے.

  5. ٹریلنگ سٹاپ زیادہ منافع میں مقفل کرنے کے لئے استعمال کیا جا سکتا ہے.

  6. ای ایم اے کراس اوور نیچے کے رجحانات میں پھنسنے سے بچتا ہے۔

خطرے کا تجزیہ

کچھ خطرات ہیں جن کا نوٹ کرنا ضروری ہے:

  1. ناکام فرار نقصانات کا سبب بن سکتا ہے۔ معقول سٹاپ نقصان کی ضرورت ہے۔

  2. رجحانات کی مارکیٹ کی ضرورت ہوتی ہے. whipsaws ممکنہ طور پر مختلف حالات میں.

  3. غلط ٹریننگ سٹاپ جلد ہی روک دیا جا سکتا ہے.

  4. EMA پیرامیٹر کا غلط انتخاب اسے بہت حساس یا پسماندہ بنا سکتا ہے۔

  5. متعدد متغیرات کو ٹیوننگ کی ضرورت ہے جیسے گیپ، سٹاپ نقصان، ٹریلنگ سٹاپ وغیرہ

بہتری کے مواقع

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

  1. اے ٹی آر یا رجحان کی بنیاد پر متحرک سٹاپ نقصان کا استعمال کریں۔

  2. معیاری انحراف کا استعمال کرتے ہوئے درست بریک آؤٹ کے لئے فلٹر شامل کریں.

  3. غیر مستحکم مارکیٹوں میں جھوٹے بریک آؤٹ سے بچنے کے لئے اتار چڑھاؤ کی شرط شامل کریں.

  4. زیادہ مضبوط سگنل کے لئے EMA پیرامیٹر کو بہتر بنائیں.

  5. مارکیٹ کی اتار چڑھاؤ سے ملنے کے لئے ٹھیک ٹون ٹریلنگ سٹاپ پیرامیٹرز.

  6. مختلف آلات میں پیرامیٹر کی مضبوطی کی جانچ کریں۔

  7. متحرک پوزیشن سائزنگ میکانزم شامل کریں.

نتیجہ

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


/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-07 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
// © TheSocialCryptoClub

//@version=5

strategy("Yesterday's High", overlay=true, pyramiding = 1,
         initial_capital=10000, 
         default_qty_type=strategy.percent_of_equity, default_qty_value=10,
         slippage=1, backtest_fill_limits_assumption=1, use_bar_magnifier=true,
         commission_type=strategy.commission.percent, commission_value=0.075
         )

// -----------------------------------------------------------------------------
// ROC Filter
// -----------------------------------------------------------------------------

// f_security function by LucF for PineCoders available here: https://www.tradingview.com/script/cyPWY96u-How-to-avoid-repainting-when-using-security-PineCoders-FAQ/
f_security(_sym, _res, _src, _rep) => request.security(_sym, _res, _src[not _rep and barstate.isrealtime ? 1 : 0])[_rep or barstate.isrealtime ? 0 : 1]
high_daily = f_security(syminfo.tickerid, "D", high, false)

roc_enable = input.bool(false, "", group="ROC Filter from CloseD", inline="roc")
roc_threshold = input.float(1, "Treshold", step=0.5, group="ROC Filter from CloseD", inline="roc")

closed = f_security(syminfo.tickerid,"1D",close, false)
roc_filter= roc_enable ? (close-closed)/closed*100  > roc_threshold  : true


// -----------------------------------------------------------------------------
// Trigger Point 
// -----------------------------------------------------------------------------

open_session = ta.change(time('D'))
price_session = ta.valuewhen(open_session, open, 0)
tf_session = timeframe.multiplier <= 60

bgcolor(open_session and tf_session ?color.new(color.blue,80):na, title = "Session")

first_bar = 0
if open_session
    first_bar := bar_index

var max_today = 0.0
var min_today = 0.0
var high_daily1 = 0.0
var low_daily1 = 0.0
var today_open = 0.0

if first_bar
    high_daily1 := max_today
    low_daily1 := min_today
    today_open := open
    max_today := high
    min_today := low


if high >= max_today
    max_today := high

if low < min_today
    min_today := low


same_day  = today_open == today_open[1]

plot( timeframe.multiplier <= 240 and same_day ? high_daily1 : na, color= color.yellow , style=plot.style_linebr, linewidth=1, title='High line')
plot( timeframe.multiplier <= 240 and same_day ? low_daily1 : na, color= #E8000D , style=plot.style_linebr, linewidth=1, title='Low line')

// -----------------------------------------------------------------------------
// Strategy settings 
// -----------------------------------------------------------------------------

Gap = input.float(1,"Gap%", step=0.5, tooltip="Gap di entrata su entry_price -n anticipa entrata, con +n posticipa entrata", group = "Entry")
Gap2 = (high_daily1 * Gap)/100

sl  = input.float(3, "Stop-loss", step= 0.5,  group = "Entry")
tp  = input.float(9, "Take-profit", step= 0.5, group = "Entry")
stop_loss_price = strategy.position_avg_price * (1-sl/100)
take_price = strategy.position_avg_price * (1+tp/100)

sl_trl = input.float(2, "Trailing-stop", step = 0.5, tooltip = "Attiva trailing stop dopo che ha raggiunto...",group = "Trailing Stop Settings")//group = "Trailing Stop Settings")
Atrl= input.float(1, "Offset Trailing", step=0.5,tooltip = "Distanza dal prezzo", group = "Trailing Stop Settings")
stop_trl_price_cond = sl_trl * high/syminfo.mintick/100
stop_trl_price_offset_cond = Atrl * high/syminfo.mintick/100

stop_tick = sl * high/syminfo.mintick/100
profit_tick = tp * high/syminfo.mintick/100

mess_buy = "buy"
mess_sell = "sell"

// -----------------------------------------------------------------------------
// Entry - Exit - Close
// -----------------------------------------------------------------------------

if close < high_daily1 and roc_filter
    strategy.entry("Entry", strategy.long, stop = high_daily1 + (Gap2), alert_message = mess_buy)

ts_n  = input.bool(true, "Trailing-stop", tooltip = "Attiva o disattiva trailing-stop", group = "Trailing Stop Settings")
close_ema = input.bool(false, "Close EMA", tooltip = "Attiva o disattiva chiusura su EMA", group = "Trailing Stop Settings")
len1 = input.int(10, "EMA length", step=1, group = "Trailing Stop Settings")
ma1 = ta.ema(close, len1)

plot(ma1, title='EMA', color=color.new(color.yellow, 0))

if ts_n == true
    strategy.exit("Trailing-Stop","Entry",loss= stop_tick, stop= stop_loss_price, limit= take_price, trail_points = stop_trl_price_cond, trail_offset = stop_trl_price_offset_cond, comment_loss="Stop-Loss!!",comment_profit ="CASH!!", comment_trailing = "TRL-Stop!!", alert_message = mess_sell)
else
    strategy.exit("TP-SL", "Entry",loss= stop_tick, stop=stop_loss_price, limit= take_price, comment_loss= "Stop-loss!!!", comment_profit = "CASH!!", alert_message = mess_sell)

if close_ema == true and ta.crossunder(close,ma1)
    strategy.close("Entry",comment = "Close" , alert_message = mess_sell)



مزید