ジンセン1分オシレーション戦略


作成日: 2024-02-19 10:45:18 最終変更日: 2024-02-19 10:45:18
コピー: 1 クリック数: 738
1
フォロー
1617
フォロワー

ジンセン1分オシレーション戦略

概要

金森1分震動戦略 (Gem Forest One Minute Scalping Strategy) は,短線量化取引戦略である.この戦略は,複数の指標を総合的に適用して,1分間の時間枠内の市場の震動特性を識別し,それに基づいて長短ポジションを切り替えて,超短線セールスを実現する.

戦略原則

  1. ATR指標は,価格変動の範囲を判断するために,上下を構成しています.
  2. EMA指数は金叉死叉の取引シグナルを構築している
  3. 双RSI指標は金叉のデッドフォークシグナルを確認した
  4. 指数信号と価格位置を組み合わせて,特定のエントリーポイントとエグジットポイントを決定します.

価格が下線を下回ったとき,急激なEMAは金叉を形成し,快線RSI上は慢線RSIを貫通し,買入シグナルを生成する.価格が上線上より高いとき,急激なEMAは死叉を形成し,快線RSI下は慢線RSIを貫通し,売り出シグナルを生成する.入場後,止損と止まりの退出を設定する.

優位分析

  1. 複数の指標の組み合わせ,総合的な判断,高い信頼性
  2. 戦略操作の頻度が高く,収益の余地が強い
  3. 戦略の撤回 小さい 安定性良好
  4. 1分またはそれ以下の周期で超短線アベリゲートが可能

リスク分析

  1. 超短線操作,ネットワークとハードウェアに対する要求が高い
  2. 超短線は過剰取引や資金分散を招く
  3. 指示器を正しく設定しない場合,誤った信号が発生する可能性があります.
  4. 特定の市場の状況により,急激な変動で損をする可能性が高い

これらのリスクに対応して,指標パラメータを最適化し,ストップ・ストップの方法を調整し,一日の最大取引回数を適切に制限し,流動性が良い,波動率が適度な取引品種を選択することができます.

戦略最適化の方向性

  1. テスト結果に対する異なるATR周期パラメータの影響
  2. EMAの種類を試すか,または EMAの1つを他の指標に変更する
  3. RSI周期パラメータを調整するか,KDJ,ストキャスティクスなどの他の振動指標を試す
  4. エントリー・ポイントの最適化方法,例えば,トレンドの判断に多くの要素を組み合わせる方法
  5. 利益リスク比を最適化するためにストップ・ロスト・ストップポイントを調整する

要約する

金森1分震動戦略は,超短線量化取引の特性を十分に考慮し,指標パラメータの設定は合理的で,複数の指標の確認と組み合わせを使用し,信頼性が高く,リスクを厳格に制御する前提下では,強力な収益の可能性があり,十分な操作能力と心理的な資質を持つ投資家にとって非常に適しています.

ストラテジーソースコード
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Gem Forest 1 Dakika Scalp", overlay=true)

source = close
atrlen = input.int(14, "ATR Period")
mult = input.float(1, "ATR Multi", step=0.1)
smoothing = input.string(title="ATR Smoothing", defval="WMA", options=["RMA", "SMA", "EMA", "WMA"])

ma_function(source, atrlen) => 
    if smoothing == "RMA"
        ta.rma(source, atrlen)
    else
        if smoothing == "SMA"
            ta.sma(source, atrlen)
        else
            if smoothing == "EMA"
                ta.ema(source, atrlen)
            else
                ta.wma(source, atrlen)

atr_slen = ma_function(ta.tr(true), atrlen)
upper_band = atr_slen * mult + close
lower_band = close - atr_slen * mult

ShortEMAlen = input.int(21, "Fast EMA")
LongEMAlen = input.int(65, "Slow EMA")
shortSMA = ta.ema(close, ShortEMAlen)
longSMA = ta.ema(close, LongEMAlen)
RSILen1 = input.int(25, "Fast RSI Length")
RSILen2 = input.int(100, "Slow RSI Length")
rsi1 = ta.rsi(close, RSILen1)
rsi2 = ta.rsi(close, RSILen2)
atr = ta.atr(atrlen)

RSILong = rsi1 > rsi2
RSIShort = rsi1 < rsi2

longCondition = open < lower_band
shortCondition = open > upper_band
GoldenLong = ta.crossover(shortSMA,longSMA)
Goldenshort = ta.crossover(longSMA,shortSMA)

plotshape(shortCondition, title="Sell Label", text="Sell", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)
plotshape(longCondition, title="Buy Label", text="Buy", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)
plotshape(Goldenshort, title="Golden Sell Label", text="Golden Crossover Short", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.blue, textcolor=color.white, transp=0)
plotshape(GoldenLong, title="Golden Buy Label", text="Golden Crossover Long", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.yellow, textcolor=color.white, transp=0)

if (longCondition)
    stopLoss = low - atr * 2
    takeProfit = high + atr * 5
    strategy.entry("long", strategy.long, when = RSILong)

if (shortCondition)
    stopLoss = high + atr * 2
    takeProfit = low - atr * 5
    strategy.entry("short", strategy.short, when = RSIShort)

plot(upper_band)
plot(lower_band)
plot(shortSMA, color = color.red)
plot(longSMA, color = color.yellow)