
この戦略は,ストキャスティック指数の%Kラインと%Dラインの金叉死叉をベースに,取引信号を形成する.%Kラインが上から下に%Dラインを横切って,どちらもオーバーバイゾーンにあるときに空売りする.%Kラインが下から上に%Dラインを横切って,どちらもオーバーバイゾーンにあるときに多売りする.この戦略は,ストキャスティック指数の反転の特性を捉え,トレンドの転換点で取引信号を形成する.
この策略は,ストキャスティック指標の2つの線%Kと%Dを使用する.%K線は,現在の閉店価格が,一定の期間の最高価格と最低価格の位置を示し,%D線は%K線のM日間単純移動平均である.
%K線が%D線を上から下へと横切ると,価格が下落傾向を始めることを示し,両線が現在価格逆転の臨界点にあることを示し,超買い領域にあるとき,空白する.
%K線が%D線を上下から横切ったとき,これは価格が上昇傾向を開始していることを示し,両線がオーバーセール領域にあり,これは現在価格の逆転の臨界点にあることを示し,このとき多出します.
ストキャスティック指標の逆転のタイミングを捉えることで,トレンドの転換点の近くで取引シグナルを形成することができます.
この戦略の利点は以下の通りです.
この戦略には以下のリスクもあります.
対応方法:
この戦略は以下の点で最適化できます.
この戦略は,Stochastic指標の長短線交差形成取引信号に基づいて,逆転の瞬間を捕捉して,ヘッジ取引を実現する.戦略の論理は,シンプルで明確で,容易に実現できるが,一定の欠陥もある.パラメータ最適化,指標組み合わせ,リスク管理などの手段によって,より良い戦略効果を得ることができる.この戦略は,ショートライン取引戦略であり,高周波取引に適している.
/*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 )