La estrategia utiliza la cruz de las líneas K y D de los indicadores aleatorios para generar señales de negociación, y es una estrategia típica de negociación de indicadores aleatorios.
Calcula los indicadores aleatorios de las líneas K y D en un determinado período.
Cuando la línea K pasa por la línea D desde abajo, se genera una señal de compra.
Cuando la línea K pasa por la línea D desde arriba hacia abajo, se genera una señal de venta.
Se puede configurar un rango de tiempo de retroalimentación para probar la eficacia de la estrategia.
La estrategia es simple y clara.
Los indicadores aleatorios son más sensibles a los excesos de compra y venta.
Las líneas K y D son fáciles de formar señales de transacción.
La eficacia de las estrategias se puede comprobar mediante la retrospectiva.
Los indicadores aleatorios son fáciles de calcular y ejecutar.
El código es sencillo y fácil de reutilizar.
El cruce de indicadores al azar puede producir falsas señales.
No hay un parador de pérdidas.
No se puede distinguir entre tendencias y balance.
Se detectó un desvío de coincidencia en los datos.
La implementación en el mundo real puede ser diferente.
Prueba diferentes parámetros para encontrar el mejor.
Se filtrarán los indicadores de tendencias.
Establecer un mecanismo de contención de daños.
Introducir otros factores para la verificación de la señal.
Los datos de retroalimentación se procesan para eliminar las discrepancias.
Simula el disco para optimizar la configuración de los parámetros.
La estrategia utiliza un simple cruce de indicadores aleatorios para el comercio, que es fácil de implementar, pero requiere una optimización adicional para mejorar la estabilidad. Mejorado por ajustes de parámetros, control de riesgo, etc., se puede construir como una estrategia de comercio cuantitativa fiable.
/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 2h
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/
// © utanico
//@version=4
strategy(title="Stochastic", overlay=true, shorttitle="Stoch")
periodK = input(35, title="K", minval=1)
periodD = input(21, title="D", minval=1)
smoothK = input(21, title="Smooth", minval=1)
startYear = input(type=input.integer, title = "開始年", defval = 2020)
startMonth = input(type=input.integer, title = "開始月", defval = 1)
startDay = input(type=input.integer, title = "開始日", defval = 1)
endYear = input(type=input.integer, title = "終了年", defval = 2030)
endMonth = input(type=input.integer, title = "終了月", defval = 12)
endDay = input(type=input.integer, title = "終了日", defval = 31)
//開始日時
test_start = timestamp(startYear, startMonth, startDay, 00, 00)
//終了日時
test_end = timestamp(endYear, endMonth, endDay, 00, 00)
//テスト期間の指定
is_test = true
k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)
if (is_test)
if (k > d)
strategy.entry("Stoch_LE", strategy.long, comment="Stoch_LE")
//if (strategy.opentrades > 0 and k < d)
//strategy.close("Stoch_LE",comment="CloseLONG")
if (k < d)
strategy.entry("Stoch_SE", strategy.short, comment="Stoch_SE")
//if (strategy.opentrades < 0 and k > d)
//strategy.close("Stoch_SE",comment="CloseShort")