
Стратегия является многочасовой системой торговли, основанной на стохастическом, в сочетании с подтверждением тенденции и анализом ценовой конфигурации. Стратегия использует три временных цикла: 15 минут, 30 минут и 60 минут, чтобы идентифицировать торговые возможности с помощью перекрестных сигналов случайных индикаторов и подтверждения конфигурации более высоких высоких и более низких низких. В то же время, стратегия использует фиксированные процентные установки для остановки потерь и получения прибыли для контроля риска и блокировки прибыли.
Основная логика стратегии включает в себя следующие ключевые части:
Это полная торговая система, объединенная с многократным анализом временных циклов и подтверждением тенденций. Благодаря совместному использованию случайных индикаторов и ценовых паттернов, можно лучше улавливать переломные моменты рынка. Фиксированные параметры управления риском, хотя и простые, гарантируют согласованность торгов.
/*backtest
start: 2025-01-19 00:00:00
end: 2025-02-18 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Swing Fairas Oil", overlay=true)
// Pilih Timeframe Utama & 2 Timeframe Konfirmasi
tf_main = "15"
tf_mid = "30"
tf_high = "60"
// Parameter Stochastic
length = input(15, title="Stochastic Length")
k_smooth = input(4, title="K Smoothing")
d_smooth = input(5, title="D Smoothing")
// Overbought & Oversold Levels
overbought = input(85, title="Overbought Level")
oversold = input(15, title="Oversold Level")
// Stochastic pada Timeframe Utama
k1 = ta.sma(ta.stoch(close, high, low, length), k_smooth)
d1 = ta.sma(k1, d_smooth)
// Stochastic pada Timeframe Menengah
k2 = request.security(syminfo.tickerid, tf_mid, ta.sma(ta.stoch(close, high, low, length), k_smooth))
d2 = request.security(syminfo.tickerid, tf_mid, ta.sma(k2, d_smooth))
// Stochastic pada Timeframe Tinggi
k3 = request.security(syminfo.tickerid, tf_high, ta.sma(ta.stoch(close, high, low, length), k_smooth))
d3 = request.security(syminfo.tickerid, tf_high, ta.sma(k3, d_smooth))
// **Konfirmasi Higher High & Lower Low**
hh = ta.highest(high, 5) // Highest High dalam 5 candle terakhir
ll = ta.lowest(low, 5) // Lowest Low dalam 5 candle terakhir
// **Kondisi Buy**
confirm_buy = ta.crossover(k1, d1) and k1 < oversold // Stochastic Bullish
higher_low = low > ta.lowest(low[1], 5) // Higher Low terbentuk
longCondition = confirm_buy and higher_low
// **Kondisi Sell**
confirm_sell = ta.crossunder(k1, d1) and k1 > overbought // Stochastic Bearish
lower_high = high < ta.highest(high[1], 5) // Lower High terbentuk
shortCondition = confirm_sell and lower_high
// Stop Loss & Take Profit
sl = input(3.7, title="Stop Loss (%)") / 100
tp = input(1.8, title="Take Profit (%)") / 100
longStopLoss = close * (1 - sl)
longTakeProfit = close * (1 + tp)
shortStopLoss = close * (1 + sl)
shortTakeProfit = close * (1 - tp)
// Eksekusi Order
if longCondition
strategy.entry("Buy", strategy.long)
strategy.exit("Sell TP/SL", from_entry="Buy", stop=longStopLoss, limit=longTakeProfit)
if shortCondition
strategy.entry("Sell", strategy.short)
strategy.exit("Cover TP/SL", from_entry="Sell", stop=shortStopLoss, limit=shortTakeProfit)
// Label Buy & Sell
if longCondition
label.new(bar_index, low, "BUY", color=color.green, textcolor=color.white, size=size.small, style=label.style_label_down)
if shortCondition
label.new(bar_index, high, "SELL", color=color.red, textcolor=color.white, size=size.small, style=label.style_label_up)
// Label Stop Loss & Take Profit
if longCondition
label.new(bar_index, longStopLoss, "SL: " + str.tostring(longStopLoss, "#.##"), color=color.red, textcolor=color.white, size=size.small, style=label.style_label_left)
label.new(bar_index, longTakeProfit, "TP: " + str.tostring(longTakeProfit, "#.##"), color=color.green, textcolor=color.white, size=size.small, style=label.style_label_left)
if shortCondition
label.new(bar_index, shortStopLoss, "SL: " + str.tostring(shortStopLoss, "#.##"), color=color.red, textcolor=color.white, size=size.small, style=label.style_label_left)
label.new(bar_index, shortTakeProfit, "TP: " + str.tostring(shortTakeProfit, "#.##"), color=color.green, textcolor=color.white, size=size.small, style=label.style_label_left)