Pelacak banteng


Tanggal Pembuatan: 2024-01-31 11:01:45 Akhirnya memodifikasi: 2024-01-31 11:01:45
menyalin: 1 Jumlah klik: 602
1
fokus pada
1617
Pengikut

Pelacak banteng

Ringkasan

Sistem pelacakan bull market adalah sistem perdagangan mekanis yang didasarkan pada pelacakan tren. Sistem ini menggunakan indikator tren dari grafik 4 jam untuk memfilter sinyal perdagangan, sedangkan masuknya berdasarkan indikator dari grafik 15 menit. Indikator utama termasuk RSI, indikator acak, dan MACD.

Prinsip

Logika inti dari sistem ini adalah menggabungkan indikator dari berbagai kerangka waktu untuk mengidentifikasi arah tren dan waktu masuk. Secara khusus, RSI, indikator acak dan EMA dari grafik 4 jam harus memenuhi syarat untuk menilai arah tren keseluruhan. Ini dapat secara efektif menyaring sebagian besar kebisingan.

Keunggulan

  1. Kombinasi multi-frame waktu yang efektif untuk memfilter sinyal palsu dan mengidentifikasi tren utama
  2. 15 menit detil indikator untuk mendapatkan waktu masuk yang lebih tepat
  3. Portfolio indikator menggunakan RSI, indikator acak, MACD dan indikator teknologi utama yang mudah dipahami dan mudah dioptimalkan
  4. Menggunakan metode manajemen risiko yang ketat seperti mStop, Stop Loss, dan Tracking Stop Loss, untuk mengontrol risiko transaksi tunggal secara efektif

Risiko

  1. Risiko overtrading. Sistem ini sangat sensitif terhadap jangka waktu yang singkat dan dapat menghasilkan banyak sinyal perdagangan yang menyebabkan overtrading.
  2. Risiko False Breakthrough. Penilaian indikator jangka pendek dapat menyebabkan kesalahan penilaian dan menghasilkan sinyal False Breakthrough
  3. Risiko kegagalan indikator. Indikator teknis sendiri memiliki keterbatasan tertentu, yang mungkin gagal dalam situasi ekstrem

Dengan demikian, sistem ini dapat dioptimalkan dalam beberapa hal:

  1. Menyesuaikan parameter indikator agar lebih sesuai dengan kondisi pasar yang berbeda
  2. Meningkatkan kondisi penyaringan untuk mengurangi frekuensi transaksi dan mencegah overtrading
  3. Optimalkan strategi stop loss agar lebih selaras dengan pergerakan pasar
  4. Mencoba kombinasi indikator yang berbeda untuk mencari solusi yang optimal

Meringkaskan

Sistem pelacakan bull market secara keseluruhan adalah sistem perdagangan mekanis pelacakan tren yang sangat praktis. Ini menggunakan kombinasi indikator dari beberapa kerangka waktu untuk mengidentifikasi tren pasar dan momen masuk yang penting. Dengan pengaturan parameter yang masuk akal dan pengujian optimasi berkelanjutan, sistem ini dapat beradaptasi dengan sebagian besar lingkungan pasar, mencapai efek keuntungan yang stabil.

Kode Sumber Strategi
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Cowabunga System from babypips.com", overlay=true)
// 4 Hour Stochastics
length4 = input(162, minval=1, title="4h StochLength"), smoothK4 = input(48, minval=1, title="4h StochK"), smoothD4 = input(48, minval=1, title="4h StochD")
k4 = sma(stoch(close, high, low, length4), smoothK4)
d4 = sma(k4, smoothD4)

//15 min Stoch
length = input(10, minval=1, title="15min StochLength"), smoothK = input(3, minval=1, title="15min StochK"), smoothD = input(3, minval=1, title="15min StochD")
k = sma(stoch(close, high, low, length), smoothK)
d= sma(k, smoothD)

//4 hour RSI
src1 = close, len1 = input(240, minval=1, title="4H RSI Length")
up1 = rma(max(change(src1), 0), len1)
down1 = rma(-min(change(src1), 0), len1)
rsi4 = down1 == 0 ? 100 : up1 == 0 ? 0 : 100 - (100 / (1 + up1 / down1))

//15 min RSI
src = close, len = input(9, minval=1, title="15M RSI Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi15 = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

//MACD Settings
source = close
fastLength = input(12, minval=1, title="MACD Fast"), slowLength=input(26,minval=1, title="MACD Slow")
signalLength=input(9,minval=1, title="MACD Signal")
fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)
macd = fastMA - slowMA
signal = ema(macd, signalLength)

// Stops and Profit inputs
inpTakeProfit   = input(defval = 1000, title = "Take Profit", minval = 0)
inpStopLoss     = input(defval = 0, title = "Stop Loss", minval = 0)
inpTrailStop    = input(defval = 400, title = "Trailing Stop", minval = 0)
inpTrailOffset  = input(defval = 0, title = "Trailing Stop Offset", minval = 0)

// Stops and Profit Targets
useTakeProfit   = inpTakeProfit  >= 1 ? inpTakeProfit  : na
useStopLoss     = inpStopLoss    >= 1 ? inpStopLoss    : na
useTrailStop    = inpTrailStop   >= 1 ? inpTrailStop   : na
useTrailOffset  = inpTrailOffset >= 1 ? inpTrailOffset : na

//Specific Time to Trade
myspecifictradingtimes = input('0500-1600', title="My Defined Hours")

longCondition1 = time(timeframe.period, myspecifictradingtimes) != 0
longCondition2 = rsi4 <= 80
longCondition3 = k4 >= d4 and k4 <= 80
longCondition4 = ema(close, 80) >= ema(close, 162)
allLongerLongs = longCondition1 and longCondition2 and longCondition3 and longCondition4

longCondition5 = rsi15 <= 80
longCondition6 = k >= d and k <= 80 and fastMA >= slowMA
longCondition7 = ema(close, 5) >= ema(close, 10)
allLongLongs = longCondition5 and longCondition6 and longCondition7

if crossover(close, ema(close, 5)) and allLongerLongs and allLongLongs
    strategy.entry("Long", strategy.long, comment="LongEntry")

shortCondition1 = time(timeframe.period, myspecifictradingtimes) != 0
shortCondition2 = rsi4 >= 20
shortCondition3 = k4 <= d4 and k4 >= 20
shortCondition4 = ema(close, 80) <= ema(close, 162)
allShorterShorts = shortCondition1 and shortCondition2 and shortCondition3 and shortCondition4

shortCondition5 = rsi15 >= 20
shortCondition6 = k <= d and k >= 20 and fastMA <= slowMA
shortCondition7 = ema(close, 5) <= ema(close, 10)
allShortShorts = shortCondition5 and shortCondition6 and shortCondition7

if crossunder(close, ema(close,5)) and allShorterShorts and allShortShorts
    strategy.entry("Short", strategy.short, comment="ShortEntry")

strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)