ڈبل موم بتی ریپڈ سوئنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-09-11 15:12:08
ٹیگز:

اس حکمت عملی میں روزانہ حجم کی تبدیلی اور NVI اشارے کے حساب سے مختصر مدت کے بازار میں اتار چڑھاؤ کی تجارت کا مجموعہ شامل ہے۔

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

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

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


/*backtest
start: 2022-09-04 00:00:00
end: 2023-09-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ //

strategy(title = "Strategy Only 2 Candles",
         shorttitle = "SO2C",
         overlay = true,
         precision = 8,
         calc_on_order_fills = true,
         calc_on_every_tick = true,
         backtest_fill_limits_assumption = 0,
         default_qty_type = strategy.percent_of_equity,
         default_qty_value = 100,
         initial_capital = 1000,
         currency = currency.USD,
         linktoseries = true)

//
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ //

backTestSectionFrom = input(title = "═════════ DESDE ════════", defval = true, type = input.bool)

FromMonth       = input(defval = 1, title = "Mes", minval = 1)
FromDay         = input(defval = 1, title = "Dia", minval = 1)
FromYear        = input(defval = 2018, title = "Año", minval = 2014)

backTestSectionTo = input(title = "═════════ HASTA ════════", defval = true, type = input.bool)
ToMonth         = input(defval = 31, title = "Mes", minval = 1)
ToDay           = input(defval = 12, title = "Dia", minval = 1)
ToYear          = input(defval = 9999, title = "Año", minval = 2014)

backTestPeriod() => (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59))

//
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ //

nvi = 0.0
nvi := iff(volume < volume[1], nz(nvi[1]) + (close - close[1]) / close[1], nz(nvi[1]))
nvim = ema(nvi, 15)
nvimax = highest(nvim, 90)
nvimin = lowest(nvim, 90)
azul = (nvi - nvim) * 100 / (nvimax - nvimin)

// VARIABLES
var compra_activada = 0
var compra = true
var compra_1 = true
var cerrar_compra= 0
var venta_activada = 0
var venta = true
var venta_1 = true
var cerrar_venta= 0

// COMPRA
compra := azul > azul[1] and azul > 0 and azul[1] < 0
if (compra == 1 )
    compra_activada := 1

// CIERRE COMPRA
cerrar_compra :=  compra_activada[2] == 1 ? 1 : 0
if (cerrar_compra == 1)
    compra_activada := 0

// VENTA
venta := azul < azul[1] and azul < 0 and azul[1] > 0 
if (venta == 1 )
    venta_activada := 1
    
// CIERRE COMPRA
cerrar_venta :=  venta_activada[2] == 1 ? 1 : 0
if (cerrar_venta == 1)
    venta_activada := 0

// ESTRATEGIA
if (backTestPeriod())
    strategy.entry("Compra", true, when = compra == 1  )
    strategy.entry("Venta", false, when = venta == 1  )
    strategy.close("Compra", when = cerrar_compra == 1 )
    strategy.close("Venta", when = cerrar_venta == 1 )



مزید