
この戦略は,30日,60日および200日単一の移動平均の金叉と死叉をベースに取引信号を形成する.短期移動平均の上で長期移動平均を穿越すると,買い信号が形成され,短期移動平均の下に長期移動平均を穿越すると,売り信号が形成される.この戦略は,トレンド追跡と均線交差の利点を組み合わせて,長期トレンドを捉え,トレンド転換点で取引信号を形成することができる.
この戦略は,3つの異なる周期の単純な移動平均 (30日線,60日線,200日線) を使用する.その中で,30日線は短期トレンドを表し,200日線は長期トレンドを表し,60日線は中間参照である.短期トレンドラインで長期トレンドラインを横切るときは,市場が横切って上りして買い信号を生じることを示す.短期トレンドが長期トレンドラインを横切って下りるときは,市場が上りして上りして整合して売り信号を生じることを示す.
この戦略は,リスクを管理するためにストップとストップポイントを同時に組み合わせている. 損失を制御するために購入後に40ポイントのストップスペースを設定している. 同時に,利益をロックするために40ポイントのストップスペースを設定している.
この戦略は以下の利点があります.
トレンド追跡と瞬時のシグナルの優位性を組み合わせて,長期のトレンド判断とSETSの短期的な買出点の両方を考慮します.
均線交差のタイムステップは明瞭で,重複信号を複数生成することは容易ではない.
ストップダストの設定は合理的で,単一損失を効果的に制御できます.
戦略の論理はシンプルで明快で,理解し,実行しやすい.
移動平均の技術は成熟し,安定し,広く適用されている.
この戦略にはいくつかのリスクがあります.
短期的なストップは破られ,完全に損失を回避することはできません.
金叉死叉の信号は偽突破が発生する可能性があります.
大盘が振動する時には,ストップダストを合理的に設定するのは難しい.
パラメータ設定は周期選択などの主観性があり,戦略のパフォーマンスに影響を与える可能性があります.
この戦略は以下の点で最適化できます.
創新的なストップメカニズム,トラッキングストップ,指数移動ストップなどのダイナミックストップ方式を採用し,損失のリスクを低減する.
より多くの周期パラメータの優劣をテストし,最適のパラメータ組み合わせを探すことなど,最適化パラメータ選択.
ポジション管理の仕組みを増やし,資金管理を通じて全体的な利益を最適化する.
偽突破をフィルタリングするモメンタム指数と組み合わせる.
機械学習のアルゴリズムを増やし,ビッグデータを使ってより優れたルールを作る.
この記事では,均等線金叉死叉に基づく取引戦略について詳しく説明します. この戦略は,トレンド追跡と瞬時の選択のタイミングを兼ね,トレンド信号として30,60,200日移動平均の交差を用います. 止損は合理的に設定され,単一損失を効果的に制御できます. しかし,隠蔽,偽突破などのリスクもあります. 止損方法を改善し,パラメータを最適化し,資金管理など,多くの面で戦略を強化し,最適化することができます.
/*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("Estrategia de Cruce de Medias Móviles", overlay=true)
// Medias móviles
ma30 = ta.sma(close, 30)
ma60 = ta.sma(close, 60)
ma200 = ta.sma(close, 200)
// Cruce de medias móviles
crossoverUp = ta.crossover(ma30, ma200)
crossoverDown = ta.crossunder(ma30, ma200)
// Señales de compra y venta
longCondition = crossoverUp
shortCondition = crossoverDown
// Ejecución de órdenes
if (longCondition)
strategy.entry("Buy", strategy.long)
strategy.exit("Cover", "Buy", stop=close - 40.000, limit=close + 40.000)
if (shortCondition)
strategy.entry("Sell", strategy.short)
strategy.exit("Cover", "Sell", stop=close + 40.000, limit=close - 40.000)
// Plot de las medias móviles
plot(ma30, color=color.blue, title="MA 30")
plot(ma60, color=color.orange, title="MA 60")
plot(ma200, color=color.green, title="MA 200")
// Condiciones para cerrar la posición contraria
if (strategy.position_size > 0)
if (crossoverDown)
strategy.close("Buy")
if (strategy.position_size < 0)
if (crossoverUp)
strategy.close("Sell")