ডাবল মোমবাতি দ্রুত সুইং কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৩-০৯-১১ ১৫ঃ১২ঃ০৮
ট্যাগঃ

এই কৌশলটি দৈনিক ভলিউম পরিবর্তনের গণনা এবং 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 )



আরো