Stratégie de négociation croisée par stochastique

Auteur:ChaoZhang est là., Date: 2023-09-20 17h05 et 17h
Les étiquettes:

Résumé

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.

La logique de la stratégie

  1. Calculer les lignes stochastiques K et D sur une période donnée.

  2. Le croisement de la ligne K au-dessus de la ligne D génère des signaux d'achat.

  3. Le croisement de la ligne K en dessous de la ligne D génère des signaux de vente.

  4. Peut définir une plage de dates de backtest pour tester l'efficacité de la stratégie.

  5. Des règles simples et claires pour le crossover stochastique.

Les avantages

  1. Les stochastiques sont sensibles aux niveaux de surachat et de survente.

  2. Les lignes K et D forment des signaux de trading faciles.

  3. Le backtest vérifie la performance de la stratégie.

  4. La stochastique est facile à calculer et à mettre en œuvre.

  5. Code concis et facile à développer.

Les risques

  1. Les croisements peuvent générer de faux signaux.

  2. Pas de stop-loss ou de prise de profit en place.

  3. Ne parvient pas à différencier les tendances et les fourchettes.

  4. Les tests antérieurs comportent un biais de prospection.

  5. Les performances réelles des transactions peuvent différer des résultats des tests antérieurs.

Amélioration

  1. Paramètres d'essai pour trouver les valeurs optimales.

  2. Ajouter un filtre de tendance pour une validation supplémentaire.

  3. Mettre en place des mécanismes de stop loss et de profit.

  4. Incorporer d'autres facteurs pour la confirmation du signal.

  5. Traiter les données de backtest pour éliminer les biais.

  6. Le commerce de papier pour optimiser les paramètres pour le commerce en direct.

Conclusion

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")

Plus de