この戦略は,ストコスタスティック指標の%K線と%D線の黄金十字と死亡十字に基づいて取引信号を生成する.両方がオーバー買いエリアにいる間に%K線が%D線を下に横切るとショートになり,両者がオーバーセールエリアにいる間に%K線が%D線上に横切るとロングする.この戦略はストコスタスティック指標の逆転特性を捉え,トレンドターニングポイントの周りに取引信号を形成する.
この戦略はストカスティック指標の%Kと%Dという2つの線を使用します. %K線は,特定の期間における最高値と最低値との関係で現在の閉店価格を示し, %D線は%K線のM日間の単純な移動平均線です.
%K線が %D線を下回ると,下降傾向の始まりを示し,過買い領域の2つの線と共に,価格逆転の臨界点を示し,ショートポジションを取ります.
%K線が %D線を超えると 上昇傾向の始まりを示し,過売り領域の2つの線と共に,価格逆転の重要なポイントをシグナル化します.
ストキャスト指標の逆転瞬間を捕捉することで,トレンドターニングポイントの周りに取引信号を生成することができます.
この戦略の主な利点は以下の通りです.
この戦略の主なリスクは,
対応する解法:
戦略は以下の側面から最適化できます.
この戦略は,対照取引の逆転を捕捉することを目的として,ストカスタスティック指標のショートとロングラインのクロスオーバーに基づいた取引信号を生成する.論理は単純で明確で,実装が簡単ですが,いくつかの欠陥もあります.パラメータ調節,指標組み合わせ,リスク管理などによりより良い結果が得られます.これは高周波取引に適した短期間の取引戦略です.
/*backtest start: 2022-12-08 00:00:00 end: 2023-12-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 11/01/2017 // This back testing strategy generates a long trade at the Open of the following // bar when the %K line crosses below the %D line and both are above the Overbought level. // It generates a short trade at the Open of the following bar when the %K line // crosses above the %D line and both values are below the Oversold level. // // You can change long to short in the Input Settings // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy(title="Strategy Stochastic Crossover", shorttitle="Strategy Stochastic Crossover1", overlay = true ) Length = input(7, minval=1) DLength = input(3, minval=1) Oversold = input(20, minval=1) Overbought = input(70, minval=1) reverse = input(false, title="Trade reverse") vFast = stoch(close, high, low, Length) vSlow = sma(vFast, DLength) pos = iff(vFast < vSlow and vFast > Overbought and vSlow > Overbought, 1, iff(vFast >= vSlow and vFast < Oversold and vSlow < Oversold, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue )