
یہ حکمت عملی ٹریڈنگ سگنل پیدا کرنے کے لئے متحرک مقدار کے وقفے پر مبنی ہے ، جس کا بنیادی خیال یہ ہے کہ قیمتوں کی نقل و حرکت کو ایک مقررہ وقت کے دوران دیکھا جائے ، اور قیمتوں میں رجحان کی تبدیلی کا اندازہ لگانے کے لئے متحرک مقدار کے وقفے پر۔
یہ حکمت عملی قیمتوں میں اضافے کا اندازہ لگانے کے لئے ایک مخصوص وقت کے دوران قیمتوں کی بلند ترین اور کم ترین قیمتوں کا حساب لگاتی ہے ، یعنی محور اعلی اور محور کم قیمت۔
خاص طور پر ، حکمت عملی ماضی کی N روٹ K لائن کی اعلی ترین قیمت کو محور اعلی اور ماضی کی M روٹ K لائن کی کم ترین قیمت کو محور کم کے طور پر شمار کرتی ہے۔ جب موجودہ K لائن کی اونچائی محور اونچائی سے تجاوز کرتی ہے تو ، ایک کثیر سگنل پیدا ہوتا ہے۔ جب موجودہ K لائن کی نچلی سطح محور کم سے نیچے آجاتی ہے تو ، ایک خالی سگنل پیدا ہوتا ہے۔
زیادہ اور کم کرنے کے بعد ، حکمت عملی اے ٹی آر کا استعمال روکنے کے لئے کرتی ہے اور دن کے اندر مرحلہ وار روکتی ہے۔ اس کے علاوہ ، حکمت عملی مخصوص وقت کے اندر اندر (مثال کے طور پر 14: 55) تمام پوزیشنوں کو بھی صاف کرتی ہے۔
اس حکمت عملی میں قیمتوں میں کسی خاص وقت کی حد میں ہونے والے وقفوں کا آسانی سے اور مؤثر طریقے سے فائدہ اٹھایا جاتا ہے تاکہ رجحانات کو پکڑنے کے ل.
مناسب طریقے سے ایڈجسٹ کیا جا سکتا ہے وقت کی حد، یا دوسرے اشارے کے مجموعہ میں داخلہ وقت کا تعین کرنے
پیرامیٹرز کو مناسب طریقے سے ایڈجسٹ کیا جاسکتا ہے ، یا فلٹرنگ شرائط کو شامل کیا جاسکتا ہے ، جیسے رجحان اشارے ، ٹرانزیکشن حجم وغیرہ۔
پوزیشن کا سائز ایڈجسٹ کر سکتے ہیں، یا مناسب طریقے سے پوزیشن کی مدت میں توسیع
مختلف مارکیٹ کے حالات کے مطابق پیرامیٹرز کو ایڈجسٹ کریں ، یا مشین لرننگ جیسے طریقوں کو خود بخود بہتر بنائیں
دیگر قیمتوں کے اعداد و شمار کی کوشش کریں، مثال کے طور پر عام قیمت، اوسط قیمت، وغیرہ
فلٹرنگ کی شرائط جیسے زیادہ ٹرانزیکشن یا اتار چڑھاؤ
مختلف پیرامیٹرز کی کوشش کریں
ٹرینڈ اشارے کے ساتھ ٹرینڈ کی سمت کا تعین
مشین سیکھنے کے طریقوں کا استعمال کرتے ہوئے پیرامیٹرز کو خود کار طریقے سے بہتر بنائیں
ایک بار جب آپ نے اپنے آپ کو ایک بار پھر اپنے آپ کو ایک بار پھر اپنے آپ کو تبدیل کر دیا ہے، تو آپ کو ایک بار پھر اپنے آپ کو تبدیل کرنا ہوگا.
اس حکمت عملی کی مجموعی سوچ واضح اور جامع ہے ، جس میں قیمتوں میں متحرک توڑ کا موثر استعمال کرکے قلیل مدتی رجحانات کو پکڑنے کے لئے اعلی منافع کا عنصر حاصل کیا گیا ہے۔ اس حکمت عملی میں کم پیرامیٹرز ہیں ، جن کی جانچ اور اصلاح کرنا آسان ہے ، اور یہ دن کے اندر مختصر لائن آپریشن کے لئے موزوں ہے۔ اگرچہ کچھ حد تک تاخیر اور جھوٹے سگنل کے مسائل موجود ہیں ، لیکن اس میں پیرامیٹرز کو ایڈجسٹ کرنے ، فلٹرنگ شرائط شامل کرنے اور اس طرح کے طریقوں سے بہتری لائی جاسکتی ہے۔ اس حکمت عملی نے ہمیں ایک موثر تجارتی فریم ورک فراہم کیا ہے جس میں بریک خیالات پر مبنی ہے۔
/*backtest
start: 2022-10-27 00:00:00
end: 2023-11-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// ____________ _________ _____________
// |____________| ||________| ||__________|
// || || || ||
// || ||________|| ||
// || H E ||________ U L L || H A R T I S T
// || || || ||
// || ||________|| ||__________
// || ||________| ||__________|
//@version=5
// strategy("PIVOT STRATEGY [5MIN TF]",overlay=true ,commission_type = strategy.cash, commission_value = 30 , slippage = 2, default_qty_value = 60, currency = currency.NONE, pyramiding = 0)
leftbars = input(defval = 10)
rightbars = input(defval = 15)
// ═══════════════════════════ //
// ——————————> INPUTS <——————— //
// ═══════════════════════════ //
EMA1 = input.int(title='PRICE CROSS EMA', defval = 150, minval = 10 ,maxval = 400)
factor1 = input.float(title='_ATR LONG',defval = 3.2 , minval = 1 , maxval = 5 , step = 0.1, tooltip = "ATR TRAIL LONG")
factor2 = input.float(title='_ATR SHORT',defval = 3.2 , minval = 1 , maxval = 5 , step = 0.1, tooltip = "ATR TRAIL SHORT")
risk = input.float(title='RISK',defval = 200 , minval = 1 , maxval = 5000 , step = 50, tooltip = "RISK PER TRADE")
var initialCapital = strategy.equity
t = time(timeframe.period, '0935-1400:1234567')
time_cond = true
// ══════════════════════════════════ //
// ———————————> EMA DATA <——————————— //
// ══════════════════════════════════ //
ema1 = ta.ema(close, EMA1)
plot(ema1, color=color.new(color.yellow, 0), style=plot.style_linebr, title='ema1')
// ══════════════════════════════════ //
// ————————> TRAIL DATA <———————————— //
// ══════════════════════════════════ //
// *******Calculate LONG TRAIL data*****
ATR_LO = ta.atr(14)*factor1
// *******Calculate SHORT TRAIL data*****
ATR_SH = ta.atr(14)*factor2
longStop = close - ATR_LO
shortStop = close + ATR_SH
// Plot atr data
//plot(longStop, color=color.new(color.green, 0), style=plot.style_linebr, title='Long Trailing Stop')
//plot(shortStop , color=color.new(color.red, 0), style=plot.style_linebr, title='Short Trailing Stop')
// ══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ //
// ————————————————————————————————————————————————————————> PIVOT DATA <———————————————————————————————————————————————————————————————————————————————————————————————————— //
// ══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ //
ph = ta.pivothigh(close,leftbars, rightbars)
pl = ta.pivotlow(close,leftbars, rightbars)
pvt_condition1 = not na(ph)
upper_price = 0.0
upper_price := pvt_condition1 ? ph : upper_price[1]
pvt_condition2 = not na(pl)
lower_price = 0.0
lower_price := pvt_condition2 ? pl : lower_price[1]
// Signals
long = ta.crossover(high, upper_price + syminfo.mintick)
short = ta.crossunder(low, lower_price - syminfo.mintick)
plot(upper_price, color= close > ema1 ? color.green : na, style=plot.style_line, title='PH')
plot(lower_price, color= close < ema1 ? color.red : na, style=plot.style_line, title='PL')
// ══════════════════════════════════//
// ————————> LONG POSITIONS <————————//
// ══════════════════════════════════//
//******barinstate.isconfirmed used to avoid repaint in real time*******
if ( long and strategy.opentrades==0 and barstate.isconfirmed and time_cond and close >= ema1 )
strategy.entry(id= "Long" ,direction = strategy.long, comment = "B")
//plot(longStop , color=color.new(color.blue, 0), style=plot.style_linebr, title='long Stop')
if strategy.position_size > 0
strategy.exit("long tsl", "Long" , stop = longStop ,comment='S')
// ═════════════════════════════════════//
// ————————> SHORT POSITIONS <————————— //
// ═════════════════════════════════════//
if ( short and strategy.opentrades==0 and barstate.isconfirmed and time_cond and close <= ema1 )
strategy.entry(id = "Short" ,direction = strategy.short, comment = "S")
if strategy.position_size < 0
strategy.exit("short tsl", "Short" , stop = shortStop ,comment='B')
// ════════════════════════════════════════════════//
// ————————> CLOSE ALL POSITIONS BY 3PM <————————— //
// ════════════════════════════════════════════════//
strategy.close_all(when = hour == 14 and minute == 55)
// ════════════════════════════════════════//
// ————————> MAX INTRADAY LOSS <————————— //
// ════════════════════════════════════════//
// strategy.risk.max_intraday_loss(type = strategy.cash, value = risk)