Una estrategia de brecha de línea media es una estrategia de negociación de línea corta que utiliza una media móvil para juzgar. La estrategia se realiza mediante la configuración de la longitud de la línea media y la operación de compra y venta cuando la línea media se rompe. Se caracteriza por su simplicidad y facilidad de manejo.
La estrategia se basa en el establecimiento de dos promedios móviles, la línea rápida y la línea lenta, para determinar el movimiento de los precios. La línea rápida tiene un período corto y es sensible a la reacción; la línea lenta tiene un período largo y es suave.
El código define el período de línea rápida shortPeriod y el período de línea lenta longPeriod mediante la configuración de los parámetros de entrada. Luego se calculan los valores de las dos líneas medias shortSMA y longSMA.
Cuando la media de corto período se rompe la media de largo período de abajo hacia arriba, indica que el movimiento de los precios se ha invertido a la baja, hacer más; cuando la media de corto período se rompe la media de largo período de arriba hacia abajo, indica que el movimiento de los precios se ha invertido a la baja, hacer vacío.
La mayoría de las personas que están en el mercado de divisas están en el mercado de divisas.
快线由下向上突破慢线
快线>慢线
Para entrar en las condiciones de una posición en corto plazo:
快线由上向下跌破慢线
快线<慢线
Además, la estrategia también establece parámetros para controlar el riesgo, como el stop loss, el stop loss y el monto.
Prevención de riesgos:
El concepto de la estrategia de ruptura de la línea media es simple, y es fácil de manejar. Pero también hay algunos problemas, como ruptura falsa, retraso, etc. Se puede mejorar mediante la optimización de parámetros, la combinación de otros indicadores, etc. En general, la estrategia es adecuada para la estrategia de la primera etapa de los principiantes, y después de dominar los principios básicos, se puede optimizar aún más y mejorar la rentabilidad.
/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-25 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/
// © YohanNaftali
//@version=5
///////////////////////////////////////////////////////////////////////////////
// Heikin Ashi Candle Startegy
// ver 2021.12.29
// © YohanNaftali
// This script composed by Yohan Naftali for educational purpose only
// Reader who will use this signal must do own research
///////////////////////////////////////////////////////////////////////////////
strategy(
title = 'Heikin Ashi Candle Startegy Long',
shorttitle = 'HA Strategy Long',
format = format.price,
precision = 0,
overlay = true)
// Input
validationPeriod = input.int(
defval = 3,
title = 'Validation Period',
group = 'Candle')
qtyOrder = input.float(
defval = 1.0,
title = 'Qty',
group = 'Order')
maxActive = input.float(
defval = 1.0,
title = 'Maximum Active Open Position',
group = 'Order')
// Long Strategy
tpLong = input.float(
defval = 1,
title = "Take Profit (%)",
minval = 0.0,
step = 0.1,
group = "Long") * 0.01
slLong = input.float(
defval = 25,
title = "Stop Loss (%)",
minval=0.0,
step=0.1,
group="Long") * 0.01
trailingStopLong = input.float(
defval = 0.2,
title = "Trailing Stop (%)",
minval = 0.0,
step = 0.1,
group = 'Long') * 0.01
// Calculation
haTicker = ticker.heikinashi(syminfo.tickerid)
haClose = request.security(haTicker, timeframe.period, close)
haOpen = request.security(haTicker, timeframe.period, open)
// Long
limitLong = tpLong > 0.0 ? strategy.position_avg_price * (1 + tpLong) : na
stopLong = slLong > 0.0 ? strategy.position_avg_price * (1 - slLong) : na
float trailLong = 0.0
trailLong := if strategy.position_size > 0
trailClose = close * (1 - trailLong)
math.max(trailClose, trailLong[1])
else
0
isGreen = true
for i = 0 to validationPeriod-1
isGreen := isGreen and haClose[i] > haOpen[i]
isLong = isGreen and haClose[validationPeriod] < haOpen[validationPeriod]
plot(
limitLong,
title = 'Limit',
color = color.rgb(0, 0, 255, 0),
style = plot.style_stepline,
linewidth = 1)
plot(
trailLong,
title = 'Trailing',
color = color.rgb(255, 255, 0, 0),
style = plot.style_stepline,
linewidth = 1)
plot(
stopLong,
title = 'Stop',
style = plot.style_stepline,
color = color.rgb(255, 0, 0, 0),
linewidth = 1)
// plotshape(
// isLong,
// title = 'Entry',
// style = shape.arrowup,
// location = location.belowbar,
// offset = 1,
// color = color.new(color.green, 0),
// text = 'Long Entry',
// size = size.small)
// Strategy
strategy.risk.max_position_size(maxActive)
strategy.risk.allow_entry_in(strategy.direction.long)
strategy.entry(
id = "Long",
direction = strategy.long,
qty = qtyOrder,
when = isLong,
alert_message = "LN")
if (strategy.position_size > 0)
strategy.exit(
id = "Long Exit",
from_entry = "Long",
limit = limitLong,
stop = stopLong,
trail_price = trailLong,
alert_message = "LX")