この戦略は,9日EMAを判断指標として使用し,価格がEMAの突破状況に基づいて市場の方向を判断し,典型的なトレンドフォロー戦略に属します.価格がEMAを破るとき,入場は多/空で,価格の回調後に止まります.
9日間のEMA平均線を多空区分線として計算する. K線は,開盘価格がEMA線の下,閉盘価格が上であるとき,上方突破が発生したと考えられ,多入場する.開盘価格がEMA線上,閉盘価格の下であるとき,下方突破が発生したと考えられ,空き入場する.
入場後にストップを設定し,ストップ価格をKラインの最高価格または最低価格の近くで設定する.つまり,上方突破ストップは前Kラインの高点,下方突破ストップは前Kラインの低点である.価格がストップポイントに達した後,取引を終了するのを待つ.
この戦略は,EMA平均線を使ってトレンドの方向を判断し,価格がEMAを破るときに入場することで,トレンドを効果的に追跡することができる. 止まる点は入場点の近くにあり,短線回調を捕捉するのに適している. 戦略操作は簡単で直接で,自動化が容易である.
EMA周期はカスタマイズ可能で,適応性が強い.止まり戦略は直接効率的で,長期にわたる損失を回避する.反省データは,傾向が明らかな段階では,戦略は良好なパフォーマンスを示している.
この戦略は単一のEMA指標のみを使用し,振動的な状況でトレンドの方向を識別することは困難であり,過剰な誤信号を生成する可能性がある. 止まる点は入場点の近くにあり,ポジションの時間が短すぎてもトレンドの動きを十分に捕捉することができない.
EMA周期パラメータを適切に調整し,他の技術指標を補助判断に追加することもできます.移動ストップ,ダイナミックストップなどのストップ戦略を最適化することで,戦略の安定性も向上させることができます.資金管理の面で単一のポジションの規模を制御することもリスクを下げることができます.
テストはEMAパラメータを最適化し,より適切な周期パラメータを見つける.
増量能指数,波動率指数などの判断規則
モバイル・ストップ,ダイナミック・ストップなどの停止策の最適化
複数の技術指標を組み合わせた戦略の組み合わせ.
機械学習などの手法を使って 市場動向の方向性を判断する.
厳格な資金管理を行い,単一のポジションの規模を制御する.
この戦略はシンプルなEMA突破逆調整取引戦略であり,アイデアが明確で実行しやすいという利点がありますが,単一のEMA指標のみに依存する効果は限られています.複数の技術指標の最適化を導入することにより安定性を高めることができます.全体的に,それは量化取引のための基本戦略的思考を提供します.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("larry willians teste2", overlay=true)
//Window of time
start = timestamp(2019, 00, 00, 00, 00) // backtest start window
finish = timestamp(2019, 12, 31, 23, 59) // backtest finish window
window() => true // create function "within window of time"
ema9=ema(close,9) // Ema de 9 periodos
//Condições de compra
c1= (open< ema9 and close > ema9) //abrir abaixo da ema9 e fechar acima da ema9
if(window())
if(c1)
strategy.entry("Compra", true, stop = high) // Coloca ordem stopgain no topo anterior
else
strategy.cancel("Compra") // Cancela a ordem se o proximo candle não "pegar"
//codições de venda
v1= (open> ema9 and close < ema9) // abrir acima da ema9 e fechar abaixo ema9
if(window())
if (v1)
strategy.exit("Venda", from_entry = "Compra", stop = low) // Saida da entrada com stop no fundo anterior
else
strategy.cancel("Venda") //Cancela a ordem se o proximo candle não "pegar"