
Strategi ini adalah sistem perdagangan yang didasarkan pada 14 periode indeks moving average (EMA) yang menggabungkan analisa grafik grafik dan karakteristik dinamika harga. Strategi ini mengidentifikasi sinyal perdagangan dengan menganalisis hubungan silang antara harga dan EMA, sambil mempertimbangkan karakteristik grafik grafik (seperti rasio entitas terhadap garis bayangan) untuk menangkap titik-titik perubahan tren pasar.
Logika inti dari strategi ini didasarkan pada elemen-elemen kunci berikut:
Strategi ini membangun sistem perdagangan yang lengkap dengan menggunakan EMA, grafik, dan analisis perilaku harga secara komprehensif. Keunggulan strategi ini terletak pada kekakuan pengakuan sinyal dan kontrol risiko yang sempurna, tetapi juga perlu memperhatikan dampak lingkungan pasar terhadap kinerja strategi. Dengan arah optimasi yang disarankan, stabilitas dan adaptasi strategi diharapkan dapat ditingkatkan lebih lanjut.
/*backtest
start: 2024-11-19 00:00:00
end: 2024-12-18 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Buy and Sell Signals with EMA", overlay=true)
// Define the 14-period EMA
ema14 = ta.ema(close, 14)
// --- Buy Conditions ---
ema_length = input.int(14, title="EMA Length")
// Calculate the 14 EMA
ema_14 = ta.ema(close, ema_length)
// Calculate the candle body and wicks
body = close - open
upper_wick = high - close
lower_wick = open - low
total_candle_length = high - low
// Define the condition for the candle to be green (bullish)
is_green_candle = close > open
// Condition for crossing the 14 EMA (previous close was below, current close is above)
crossing_ema = ta.crossover(close, ema_14)
// Condition for at least 50% of the candle's body crossing the 14 EMA
body_crossed_ema = (close - open) * 0.5 <= (close - ema_14) and close > ema_14
// Condition for wick percent being less than or equal to 40% of the total candle length
wick_percent = (upper_wick + lower_wick) / total_candle_length
valid_wick_condition = wick_percent <= 0.4
// Define the buy condition
buy_condition = is_green_candle and crossing_ema and body_crossed_ema and valid_wick_condition
// --- Sell Conditions ---
candleIsRed = close < open
priceBelowEMA = close < ema14
prevLowAboveEMA = low[1] > ema14[1] // Previous candle's low must be above the EMA
wickTooLarge = (low - math.min(open, close)) / (high - low) <= 0.2 // Lower wick should not exceed 20%
// Sell signal condition
sellSignal = priceBelowEMA and candleIsRed and prevLowAboveEMA and wickTooLarge
// --- Plotting ---
plot(ema14, color=color.blue, linewidth=2, title="14-period EMA") // Plot the 14-period EMA
// Plot the buy signal as an arrow on the chart
plotshape(buy_condition, color=color.green, style=shape.labelup, location=location.belowbar, text="BUY")
// Plot the sell signal as an arrow on the chart
plotshape(sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")
// Optional: Add strategies for backtesting
if (buy_condition)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.entry("Sell", strategy.short)