
ランダム策は,ランダム指数のK線がD線を横断し,正指数が負指数より高いときに買取シグナルを生成する策である.この戦略は,ランダム指数と指数の優位性を組み合わせて,株価が逆転するときに市場への入場機会を掴むことを目的としている.
この戦略は主に2つの指標に基づいています.
ランダム指数 ((Stochastic Oscillator):この指標は,その日の閉盘価格と一定の周期内の最高価格と最低価格を比較し,市場が過売りか過買いかを反映する.ランダム指数の快線Kが慢線Dを横切るときは,買い信号とみなされる.
指数 (Vortex Indicator):この指標は,一定の周期内の変動の最大値と最小値を比較することによって,市場の式上昇または下落の動きを反映します.正指数が負指数より高いときは,株価の上昇勢いが下落勢いより強いことを意味し,購入することができます.
この戦略の買入シグナルは,ランダムな指数の快線K上を横断する緩い線Dから,株価が過売り地域から逆転して上騰したことを示している.正指数が負指数より高いことは,株価の上昇勢いが強いことを意味するので,この2つのシグナルを組み合わせて最終的な買入判断を生成する.
この戦略は,ランダム指数と指数の2つの指標の優位性を組み合わせ,主に以下の特性を有する.
株価の反転の機会を把握し,ランダムなインデックスK線をD線に切り,株価の反転を反映します.
指数は上昇の勢いを判断し,偽の突破を回避する.
パラメータは,指数のパラメータを調整し,戦略を最適化します.
視覚的な購入シグナルは直感的な判断を促します.
ランダム指数と指数の内蔵メカニズム,大量の歴史データサポートを必要とせず,リールディスクに適している.
この戦略にはいくつかのリスクがあります.
購入シグナルが誤報され,損失を完全に回避することができない.
指標のパラメータを正しく設定しないことにより,戦略の効果が損なわれる可能性があります.
株価が急激に波動すると,指標が失敗する可能性が高い.
市場動向を判断できないため,熊市でも買い信号が発せられる.
これらのリスクは,指標のパラメータを調整し,ストップを設定し,大市場のトレンドを考慮するなどの方法によって,できるだけ回避することができます.しかし,任意の量的な戦略は,完全に損失を回避することはできません.一定程度のリスクを負う必要があります.
この戦略は以下の方向から最適化できます.
他の技術指標と組み合わせて,大まかなトレンドを判断し,高額ポジションの開設を避ける.
一回最大損失を抑えるために,最大損失を抑えるメカニズムを増やすこと.
異なる指標パラメータの組み合わせをテストし,最適なパラメータを探します.
ポジション開設条件を高め,誤報の可能性を減らす.
取引コストを考慮し,最低利益目標を設定する.
これらの最適化により,戦略の安定性を高め,損失を軽減し,戦略の価値を最大限に活用することができます.
ランダムの戦略は,株価反転信号と上昇勢力の信号を総合的に考慮する典型的な反転戦略である.それは,売り切れた地域から株価が反転して上昇するチャンスを及ばなく捉え,同時に指数を使って上昇の動きを判断し,偽の突破を避ける.この戦略は,柔軟で,リアルに操作しやすい,リスクが制御可能で,選択可能な量化戦略である.しかし,いかなる戦略も市場リスクを完全に回避することはできません.慎重に扱う必要があります.同時に,戦略のより大きな価値を掘り出すために可能な最適化スペースにも注意する必要があります.
/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Stochastic and Vortex Strategy", overlay=true)
// Stochastic Oscillator settings
kPeriod = input(14, title="K Period")
dPeriod = input(3, title="D Period")
slowing = input(3, title="Slowing")
k = sma(stoch(close, high, low, kPeriod), slowing)
d = sma(k, dPeriod)
// Vortex Indicator settings
lengthVI = input(14, title="Vortex Length")
tr = max(max(high - low, abs(high - close[1])), abs(low - close[1]))
vmPlus = abs(high - low[1])
vmMinus = abs(low - high[1])
viPlus = sum(vmPlus, lengthVI) / sum(tr, lengthVI)
viMinus = sum(vmMinus, lengthVI) / sum(tr, lengthVI)
// Buy condition
buyCondition = crossover(k, d) and viPlus > viMinus
if (buyCondition)
strategy.entry("Buy", strategy.long)
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plot(k, title="%K", color=color.blue)
plot(d, title="%D", color=color.orange)
hline(80, "Overbought", color=color.red)
hline(20, "Oversold", color=color.green)
plot(viPlus, title="VI+", color=color.purple)
plot(viMinus, title="VI-", color=color.red)