
この戦略は,速い移動平均と遅い移動平均の金叉死叉を計算して,入場と出場のタイミングを判断する.速い線が低いからゆっくりとした線を通るときは,多めに;速い線が低いから低いからゆっくりとした線を通るときは,空いてください.
この戦略は主に移動平均の金叉死叉原理に基づいている. 3の長さの快速移動平均と266の長さのゆっくりとした移動平均を計算する. 速い線が低いからゆっくりとした線を通るときに買い信号を生じ,速い線が上から低いからゆっくりとした線を通るときに売り信号を生じます. 信号を受け取った後,第3のK線は出場委託する.
この戦略は,価格が上昇すると,短期移動平均はより速く上下移動し,価格が低下すると,短期移動平均はより速く下下移動することを前提としてトレンドを判断する.したがって,短期の快線と長期の慢線の間に横断が生じます.
この戦略の最大の利点は,異なる長さの周期の移動平均を計算し,それらの間の金叉死叉関係を利用してトレンドの転換点を判断することです.単一の移動平均などの指標と比較して,価格の転換をより正確に捉えることができます.
まず,快速移動平均線は価格変化をより敏感に捉え,遅速移動平均線は波ノイズとして機能し,トレンドの方向を効果的に識別することができる.二つの均等線が配合して使用され,誤った信号が発生しない.
第二に,この戦略は,信号発生後に第3のK線を入力する遅滞入場方法を採用した.これは,均線振動による誤った取引をさらに回避することができる.
さらに,パラメータの選択は合理的に単純で,移動平均の2つだけで判断が完了し,複雑な指標を計算する必要がなく,過度に最適化の可能性が低くなっています.
この戦略には明らかな欠陥やリスクはありませんが,リトルディスクを使用する際には注意すべき点はいくつかあります.
まず,移転平均というトレンドの判断指標のみを頼り,他の指標で判断される入場機会を逃す可能性がある。代替指標を適切に加え,総合判断を検討することができる。
第二に,強烈なトレンドでは,価格は長期間,快線の上または下で動作する可能性があります.この場合,長期間,信号を生成しない状況が発生します. 快線を価格に近いものにするためにパラメータを調整する必要があります.
再び,指標パラメータは100%信頼できないし,異なる品種と周期で最適なパラメータも異なる.実盤のフィードバックに基づいて継続的にテストおよび最適化が必要である.
最後に,取引者数,ストップ・ロズ・ポイント,ストップ・ストップ・ポイントの正確な評価も必要であり,過大な損失や遅いストップを避ける必要があります.
この戦略にはいくつかの改善策があります.
第”に,金叉死叉の同時,他の補助指標の判断論理を追加することを考えることができます.例えば,RSI指標が超買い超売りを示しているときに,取引信号をさらに確認します.
第二に,パラメータの最適化が不可欠である.周期,取引品種などの要因を総合的に考慮し,歴史の追溯と実盤の模擬の方法によって,絶えずパラメータをテストし,調整し,戦略を市場環境により適合させることができる.
三つ目は,入場方法を最適化すること.簡単な第三K線入場に加えて,遅滞しているN根K線入場,差値入場,新高新低入場を突破する方法などについて研究することができる.具体的には品種と周期による微調整を行う.
最後に,完善したストップ・ストップの方法も同様に重要です. 波動率ATR指標と組み合わせて,ストップ・ストップの幅をリアルタイムで調整できます. さらに,移動ストップ,分批ストップなどの方法も検討に値します. これらは,戦略の収益率を大幅に向上させるでしょう.
この戦略は,移動平均金叉死叉の価格の将来の方向を判断する古典的原理を適用し,合理的なパラメータを設定して取引シグナルを生成し,遅滞入場および止損停止方法を使用してリスクを制御する,簡単な実用的な定量化取引戦略である.指標パラメータを最適化,指標システムを完善し,入場出場論理を調整するなど,多くの点でさらなる改善の可能性がある.
/*backtest
start: 2023-11-13 00:00:00
end: 2023-11-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Cruzamento de Médias Móveis", overlay=true)
// Definir os parâmetros da estratégia
length_fast = 3
length_slow = 266
price = close
take_profit = 10000.0
stop_loss = 2000.0
// Calcular as médias móveis
fast_ma = vwma(price, length_fast)
slow_ma = sma(price, length_slow)
// Definir as condições de entrada
buy_signal = crossover(fast_ma, slow_ma)
sell_signal = crossunder(fast_ma, slow_ma)
// Enviar ordens de negociação com base nas condições de entrada
if (buy_signal[3]) // Verifica se o sinal de compra ocorreu 3 velas atrás
strategy.entry("Buy", strategy.long)
strategy.exit("Sell", "Buy", profit=take_profit, loss=stop_loss)
if (sell_signal[3]) // Verifica se o sinal de venda ocorreu 3 velas atrás
strategy.entry("Sell", strategy.short)
strategy.exit("Cover", "Sell", profit=take_profit, loss=stop_loss)
// Plotar as médias móveis no gráfico
plot(fast_ma, color=color.rgb(238, 0, 0))
plot(slow_ma, color=color.rgb(0, 132, 240))