Strategi ini adalah strategi breakout berdasarkan indikator momentum harga MACD dan moving average, cocok untuk jangka waktu 1 jam pada perak (XAG/USD, XAG/EUR). Kuncinya adalah menggabungkan tren harga dan indikator momentum untuk menentukan waktu pembalikan tren.
Ketika histogram MACD berubah dari negatif menjadi positif dan terus menerus menembus garis sinyal, itu menunjukkan bahwa tren naik jangka pendek lebih kuat. Pada saat yang sama, jika harga penutupan menembus tren naik rata-rata bergerak, itu menghasilkan sinyal panjang. Demikian pula, ketika histogram MACD berubah dari positif menjadi negatif dan jatuh di bawah garis sinyal, dan harga penutupan jatuh di bawah tren turun rata-rata bergerak, itu menghasilkan sinyal pendek.
Secara khusus, kondisi untuk menentukan sinyal masuk panjang dari strategi ini adalah:
Kondisi untuk menentukan sinyal masuk pendek adalah sebaliknya.
Setelah posisi dibuka, posisi ditutup tanpa syarat ketika garis K berikutnya ditutup. Strategi ini tidak menetapkan titik profit taking atau stop loss, yang bertujuan untuk menangkap titik awal ledakan tren.
Strategi ini menggabungkan indikator harga dan momentum untuk menentukan waktu pembalikan tren dengan lebih akurat dengan tingkat kemenangan yang lebih tinggi.
Tidak ada pengaturan profit taking dan stop loss yang memenuhi kebutuhan investor yang mengejar laba yang tinggi.
Jika sinyal pembalikan gagal, kerugian dapat meningkat karena ketidakmampuan untuk menghentikan kerugian tepat waktu.
Cara penutupan tanpa syarat pada garis K berikutnya membuat sulit untuk terus menangkap keuntungan tren.
Hal ini mungkin untuk mempertimbangkan menambahkan strategi stop-loss yang tepat berdasarkan pembelian terobosan keuntungan tinggi untuk mengurangi risiko kerugian.
Hal ini juga mungkin untuk menggabungkan teknik canggih untuk memasuki kembali posisi setelah penutupan, mencoba untuk terus menangkap keuntungan tren.
Secara umum, strategi ini termasuk dalam strategi berisiko tinggi yang agresif. Karena tidak ada pengaturan stop loss, investor perlu menanggung risiko kerugian yang lebih besar. Tetapi jika pembalikan berhasil, kesempatan untuk membuka posisi dengan banyak lot di tempat pertama juga dapat menghasilkan pengembalian yang tinggi. Ini cocok untuk investor agresif dengan ketahanan psikologis yang relatif 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")