
この戦略は,移動平均 ((EMA),相対的に強い指標 ((RSI) と移動平均集散指標 ((MACD) の3つの指標を組み合わせて,複数の時間枠で取引機会を探し,取引を自動化します. この戦略は,市場動向を効果的に追跡し,取引リスクを軽減します.
この戦略は,主にEMA,RSI,MACDの3つの指標に基づいて実行されます. 取引の論理は以下の通りです.
25日EMAと45日EMAを使って金叉とデッドフォークを形成し,取引信号として. 短期EMAで長期EMAを履いて購入し,短期EMAの下で長期EMAを履いて売却する.
RSI指数と結合して偽突破を避ける.RSIが50以上である場合にのみ,金叉形成の買取シグナルを取引する.RSIが50未満である場合にのみ,死叉形成の売り込みシグナルを取引する.
RSIの異なるパラメータ,RSI>30,RSI<30などの条件でより多くの取引機会を探してください.
MACD指標は,EMA取引信号を確認するための補助判断指標として使用できます.
異なる時間枠でより多くの取引機会を見つけることで,戦略の収益性を高めることができます. 同時に,複数の指標を組み合わせることで,誤った取引の発生を減らすことができ,リスクを効果的に制御できます.
この戦略の最大の利点は,複数の指標を組み合わせて,複数のタイムフレームで取引することで,利益の確率を高めることができるということです.主な利点は以下の通りです.
EMA金叉のデッドフォークを使用すると,市場トレンドの変化を効果的に追跡し,取引機会を間に合うように捉えることができます.
RSIは偽突破を防ぎ,取引リスクを軽減します.
複数のRSIパラメータで取引機会を探し,入場数を増加させ,収益を上げます.
MACD指標はEMAの取引シグナルを二次検証し,さらにリスクを軽減します.
複数のタイムフレームで取引し,利益の倍増のチャンス.
この戦略にはいくつかのリスクがあり,以下のような部分に重点を置いています.
EMAの指標は遅滞しており,ショートラインの取引機会を逃している可能性があります.
複数の指標のポートフォリオの取引,パラメータの設定が不適切である場合,超最適化につながる可能性があります.
複数の時間枠での取引は損失を増加させる可能性があり,厳格な止損管理が必要である.
リアル戦では,取引コストの管理に注意し,高周波取引を避ける必要があります.
この戦略は,次のいくつかの側面に焦点を当てて,さらに最適化できる余地があります.
EMAパラメータをテスト最適化して,最適なパラメータ組み合わせを探します.
BOLLチャネル,KD指標など,より多くの補助指標の追加をテストする.
市場変動に応じてストップポジションを調整できる自己適応のストップメカニズムが加わります.
ポジション開設手数に最適化,異なるパラメータで異なる取引手数を使用できます.
入場条件の論理を最適化して,衝突信号を回避するか,信号のフィルタリング強度を高める.
この戦略は,複数の指標信号を統合し,複数の時間周期で取引し,トレンドを追跡する能力とショートラインの機会を捉える能力の両方を備えています.同時に,厳格な入場フィルタリング機構は,戦略に一定のリスク管理能力を備えています.全体的に,この戦略は,収益が安定し,実戦での使用価値があり,推奨されます.
/*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"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Aqualizer
//@version=5
strategy("Aserin Buy and Sell", overlay=true)
shortSMA = ta.sma(close, 25)
longSMA = ta.sma(close, 45)
rsi = ta.rsi(close, 7)
ta.macd(close,12, 26, 9)
atr = ta.atr(3)
longCondition = ta.crossover(shortSMA, longSMA)
shortCondition = ta.crossunder(shortSMA, longSMA)
if (longCondition)
strategy.entry("long", strategy.long, 100, when = rsi > 50)
if (shortCondition)
strategy.entry("short", strategy.short, 100, when = rsi < 50)
if (longCondition)
strategy.entry("long", strategy.long, 100, when = rsi > 30)
if (shortCondition)
strategy.entry("short", strategy.short, 100, when = rsi < 30)
if (longCondition)
strategy.entry("long", strategy.long, 100, when = rsi > 20)
if (shortCondition)
strategy.entry("short", strategy.short, 100, when = rsi < 50)
plot(shortSMA)
plot(longSMA, color=color.black)
if (longCondition)
stopLoss = low - atr * 2,45
takeProfit = high + atr * 2,45
strategy.entry("long", strategy.long, 1, when = rsi > 30)
strategy.exit("exit", "long", stop=stopLoss, limit=takeProfit)
if (shortCondition)
stopLoss = high + atr * 3
takeProfit = low - atr * 3
strategy.entry("short", strategy.short, 1, when = rsi < 30)
strategy.exit("exit", "short", stop=stopLoss, limit=takeProfit)
plot(shortSMA)
plot(longSMA, color=color.black)