رجحان کی پیروی کرنے والی موونگ ایوریج کینڈل سٹک گنتی کی حکمت عملی


تخلیق کی تاریخ: 2023-09-16 19:04:02 آخر میں ترمیم کریں: 2023-09-16 19:04:02
کاپی: 0 کلکس کی تعداد: 880
1
پر توجہ دیں
1617
پیروکار

جائزہ

اس مضمون میں ایک K لائن گنتی پر مبنی پیروی کرنے والی رجحان کی حکمت عملی کا تعارف کیا جائے گا۔ یہ حکمت عملی K لائن کی سمت کی شماریات کے ذریعے ، مارکیٹ کی حرکت کا فیصلہ کرتی ہے ، اور فکسڈ روٹ K لائن کے بعد داخل ہوتی ہے۔

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

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

  1. K لائن کی سمت کا اندازہ لگائیں اور اس کے بارے میں فیصلہ کریں۔ Bias ◄ جب N جڑیں مسلسل K لائن کی سمت میں ایک ہی وقت میں ہوتی ہیں تو ، فیصلہ رجحان کی تشکیل ◄

  2. اوپر کی طرف رجحان میں ، جب N جڑیں لگاتار زین لائن ظاہر ہوتی ہیں تو زیادہ کام کریں۔ نیچے کی طرف رجحان میں ، جب N جڑیں لگاتار یان لائن ظاہر ہوتی ہیں تو خالی کریں۔

  3. N کی چھوٹی مقدار حکمت عملی کو تیزی سے رجحانات پر قبضہ کرنے میں مدد دیتی ہے۔ لیکن N کی چھوٹی مقدار بھی جھٹکے والی مارکیٹوں کی طرف سے گمراہ ہونے میں زیادہ آسانی سے ہے۔

  4. منافع کو لاک کرنے اور خطرے کو کنٹرول کرنے کے لئے فکسڈ اسٹاپ اسٹاپ نقصان کا نقطہ مقرر کیا جاسکتا ہے۔

  5. جب ریورس K لائن ظاہر ہوتی ہے تو ، پوزیشن کو صاف کرنا بند ہوجاتا ہے۔

طاقت کا تجزیہ

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

  1. K لائن کا استعمال کرتے ہوئے رجحانات کا اندازہ لگانے کے لئے، سادہ، براہ راست، آسان آپریشن.

  2. اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس میں بہت سے لوگ شامل ہیں ، جن میں سے بہت سے لوگوں نے اپنی زندگیوں میں تبدیلیاں کی ہیں۔

  3. فکسڈ اسٹاپ نقصان کی پوزیشن ، جو خطرے کو مؤثر طریقے سے کنٹرول کرتی ہے۔

  4. K لائن گنتی پیرامیٹرز مختلف مارکیٹ کے حالات کے لئے قابل اطلاق ہیں.

  5. حکمت عملی کے خیالات سادہ اور واضح ہیں، آسانی سے نظر ثانی اور بہتر بنانے کے لئے.

خطرے کا تجزیہ

اس حکمت عملی میں کچھ خطرات بھی ہیں:

  1. زلزلے کے حالات میں، K لائن گنتی غلط سگنل دے سکتا ہے.

  2. فکسڈ اسٹاپ نقصان کا نقطہ بہت زیادہ سخت ہوسکتا ہے اور اس سے زیادہ منافع نہیں مل سکتا ہے۔

  3. ریورس سگنل کا غلط فیصلہ وقت سے پہلے بند ہونے کا سبب بن سکتا ہے۔

  4. پیرامیٹرز کو مناسب طریقے سے ایڈجسٹ کریں اور پوزیشن کے سائز کو کنٹرول کریں۔

  5. تاجر کو محتاط اندازہ لگانے کی ضرورت ہے کہ آیا گنتی کے پیرامیٹرز معقول ہیں۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-08-16 00:00:00
end: 2023-09-15 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//@author=Daveatt

StrategyName = "BEST Candle Meter Strategy"
ShortStrategyName = "BEST Candle Meter Strategy"

// strategy(title=StrategyName, shorttitle=ShortStrategyName, overlay=true, 
//  pyramiding=0, default_qty_value=100, precision=7, currency=currency.USD,
//  commission_value=0.2,commission_type=strategy.commission.percent, initial_capital=10000)

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////// INPUTS ///////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

// TD Sequential approach would be setting bar_counter == 9
bar_counter = input(5, "Bar Counter",minval=1, step=1)

// if based on same candle
GreenCandle = close > open
RedCandle = close < open

// if based on previous candle open
GreenPrevCandle = close > open[1]
RedPrevCandle = close < open[1]

// conditons
barUP = GreenCandle
barDN = RedCandle

///////////////////////////////////////////////////////////////////////////////
////////////////////////////// COUNTERS ///////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
var barsFromUp = 0
var barsFromDn = 0
barsFromUp := barUP ? barsFromUp + 1 : 0
barsFromDn := barDN ? barsFromDn + 1 : 0

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////// PLOTS ///////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

plot_color = barsFromUp > 0 ? color.lime : color.red
//plot(barsFromUp, title="UP Histogram", color=plot_color, style=plot.style_histogram, linewidth=4)
//plot(barsFromDn, title="DN Histogram", color=plot_color, style=plot.style_histogram, linewidth=4)

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////// HLINE ///////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

//hline(9, '9 TD Sequential Line', linestyle=hline.style_solid, linewidth=2, color=color.black)
//hline(13, '12 TD Sequential Line', linestyle=hline.style_solid, linewidth=3, color=color.purple)

///////////////////////////////////////////////////////////////////////////////
/////////////////////////////// PLOTCHAR //////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

// var _lbl_UP = label(na)
// if barsFromUp > 0
//     _lbl_UP := label.new(bar_index, close, tostring(barsFromUp, '#'), textcolor=color.green, style=label.style_none, yloc=yloc.price, xloc=xloc.bar_index, size=size.normal)

// var _lbl_DN = label(na)
// if barsFromDn > 0
//     _lbl_DN := label.new(bar_index, close, tostring(barsFromDn, '#'), textcolor=color.red, style=label.style_none, yloc=yloc.price, xloc=xloc.bar_index, size=size.normal)


//plotshape(barsFromUp > 0, "", shape.arrowup,      location.abovebar, color.green,     text="A")

///////////////////////////////////////////////////////////////////////////////
/////////////////////////////// ALERTS ////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

// alertcondition(barsFromUp == 9, title='🔔Sell 9 Alert🔔', message="Sell 9 Alert")
// alertcondition(barsFromDn == 9, title='🔔Buy 9 Alert🔔', message='Buy 9 Alert')
// alertcondition(barsFromUp > 9, title='🔔Sell > 9 Alert🔔', message="Sell > 9 Alert")
// alertcondition(barsFromDn > 9, title='🔔Buy > 9 Alert🔔', message='Buy > 9 Alert')

///////////////////////////////////////////////
//* Backtesting Period Selector | Component *//
///////////////////////////////////////////////


StartYear = input(2017, "Backtest Start Year",minval=1980)
StartMonth = input(1, "Backtest Start Month",minval=1,maxval=12)
StartDay = input(1, "Backtest Start Day",minval=1,maxval=31)
testPeriodStart = timestamp(StartYear,StartMonth,StartDay,0,0)

StopYear = input(2020, "Backtest Stop Year",minval=1980)
StopMonth = input(12, "Backtest Stop Month",minval=1,maxval=12)
StopDay = input(31, "Backtest Stop Day",minval=1,maxval=31)
testPeriodStop = timestamp(StopYear,StopMonth,StopDay,0,0)

testPeriod() => true

isLong  = barsFromUp == bar_counter
isShort = barsFromDn == bar_counter

long_entry_price    = valuewhen(isLong, close, 0)
short_entry_price   = valuewhen(isShort, close, 0)

sinceNUP = barssince(isLong)
sinceNDN = barssince(isShort)

buy_trend   = sinceNDN > sinceNUP
sell_trend  = sinceNDN < sinceNUP

//////////////////////////
//* Profit Component *//
//////////////////////////

//////////////////////////// MinTick ///////////////////////////
fx_pips_value = syminfo.type == "forex" ? syminfo.mintick*10 : 1

input_tp_pips = input(60, "Backtest Profit Goal (in USD)",minval=0)*fx_pips_value
input_sl_pips = input(30, "Backtest STOP Goal (in USD)",minval=0)*fx_pips_value

tp = buy_trend? long_entry_price + input_tp_pips : short_entry_price - input_tp_pips
sl = buy_trend? long_entry_price - input_sl_pips : short_entry_price + input_sl_pips

plot_tp = buy_trend and high[1] <= tp ? tp : sell_trend and low[1] <= tp ? tp : na
plot_sl = buy_trend and low[1] >= sl ? sl : sell_trend and high[1] >= sl ? sl : na

plot(plot_tp, title="TP", style=plot.style_circles, linewidth=3, color=color.blue)
plot(plot_sl, title="SL", style=plot.style_circles, linewidth=3, color=color.red)

longClose   = isShort
shortClose  = isLong

if testPeriod()
    strategy.entry("Long", 1, when=isLong)
    strategy.close("Long", when=longClose )
    strategy.exit("XL","Long", limit=tp,  when=buy_trend, stop=sl)

if testPeriod()
    strategy.entry("Short", 0,  when=isShort)
    strategy.close("Short", when=shortClose )
    strategy.exit("XS","Short", when=sell_trend, limit=tp, stop=sl)