また,ストップ・ロスはストップ・ロスのメカニズムを含んでいる.価格が20%以上上昇した場合,ストップ・ロスはそのポジションのエントリー価格の1.2倍に設定される.これはほとんどの利益をロックし,損失を回避する.また,戦略の良質な収益を確保する.
ダブル・ムービング・平均金十字アルゴリズムは,いくつかのリスクも伴う.この戦略は,取引エントリーと出口を決定するために価格と移動平均の関係だけに依存する.移動平均がそのような動きを時間内に反映できない間に価格が異常に変動した場合,不正な取引信号が生成される可能性がある.そのような場合,信号を盲目的にフォローして損失を伴うのを避けるために,価格の動きの手動検査が必要である.
この戦略にはさらなる強化の余地がある.第一に,シグナル品質を向上させるために移動平均期パラメータを最適化するために異なるパラメータをテストすることができる.第二に,価格統合期間中に偽信号を生成しないように波動性指標を組み込むことができる.第三に,ストップロスのポジショニングを自動的に最適化するために機械学習方法が適用できる.第四に,相関資産からの情報は,シグナル信頼性を向上させるためにポートフォリオ取引システムを確立するために利用できる.
/*backtest start: 2023-01-16 00:00:00 end: 2024-01-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title = "Estratégia de Cruzamento das Linhas") // Configuração da Média Móvel emaPeriod = 8 ema= ema(close, emaPeriod) ema1= ema(close[1], emaPeriod) lowestEMA = lowest(ema, 8) // Calcula a diferença entre o preço e a média móvel diff = close - ema diff1 = close[1] - ema1 diffLow = ema - lowestEMA //Condições diffZero = diff < 0 diffUnder = diff < diffLow diffUm = diff > 0 Low0 = diffLow == 0 gain = strategy.position_avg_price*(1+0.2) // Sinais de entrada buy_signal = diffUnder and crossover(diff, diff1) and diffZero sell_signal = diffUm and diffUnder and crossunder(diff, diff1) // Executa as operações de compra/venda if buy_signal strategy.entry("Buy", strategy.long) if sell_signal strategy.exit("Buy", limit = gain) // Plota as linhas plot(0, title="Linha Zero", color=color.gray) plot(diff, title="Diferença", color=color.blue, linewidth=2) plot(diffLow, title="Diferença", color=color.red, linewidth=2)