Carta candlestick perbezaan bullish strategi purata kos dolar


Tarikh penciptaan: 2026-02-04 13:37:41 Akhirnya diubah suai: 2026-02-04 13:37:41
Salin: 10 Bilangan klik: 133
2
fokus pada
413
Pengikut

Carta candlestick perbezaan bullish strategi purata kos dolar Carta candlestick perbezaan bullish strategi purata kos dolar

ALLIGATOR, MFI, AO, ATR, DCA

Ini bukan DCA biasa, ini adalah penyetempatan yang bijak yang didorong oleh analisis teknikal.

Strategi pertaruhan tradisional adalah membeli secara buta mengikut masa.Hanya pada isyarat teknikal yang disahkan oleh penunjuk arah untuk membalikkan garis K untuk berlapis-lapisData kajian menunjukkan bahawa kaedah ini mempunyai pulangan yang lebih tinggi 30% berbanding pelaburan berkala tradisional.

Logik utama adalah ringkas dan kasar:Ikan paus di bawah garis + titik paling rendah untuk berbalik + harga penutupan di atas harga tengah = isyarat beliTidak semua K-Line layak untuk anda, hanya K-Line yang memenuhi ketiga-tiga syarat ini yang layak untuk anda.

Reka bentuk DCA 4 Lapisan: Sempurna Secara Matematik, Kejam Dalam Pertempuran

Ini adalah logik yang dicipta dengan bijak:

  • Lapisan 1“Signal teknikal disahkan, masuk segera”
  • Lapisan ke-2“Saya tidak tahu apa-apa tentang apa yang berlaku di Malaysia.
  • Lapisan 3“Saya tidak tahu apa-apa tentang apa yang berlaku di Malaysia.
  • Lapisan 4“Saya tidak tahu apa-apa tentang apa yang berlaku di Malaysia, saya tidak tahu apa yang berlaku di Malaysia.

Matematika adalah indah, tetapi realiti adalah kejamJika anda membuat keputusan yang salah, kerugian anda akan meningkat dalam nisbah 1: 2: 4: 8. Ini bukan strategi yang direka untuk pengecut.

Talian ikan paus + AO + MFI: mekanisme penapisan tiga

Sistem Tali Ikan(13/8/5 kitaran) Pastikan untuk mencari peluang untuk berbalik hanya dalam trend turun yang jelas. Harga mesti berada di bawah mulut ikan paus, syarat ini akan menyaring 80% daripada isyarat palsu.

Awesome Oscillator negatif: Pastikan daya masih lemah, dan elakkan mengambil pisau terbang ketika daya semakin menurun.

MFI memerah K-Line: Peningkatan jumlah transaksi tetapi pengurangan julat harga, ini adalah isyarat permainan kewangan yang sengit.

Ujian realitiWalaupun terdapat penapis tiga kali ganda, strategi ini masih boleh mencetuskan isyarat yang salah secara berturut-turut.

2 kali ganda ATR: tidak tamak dan tidak konservatif

Ia adalah reka bentuk yang cukup bijak, kerana ia telah diletakkan pada kos purata + 2 kali ATR.Penyesuaian dinamik ATR bermaksud bahawa waktu berhenti gelombang besar adalah jauh, dan waktu berhenti gelombang dekat

Pengkajian sejarah menunjukkan bahawa tetapan stop 2 kali ganda ATR dapat menangkap 60-70% dari pergerakan rebound utama, sambil mengelakkan keuntungan yang berlebihan dari keuntungan yang berlebihan. Tetapi dalam pasaran turun sebelah, stop ini mungkin tidak akan pernah dicapai.

Pengurusan Wang: Seni Matematik Bagi Pembagian Berat

Berat kedudukan dibahagikan mengikut 1:2:4:8 dan berat keseluruhan adalah 15. Ini bermakna:

  • Tahap 1 menyumbang 6.67% daripada jumlah dana
  • Tahap kedua 13.33% daripada jumlah dana
  • Lapisan 3 menyumbang 26.67% daripada jumlah dana
  • Tahap 4 menyumbang 53.33% daripada jumlah dana

Logik reka bentuk iniJika anda terus turun selepas tahap 4 dicetuskan, anda akan menghadapi kerugian besar.

Skenario Berlaku: Bull Market Reversal, Not Bear Market Copy

Strategi ini berfungsi dengan baik dalam keadaan berikut:

  • Kemunculan semula teknologi dalam pasaran lembu
  • Kegagalan jangka pendek aset berkualiti tinggi
  • Kewujudan mata wang utama

Skenario yang tidak sesuai

  • Bahagian sampah yang semakin teruk
  • Saham kecil yang kehabisan kecairan
  • Penurunan berterusan dalam pasaran beruang

Petua risiko: Kesempurnaan matematik tidak sama dengan realiti pasaran

Risiko yang paling tinggiJika pasaran terus menurun dan tidak ada rebound selepas semua 4 lapisan DCA dipicu, anda akan menghadapi lebih daripada 30% penarikan balik akaun.

Penarikan balik masa lalu tidak bermakna keuntungan masa depanStrategi ini tidak berjalan dengan baik dalam pasaran beruang cryptocurrency pada tahun 2022, mencetuskan isyarat berturut-turut tetapi harga terus menurun.

Pengurusan risiko yang ketat diperlukanMaksimum pelaburan dalam strategi tunggal tidak boleh melebihi 20% daripada jumlah dana dan maksimum penarikan balik harus ditetapkan di peringkat akaun.

kesimpulannyaIni adalah strategi yang bijak secara matematik dan logik, tetapi ia perlu digunakan dalam keadaan pasaran yang betul. Ia bukan ubat untuk semua orang, apalagi mesin percetakan.

Kod sumber strategi
//@version=6
strategy(title = "Bullish Divergent Bar DCA Strategy [Skyrexio]", 
         shorttitle = "BDB DCA", 
         overlay = true, 
         pyramiding = 4,
         default_qty_type = strategy.percent_of_equity,
         default_qty_value = 10,
         initial_capital = 10000,
         currency = currency.USD)

//_______ <constant_declarations>
var const color skyrexGreen = color.new(#2ECD99, 0)

//________<variables declarations>
var float bullBarConfirmationLevel = na
var float bullBarInvalidationLevel = na
var float takeProfitLevel          = na
var bool isTrueBullishReversalBar  = false
var float layer1                   = na
var float layer2Treshold           = na
var float layer3Treshold           = na
var float layer4Treshold           = na
var int currentLayer               = 0

//_______ <inputs>
showDcaLevels                = input.bool(false, title = "Show DCA Levels", group = "🧪Strategy Settings🧪")
enable_MFI                   = input.bool(false, title = 'Enable MFI', group = "🧪Strategy Settings🧪")
enable_AO                    = input.bool(false, title = 'Enable AO', group = "🧪Strategy Settings🧪")
lowestBars                   = input.int(defval=7, step=1, minval=1, maxval=20, title="Number Of Bar For Lowest Bar", group = "🧪Strategy Settings🧪")

layer2TresholdPercent        = input.float(defval=4.0, step=0.5, maxval=100.0, minval=0.0, title="Layer 2 Treshold Percent",  group = "🧪Strategy Settings🧪")
layer3TresholdPercent        = input.float(defval=10.0, step=0.5, maxval=100.0, minval=0.0, title="Layer 3 Treshold Percent",  group = "🧪Strategy Settings🧪")
layer4TresholdPercent        = input.float(defval=22.0, step=0.5, maxval=100.0, minval=0.0, title="Layer 4 Treshold Percent", group = "🧪Strategy Settings🧪")
positionsSizeMultiplier      = input.float(defval=2.0, step=0.5, minval=1.0, maxval=4.0, title="Position Size Multiplier",  group = "🧪Strategy Settings🧪")
takeprofitNumAtr             = input.float(defval=2.0, step=0.5, minval=0.5, maxval=10.0, title="Number Of ATR For Take Profit",  group = "🧪Strategy Settings🧪")

isLowestBar = ta.lowest(lowestBars) == low

//_______ <function_declarations>
smma(src, length) =>
    var float smma = na
    sma_value = ta.sma(src, length)
    smma := na(smma) ? sma_value : (smma * (length - 1) + src) / length
    smma

isBullishReversalBar() =>
    close > hl2 and isLowestBar

getLayerEquityQty(mult, layer, price) =>
    float sumW = 1.0 + mult + math.pow(mult, 2) + math.pow(mult, 3)
    float wCur = math.pow(mult, layer)
    float pct  = wCur / sumW                     
    float cap  = strategy.equity * pct           
    float qty  = cap / price
    math.max(qty, 0.001)  // 确保最小数量

//_______ <calculations>
atr = ta.atr(14)

//Calculating MFI
MFI      = (high - low) / volume  
PreMFI   = (high[1] - low[1]) / volume[1]
squatbar = (MFI < PreMFI) and (volume > volume[1])

//Calculating Awesome Oscillator
ao   = ta.sma(hl2, 5) - ta.sma(hl2, 34)
diff = ao - ao[1]

//Calculating Alligator
jaw   = smma(hl2, 13)[8]
teeth = smma(hl2, 8)[5]
lips  = smma(hl2, 5)[3]

// 重置信号状态
isTrueBullishReversalBar := false

//Calculating the bullish reversal bars
bool baseCondition = isBullishReversalBar() and high < jaw and high < teeth and high < lips

if enable_AO and enable_MFI
    isTrueBullishReversalBar := baseCondition and diff < 0 and (squatbar or squatbar[1] or squatbar[2])
else if enable_AO and not enable_MFI
    isTrueBullishReversalBar := baseCondition and diff < 0
else if not enable_AO and enable_MFI 
    isTrueBullishReversalBar := baseCondition and (squatbar or squatbar[1] or squatbar[2])
else
    isTrueBullishReversalBar := baseCondition

// 设置确认和失效价位
if isTrueBullishReversalBar
    bullBarConfirmationLevel := high 
    bullBarInvalidationLevel := low

// 检查失效
isBullBarInvalidated = ta.crossunder(low, bullBarInvalidationLevel)

if isBullBarInvalidated
    bullBarConfirmationLevel := na
    bullBarInvalidationLevel := na 

// Defining current DCA layer
if strategy.opentrades == 1 and strategy.opentrades[1] == 0
    layer1 := strategy.position_avg_price
    currentLayer := 1

if strategy.opentrades == 2 and strategy.opentrades[1] == 1
    currentLayer := 2

if strategy.opentrades == 3 and strategy.opentrades[1] == 2
    currentLayer := 3

if strategy.opentrades == 4 and strategy.opentrades[1] == 3
    currentLayer := 4

if strategy.opentrades == 0
    currentLayer := 0
    layer1 := na

// Tresholds price from layer1
layer2Treshold := na(layer1) ? na : layer1 * (100 - layer2TresholdPercent) / 100
layer3Treshold := na(layer1) ? na : layer1 * (100 - layer3TresholdPercent) / 100
layer4Treshold := na(layer1) ? na : layer1 * (100 - layer4TresholdPercent) / 100

//Calculating take profit level 
takeProfitLevel := strategy.opentrades > 0 ? strategy.position_avg_price + atr * takeprofitNumAtr : na

// ------- 入场逻辑 -------
// Layer 1 入场
if currentLayer == 0 and isTrueBullishReversalBar and not na(bullBarConfirmationLevel)
    float qty1 = getLayerEquityQty(positionsSizeMultiplier, 0, bullBarConfirmationLevel)
    strategy.entry(id = 'entry1', direction = strategy.long, stop = bullBarConfirmationLevel, qty = qty1)

// Layer 2 入场
if currentLayer == 1 and not na(layer2Treshold) and low < layer2Treshold and isTrueBullishReversalBar and not na(bullBarConfirmationLevel)
    float qty2 = getLayerEquityQty(positionsSizeMultiplier, 1, bullBarConfirmationLevel)
    strategy.entry(id = 'entry2', direction = strategy.long, stop = bullBarConfirmationLevel, qty = qty2)

// Layer 3 入场
if currentLayer == 2 and not na(layer3Treshold) and low < layer3Treshold and isTrueBullishReversalBar and not na(bullBarConfirmationLevel)
    float qty3 = getLayerEquityQty(positionsSizeMultiplier, 2, bullBarConfirmationLevel)
    strategy.entry(id = 'entry3', direction = strategy.long, stop = bullBarConfirmationLevel, qty = qty3)

// Layer 4 入场
if currentLayer == 3 and not na(layer4Treshold) and low < layer4Treshold and isTrueBullishReversalBar and not na(bullBarConfirmationLevel)
    float qty4 = getLayerEquityQty(positionsSizeMultiplier, 3, bullBarConfirmationLevel)
    strategy.entry(id = 'entry4', direction = strategy.long, stop = bullBarConfirmationLevel, qty = qty4)

// ------- 出场逻辑 -------
if strategy.opentrades > 0 and not na(takeProfitLevel)
    strategy.exit(id = 'exit1', from_entry = 'entry1', limit = takeProfitLevel)
    strategy.exit(id = 'exit2', from_entry = 'entry2', limit = takeProfitLevel)
    strategy.exit(id = 'exit3', from_entry = 'entry3', limit = takeProfitLevel)
    strategy.exit(id = 'exit4', from_entry = 'entry4', limit = takeProfitLevel)

// ------- 绘图 -------
plot(takeProfitLevel, color=skyrexGreen, style=plot.style_linebr, linewidth=2, title="Take Profit")
plot(showDcaLevels ? layer1 : na, color=color.orange, title="Layer 1")
plot(showDcaLevels ? layer2Treshold : na, color=color.orange, title="Layer 2")
plot(showDcaLevels ? layer3Treshold : na, color=color.orange, title="Layer 3")
plot(showDcaLevels ? layer4Treshold : na, color=color.orange, title="Layer 4")

// 调试标签(可删除)
plotshape(isTrueBullishReversalBar, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)