Stochastics Crossover-Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-09-20 17:05:17
Tags:

Übersicht

Diese Strategie verwendet Stochastik-Crossover zwischen K- und D-Linien, um Handelssignale zu generieren, eine typische Stochastik-Handelsstrategie.

Strategie Logik

  1. Berechnen Sie die Stochastischen Linien K und D über einen bestimmten Zeitraum.

  2. Die Kreuzung der K-Linie über der D-Linie erzeugt Kaufsignale.

  3. Die Kreuzung der K-Linie unterhalb der D-Linie erzeugt Verkaufssignale.

  4. Kann den Backtest-Datumbereich festlegen, um die Effektivität der Strategie zu testen.

  5. Einfache und klare Regeln für den Handel mit Stochastik-Crossover.

Vorteile

  1. Stochastische Kennzahlen sind empfindlich für Überkauf- und Überverkaufswerte.

  2. K- und D-Linien bilden einfache Handelssignale.

  3. Der Backtest überprüft die Strategieleistung.

  4. Stochastik ist leicht zu berechnen und umzusetzen.

  5. Kurz und einfach für die Weiterentwicklung.

Risiken

  1. Crossovers können falsche Signale erzeugen.

  2. Keine Stop-Loss- oder Gewinnspielzeiten.

  3. Trends und Bereiche unterscheidet nicht.

  4. Der Backtest ist vorausschauend.

  5. Die tatsächlichen Handelsergebnisse können sich von den Rückprüfungsergebnissen unterscheiden.

Erweiterung

  1. Prüfparameter, um optimale Werte zu finden.

  2. Hinzufügen eines Trendfilters zur zusätzlichen Validierung.

  3. Einbau von Stop-Loss- und Take-Profit-Mechanismen.

  4. Andere Faktoren für die Signalbestätigung einbeziehen.

  5. Verwalten Sie die Daten der Backtests, um Vorurteile zu beseitigen.

  6. Papierhandel zur Optimierung der Parameter für den Live-Handel.

Schlussfolgerung

Diese Strategie handelt mit einfachen Stochastik-Crossovers, die leicht zu implementieren sind, aber für Stabilität Verbesserungen erfordern.


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

Mehr