この戦略は,高速線と遅い移動平均線との間の黄金十字と死亡十字を計算してエントリーと出口点を判断する.高速線がスローラインを越えると長くなって,高速線がスローラインを下回ると短くなります.
この戦略は,主に移動平均の黄金十字と死十字原理に基づいています.これは,長さ3の速い移動平均線と長さ266の遅い移動平均線を計算します.速い線がスローラインを越えると買い信号が生成され,速い線がスローラインを下回ると売り信号が生成されます.信号を受け取った後に3番目のキャンドルスタイクで市場に参入します.
この傾向を判断するための戦略の基礎は,価格が上昇すると,短期移動平均線がより速く上昇し,価格が下がると,短期移動平均線がより速く下落するということです.したがって,短期高速線と長期遅い線との間のクロスオーバーが発生します.
この戦略の最大の利点は,異なるサイクルの長さの移動平均値との間の黄金十字と死亡十字関係を使用してトレンド逆転点を決定することです.単一の移動平均線やその他の指標と比較して,価格転換をより正確に把握できます.
まず,高速移動平均線は価格変化をより敏感に捉えることができ,ゆっくり移動平均線はノイズをフィルタリングする役割を果たし,トレンド方向性を効果的に特定することができます.この2つの線は偽信号を生成するのを避けるために一緒に働きます.
第二に,この戦略は遅れたエントリー方法を採用し,信号が発生した後,第3のキャンドルスタイクで市場に参入する.これは移動平均振動による間違った取引をさらに回避することができます.
さらに,パラメータの選択は合理的で単純で,複雑な指標を計算せずに判断を完了するために2つの移動平均線のみに依存し,過剰な最適化の可能性を減らす.
この戦略には明らかな欠点やリスクはありませんが,ライブ取引に使用する際にはいくつかの点を注意する必要があります.
まず,動向評価指標として移動平均値のみを頼ることは,他の指標によって識別された取引機会を逃す可能性があります.組み合わせた判断のための代替指標を適切に含めることが推奨されます.
第二に,強いトレンドでは,価格は長期間高速線上または下を走る可能性があります.これは信号生成のない長期間をもたらすでしょう.高速線を価格に近づけるようにパラメータを調整する必要があります.
また,インディケーターパラメータは100%信頼性がない.最適なパラメータは,異なる製品とサイクル期間によって異なります.ライブ取引フィードバックに基づく継続的なテストと最適化は必須です.
最後に,取引規模,ストップ・ロース,収益率に関する正確な評価も重要で,過度の損失や利益の間に合わないことを避ける必要があります.
この戦略にはいくつかの主要な最適化方向があります.
まず,他の補助指標からの判断論理を黄金十字と死十字と一緒に追加することを検討してください.例えば,RSI指標が過買いまたは過売状態を示すとき,取引信号をさらに確認してください.
2つ目は,パラメータ最適化が重要です. サイクル,製品種類,その他の要因に包括的な考慮ができます. 戦略を市場状況により適応できるようにするために,歴史的なバックテストとデモ取引を通じてパラメータをテストし調整し続けます.
第3に,エントリー方法を最適化すること.単純な第3キャンドルスタイクエントリー以外に,
最後に,ストップ・ロストとテイク・プロフィートの方法の改善は同様に重要です.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))