Cette stratégie utilise le croisement stochastique entre les lignes K et D pour générer des signaux de trading, une stratégie de trading stochastique typique.
Calculer les lignes stochastiques K et D sur une période donnée.
Le croisement de la ligne K au-dessus de la ligne D génère des signaux d'achat.
Le croisement de la ligne K en dessous de la ligne D génère des signaux de vente.
Peut définir une plage de dates de backtest pour tester l'efficacité de la stratégie.
Des règles simples et claires pour le crossover stochastique.
Les stochastiques sont sensibles aux niveaux de surachat et de survente.
Les lignes K et D forment des signaux de trading faciles.
Le backtest vérifie la performance de la stratégie.
La stochastique est facile à calculer et à mettre en œuvre.
Code concis et facile à développer.
Les croisements peuvent générer de faux signaux.
Pas de stop-loss ou de prise de profit en place.
Ne parvient pas à différencier les tendances et les fourchettes.
Les tests antérieurs comportent un biais de prospection.
Les performances réelles des transactions peuvent différer des résultats des tests antérieurs.
Paramètres d'essai pour trouver les valeurs optimales.
Ajouter un filtre de tendance pour une validation supplémentaire.
Mettre en place des mécanismes de stop loss et de profit.
Incorporer d'autres facteurs pour la confirmation du signal.
Traiter les données de backtest pour éliminer les biais.
Le commerce de papier pour optimiser les paramètres pour le commerce en direct.
Cette stratégie négocie des croisements stochastiques simples, faciles à mettre en œuvre, mais nécessite des raffinements pour la stabilité.
/*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")