Strategi Garis Perak Momentum Breakout


Tanggal Pembuatan: 2024-02-01 15:01:55 Akhirnya memodifikasi: 2024-02-01 15:01:55
menyalin: 2 Jumlah klik: 622
1
fokus pada
1617
Pengikut

Strategi Garis Perak Momentum Breakout

Ringkasan

Strategi ini adalah strategi pembelian breakout berdasarkan MACD dan garis rata-rata dinamika harga, yang berlaku untuk periode waktu 1 jam untuk perak (XAG/USD, XAG/EUR). Intinya adalah waktu yang tepat untuk membalikkan tren, yang dikombinasikan dengan tren harga dan dinamika.

Prinsip Strategi

Ketika MACD pilar berbalik dari negatif dan terus naik untuk menembus garis sinyal, menunjukkan momentum jangka pendek yang kuat; sementara jika harga close out menembus garis rata-rata tren naik, menghasilkan sinyal multihead. Sama halnya, MACD pilar berbalik dari negatif dan jatuh dari garis sinyal, dan ketika harga close out jatuh dari garis rata-rata tren turun, menghasilkan kepala kosong.

Secara khusus, strategi ini menilai sinyal masuk untuk posisi panjang sebagai berikut:

  1. MACD adalah positif
  2. Garis tiang saat ini lebih tinggi dari garis tiang sebelumnya
  3. Harga penutupan lebih tinggi dari rata-rata
  4. Harga penutupan lebih tinggi dari harga tertinggi di hampir 3 garis K

Namun, ada beberapa faktor yang dapat mempengaruhi sinyal masuk posisi pendek.

Strategi ini tidak menetapkan titik stop loss, tetapi mengejar titik awal untuk menangkap ledakan tren.

Analisis Keunggulan

Strategi ini menggabungkan harga dan indikator momentum, yang dapat lebih akurat menentukan waktu pembalikan tren, dengan tingkat kemenangan yang lebih tinggi. Dengan cara menutup posisi tanpa syarat di garis K, Anda dapat secara efektif menghindari kerugian lagi setelah kegagalan pembalikan.

Tidak mengatur stop loss, dan membuka posisi penuh untuk memenuhi kebutuhan investor yang mencari keuntungan tinggi.

Analisis risiko

Pengaturan tanpa kerugian mudah terkurung, risiko kerugian besar. Jika sinyal pembalikan gagal, tidak dapat menghentikan kerugian tepat waktu, mungkin menghadapi kerugian keuangan yang lebih besar.

Tidak ada cara untuk terus menangkap keuntungan dari tren jika K-line ditutup tanpa syarat.

Arah optimasi

Anda dapat mempertimbangkan untuk meningkatkan strategi stop loss yang tepat dan mengurangi risiko kerugian berdasarkan pembelian terobosan dengan tingkat kemenangan yang tinggi.

Anda juga dapat menggunakan teknik canggih untuk mengatur mekanisme untuk membuka kembali posisi setelah posisi kosong, dan mencoba untuk terus menangkap keuntungan tren.

Meringkaskan

Strategi ini secara keseluruhan merupakan strategi berisiko tinggi yang bersifat agresif, karena pengaturan tanpa henti, investor harus menanggung risiko kerugian yang lebih besar. Namun, secara relatif, posisi pertama yang dibuka penuh setelah sukses berbalik juga dapat menghasilkan keuntungan yang tinggi.

Kode Sumber Strategi
/*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")