
この戦略は,ビットコインとゴールド市場の短期的な価格変動を捕捉し,利益を上げることを目的とした5分間の振動取引戦略である.これは,EMA平均線,ブリン帯の指標,および入場と出場を停止するための方法を使用する.
この戦略は,高速EMA指標と遅いEMA指標を使用して,トレンド判断システムを構築する.高速EMA上に遅いEMAを横断すると買入信号が生じ,高速EMAの下の横断すると遅いEMAを横断すると売出信号が生じ,短期トレンドの転換を捕捉する.
また,この戦略はブリン帯の指標と組み合わせて価格の波動範囲を判断する.価格がブリン帯の軌道上または中軌道に近づいている場合にのみ取引シグナルを生成する.これはほとんどの偽信号をフィルターする.
入場後,この戦略はATR指数を使用して止損値を計算する。そして,入場の低点として止損を設定し,n倍ATRを減算して,各取引のリスクを制御する。
この戦略の最大の利点は,短期的な傾向を迅速に判断できる高速EMAと遅いEMAの組み合わせによって,短期的な傾向を迅速に判断することができる.ブリンベルトとATRのストップは,リスクを効果的に制御し,比較的安定した振動戦略である.
また,5分周期操作により,この戦略の取引頻度が高くなり,その利益の余地も大きくなります.また,人工的に監視または最適化することも便利です.
この戦略の主なリスクは,whipsaws leading to multiple small lossesによる小連鎖の損失である.価格が1つの範囲で振動するときに,EMAの交差信号が頻繁に発生し,不必要な取引と小連鎖の損失を引き起こす可能性がある.
さらに,短期的な波動策として,高取引頻度による取引コストリスクにも直面している.取引コストがあまりにも高い場合,利益の余地が侵される可能性がある.
この戦略は以下の方法で最適化できます.
RSI,ストキャスティクスなどの他のオシレータを補助判断指標として追加し,波動的な市場での被套を避ける.
機械学習モデルの追加により,トレンドの方向性を判断し,入学の正確性を向上させる.
遺伝的アルゴリズムやランダムフォレストなどの方法を使用して,パラメータを自動的に最適化して,現在の市場状況に適合させる.
ディープ・ラーニングと組み合わせて,Key SupportとKey Pressureの位置を判断し,最適の止損位置を設定する.
株価指数,外貨,暗号通貨などの異なる取引品種をテストし,取引効果が最も良い種を主要な取引基準として選択します.
全体として,この戦略は,短期的な頻度の取引戦略として,価格の短期的な波動とトレンドの逆転を効果的に捕捉し,迅速なEMA判断,ブリンフィルターとATRのストップを介してリスクを制御し,安定した収益を得ることができます.
/*backtest
start: 2023-12-19 00:00:00
end: 2024-01-10 00:00:00
period: 1h
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/
// © singhak8757
//@version=5
strategy("Bitcoin and Gold 5min Scalping Strategy2.0", overlay=true)
// Input parameters
fastLength = input(5, title="Fast EMA Length")
slowLength = input(13, title="Slow EMA Length")
bollingerLength = input(20, title="Bollinger Band Length")
bollingerMultiplier = input(2, title="Bollinger Band Multiplier")
stopLossMultiplier = input(1, title="Stop Loss Multiplier")
// Calculate EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// Calculate Bollinger Bands
basis = ta.sma(close, bollingerLength)
upperBand = basis + bollingerMultiplier * ta.stdev(close, bollingerLength)
lowerBand = basis - bollingerMultiplier * ta.stdev(close, bollingerLength)
// Buy condition
buyCondition = ta.crossover(fastEMA, slowEMA) and (close <= upperBand or close <= basis)
// Sell condition
sellCondition = ta.crossunder(fastEMA, slowEMA) and (close >= lowerBand or close >= basis)
// Calculate stop loss level
stopLossLevel = ta.lowest(low, 2)[1] - stopLossMultiplier * ta.atr(14)
// Plot EMAs
plot(fastEMA, color=color.rgb(0, 156, 21), title="Fast EMA")
plot(slowEMA, color=color.rgb(255, 0, 0), title="Slow EMA")
// Plot Bollinger Bands
plot(upperBand, color=color.new(#000000, 0), title="Upper Bollinger Band")
plot(lowerBand, color=color.new(#1b007e, 0), title="Lower Bollinger Band")
// Plot Buy and Sell signals
plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)
// Plot Stop Loss level
plot(stopLossLevel, color=color.orange, title="Stop Loss Level")
// Strategy logic
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.exit("Stop Loss/Close", from_entry="Buy", loss=stopLossLevel)
strategy.close("Sell", when = sellCondition)