この戦略は,K線とD線間のストキャスティッククロスオーバーを使用して,典型的なストキャスティック・トレード戦略である取引信号を生成します.
ストキャスティックKとD線を計算します.
D線上のK線交差が買い信号を生成します
D線の下のK線クロスオーバーは 売り信号を生成します
バックテストの日付範囲を設定して 戦略の有効性をテストできます
シンプルで明確なルールで ストカスティック・クロスオーバーを取引します
ストキャストは過買い・過売値に敏感です
K線とD線は簡単な取引信号を形成します
バックテストは戦略の実行を検証します
ストカスティックは計算し実装しやすい.
簡潔なコードで 開発が容易です
クロスオーバーは 偽信号を生成する可能性があります
ストップ・ロストも 利益もありません
傾向や範囲を区別できない
バックテストは前向きな偏見を伴います
実際の取引業績はバックテストと異なる場合があります.
テストパラメータを最適値にします
追加の検証のために傾向フィルターを追加します.
ストップ・ロスト・アンド・テイク・プロフィート・メカニズムを組み込む
信号の確認のために他の要素を組み込む.
バックテストデータを処理してバイアスを排除します
紙の取引は リアルタイムの取引のパラメータを最適化します
この戦略は,シンプルなストキャスティッククロスオーバーで取引し,実装が簡単ですが,安定性のために改良が必要です.パラメータチューニング,リスクコントロールなどを通じてそれを強化することで,堅牢な量子取引システムに変えることができます.
/*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")