Strategi Garis Perak Terobosan Momentum

Penulis:ChaoZhang, Tarikh: 2024-02-01 15:01:55
Tag:

img

Ringkasan

Strategi ini adalah strategi pecah berdasarkan penunjuk momentum harga MACD dan purata bergerak, sesuai untuk jangka masa 1 jam pada perak (XAG/USD, XAG/EUR).

Logika Strategi

Apabila histogram MACD berubah dari negatif menjadi positif dan terus menerus menembusi garis isyarat, ia menunjukkan bahawa trend menaik jangka pendek lebih kuat. Pada masa yang sama, jika harga penutupan menembusi trend menaik purata bergerak, ia menghasilkan isyarat panjang. Begitu juga, apabila histogram MACD berubah dari positif menjadi negatif dan jatuh di bawah garis isyarat, dan harga penutupan jatuh di bawah trend menurun purata bergerak, ia menghasilkan isyarat pendek.

Khususnya, syarat-syarat untuk menentukan isyarat masuk panjang strategi ini adalah:

  1. Histogram MACD adalah positif
  2. Bar histogram semasa lebih tinggi daripada yang sebelumnya
  3. Harga penutupan lebih tinggi daripada purata bergerak
  4. Harga penutupan adalah lebih tinggi daripada harga tertinggi dari 3 K-garis baru-baru ini

Keadaan untuk menentukan isyarat masuk pendek adalah sebaliknya.

Apabila kedudukan dibuka, ia ditutup tanpa syarat apabila garis K seterusnya ditutup. Strategi ini tidak menetapkan titik mengambil keuntungan atau berhenti kerugian, bertujuan untuk menangkap titik permulaan ledakan trend.

Analisis Kelebihan

Strategi ini menggabungkan indikator harga dan momentum untuk menentukan masa pembalikan trend dengan lebih tepat dengan kadar kemenangan yang lebih tinggi.

Tiada penentuan mengambil keuntungan dan menghentikan kerugian memenuhi keperluan pelabur yang mengejar pulangan yang tinggi.

Analisis Risiko

Kekurangan stop loss boleh dengan mudah membawa kepada penentuan kerugian dan risiko kerugian yang lebih tinggi.

Cara penutupan tanpa syarat dalam garis K seterusnya menjadikannya sukar untuk terus menangkap keuntungan trend.

Cadangan Pengoptimuman

Ia adalah mungkin untuk mempertimbangkan menambah strategi stop-loss yang sesuai berdasarkan pembelian terobosan keuntungan tinggi untuk mengurangkan risiko kerugian.

Ia juga mungkin untuk menggabungkan teknik canggih untuk memasuki semula kedudukan selepas penutupan, cuba terus menangkap keuntungan trend.

Ringkasan

Secara umum, strategi ini termasuk dalam strategi berisiko tinggi yang agresif. Oleh kerana tidak ada tetapan stop loss, pelabur perlu menanggung risiko kerugian yang lebih besar. Tetapi jika pembalikan berjaya, peluang untuk membuka kedudukan dengan banyak banyak di tempat pertama juga boleh menghasilkan pulangan yang tinggi. Ia sesuai untuk pelabur agresif dengan ketahanan psikologi yang agak kuat.


/*backtest
start: 2023-01-31 00:00:00
end: 2024-01-13 05:20:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SoftKill21

//@version=4
strategy("XAG strategy 1h",overlay=true)
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2020, title = "From Year", minval = 1970)
var gica = 0
var marcel = gica+2
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
len = input(10, minval=1, title="Length")
src = input(close, title="Source")
out = sma(src, len)

//distanta = input(1.004)

fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)
// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal

option1=input(true)
option2=input(true)

long2 =  close > open  and time_cond and close > out and hist > 0 and hist > hist[1] 
short2 =  close < open  and time_cond and close < out and hist < 0 and hist < hist[1] 

long1 = (close > open ) and time_cond and close > out and hist > 0 and  hist > hist[1] and high > high[1] and high[1] > high[2] and close > high[1] and close > high[2] and close > high[3] 
short1 = (close < open)  and time_cond and close < out and hist < 0 and  hist < hist[1] and low < low[1] and low[1] < low[2]  and close < low[1] and close < low[2] and close < low[3] 

if(option1)
    strategy.entry("long",1,when= short1)
    strategy.entry("short",0,when=long1)
    strategy.close_all()

if(option2)

    strategy.entry("long",1,when= short2)
    strategy.entry("short",0,when=long2)
    strategy.close_all()

// if(strategy.openprofit < 0)
//     strategy.close_all()
// if(strategy.openprofit>0)
//     strategy.close("long",when = close < open )
//     strategy.close("short",when = close > open)
//     strategy.close("long",when= close < open)
//     strategy.close("short",when= close> open)


// tp = input(0.0003)
// sl = input(0.005)
// strategy.exit("closelong", "long" , profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick, alert_message = "closelong")
// strategy.exit("closeshort", "short" , profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick, alert_message = "closeshort")


Lebih lanjut