Strategi ini direka berdasarkan salib emas dan salib mati purata bergerak pantas dan perlahan. Apabila MA pantas melintasi di atas MA perlahan, pergi panjang. Apabila MA pantas melintasi di bawah MA perlahan, pergi pendek. Strategi ini sesuai untuk perdagangan jangka menengah hingga panjang dan boleh menangkap pembalikan trend di pasaran.
Strategi ini menggunakan purata bergerak eksponensial (EMA) untuk mengira garis pantas dan perlahan. panjang MA pantas adalah 10 tempoh dan panjang MA perlahan adalah 30 tempoh. Strategi ini mula-mula mengira EMA pantas dan EMA perlahan, kemudian merangka garis dan menunjukkan latar belakang berwarna yang berbeza untuk menunjukkan arah trend.
Apabila penutupan hari ini berada di atas MA cepat dan MA cepat berada di atas MA perlahan, latar belakang berwarna hijau, menunjukkan trend menaik.
Dalam trend menaik, jika terdapat lilin merah (tutup di bawah terbuka) dan semalam juga lilin merah, pergi panjang. Tetapkan stop loss pada 300 mata dan mengambil keuntungan dengan menutup kedudukan pendek.
Dalam trend ke bawah, jika terdapat lilin hijau (tutup di atas terbuka) dan semalam juga lilin hijau, pergi pendek. Tetapkan stop loss pada 300 mata dan mengambil keuntungan dengan menutup kedudukan panjang.
Selepas membuka kedudukan dalam setiap arah, jika masa tahan melebihi 1008000000 mili saat (kira-kira 2 minggu), paksa tutup kedudukan untuk mengelakkan kebuntuan.
Secara keseluruhan strategi ini agak seimbang, menggunakan EMA berganda untuk trend dan penapis candlestick dengan peraturan tambahan untuk mengelakkan isyarat palsu.
/*backtest start: 2023-10-10 00:00:00 end: 2023-11-09 00:00:00 period: 1h basePeriod: 15m 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/ // © yeainshukla //@version=5 strategy('BuyRedSellGreen4H', overlay = true) greenCandle = close > open redCandle = open > close start = timestamp(2023,9,18,0,00) end = timestamp(2023,12,31,0,00) fastLength = input.int(10, title="Fast Average Length") slowLength = input.int(30, title="Slow Average Length") averageData = input.source(close, title="Average Data Source") // Calculate exponential moving averages fastAverage = ta.ema(averageData, fastLength) slowAverage = ta.ema(averageData, slowLength) // Plot averages plot(fastAverage, color=color.navy, title="Fast EMA") plot(slowAverage, color=color.fuchsia, linewidth=2, title="Slow EMA") // Show the moving average trend with a coloured background backgroundColor = if close > fastAverage and fastAverage > slowAverage color.new(color.green, 85) else if close < fastAverage and fastAverage < slowAverage color.new(color.red, 85) else color.new(color.orange, 90) bgcolor(backgroundColor, title="EMA Background") if time >= start and time < end if(close < open) if(close[1] < open[1]) strategy.entry("Enter Long", strategy.long) strategy.exit("Exit Long", from_entry="Enter Long") strategy.close("Enter Short") else if(close[1] > open[1]) strategy.entry("Enter Short", strategy.short) strategy.exit("Exit Short", from_entry="Enter Short") strategy.close("Enter Long") if strategy.position_size < 0 or strategy.position_size > 0// short and long is opened. if((time - strategy.opentrades.entry_time(strategy.opentrades - 1)) > 1008000000) strategy.close("Enter Short") strategy.close("Enter Long")