
この戦略は,ブリン帯の指標に基づいて取引信号判断とストップ・ストロスを設定する.価格がブリン帯の中央軌道に触れたときにポジションを開けて多空をしたり,0.5%のストップと3%のストップを設定したり,ショートラインの取引戦略である.
ブリン帯中軌は,閉盤価格のN日単調移動平均である.上軌は,中軌+K倍のN日閉盤価格標準差であり,下軌は,中軌-K倍のN日閉盤価格標準差である.価格が下から上へと中軌を通るときは多し,価格が上から下へと中軌を通るときは空きである.取引毎に固定数のポジションを開き,0.5%のストップと3%のストップ損失を設定する.
リスク対策:
この戦略の全体的な考え方は明確で,ブリン帯を使って取引信号の効果を判断するのは良い。しかし取引は頻繁で,利益の余地も限られている.トレンド判断と指標のフィルター信号を組み合わせて,同時に最適化パラメータを使用して戦略の効果を高めるのが推奨されている。
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Estrategia Bollinger Bands", shorttitle="BB Strategy", overlay=true)
// Parámetros de las Bandas de Bollinger
length = input(20, title="Longitud")
mult = input(2.0, title="Multiplicador")
// Calcula las Bandas de Bollinger
basis = ta.sma(close, length)
upper_band = basis + mult * ta.stdev(close, length)
lower_band = basis - mult * ta.stdev(close, length)
// Condiciones para realizar operaciones
price_touches_basis_up = ta.crossover(close, basis)
price_touches_basis_down = ta.crossunder(close, basis)
// Lógica de la estrategia
if (price_touches_basis_up)
strategy.entry("Compra", strategy.long, qty = 1)
if (price_touches_basis_down)
strategy.entry("Venta", strategy.short, qty = 1)
// Lógica para cerrar la operación con un movimiento del 0,5% (take profit) o 3% (stop loss)
target_profit = 0.005 // Actualizado a 0.5%
stop_loss = 0.03
if (strategy.position_size > 0)
strategy.exit("Take Profit/Close", from_entry = "Compra", profit = close * (1 + target_profit))
strategy.exit("Stop Loss/Close", from_entry = "Compra", loss = close * (1 - stop_loss))
if (strategy.position_size < 0)
strategy.exit("Take Profit/Close", from_entry = "Venta", profit = close * (1 - target_profit))
strategy.exit("Stop Loss/Close", from_entry = "Venta", loss = close * (1 + stop_loss))
// Dibuja las Bandas de Bollinger en el gráfico
plot(upper_band, color=color.blue, title="Upper Band")
plot(lower_band, color=color.red, title="Lower Band")
plot(basis, color=color.green, title="Basis")