この戦略は,50期間のEMAとキャンドルスティックの閉じる価格を使用してシグナルを決定します.価格がEMAラインを下向きに突破すると,ショートになります.価格が2-3キャンドルスティックで引き下げられた後,飲み込むパターンを持つキャンドルスティックが現れると,短期取引のためにキャンドルスティックを閉じた後にショートポジションを開きます.
まず,50期EMA線が計算される.その後,価格がこのEMA線を下向きに突破するかどうかを判断する.破られた場合,下向きインパルス信号を記録する.次に,次のキャンドルスタイクが上向きのプルバックを持っているかどうかをチェックし,プルバック幅が前のキャンドルスタイクの最低価格よりも高くなった場合,プルバック信号を記録する.プルバックの後,次の1-2キャンドルスタイクが飲み込むパターンを形成しているかどうかを判断する.飲み込むことが形成された場合,飲み込む信号を記録する.下向きの衝動,引き戻し,飲み込む信号が一緒に現れる場合,短期取引のために飲み込むキャンドルスタイクが閉じた後にショートポジションを開く.
ストラテジーは50期間のEMA線をプロットする.ショートシグナルが起動すると,キャンドルスティックの下に赤色下方三角形をプロットする.また,ストップ損失レベルを与え,赤色ストップ損失線をプロットする.
この戦略は,トレンド判断とパターン認識を組み合わせ,トレンド逆転の機会を効果的に捉えることができます.まず,トレンド方向を決定するためにEMAを使用し,その後,偽のブレイクによって誤導されないように引き下げ中に飲み込むパターンを使用します.ストップロスは明確であり,引き下げはよく制御されています.短期取引に適しています.
この戦略は,主にトレンド方向を決定するためにEMAに依存する.暴力的なブレイクアウトの場合,誤判が発生する可能性があります. 吸収パターン判断にはいくつかの主観性があり,量と深さはパラメータ最適化が必要です. ストップロスのポジションは市場の変動に基づいて調整する必要があります. 全体的に,この戦略は安定したインデックス市場と短期取引により適しています.
EMA期間のパラメータ,引き戻しキャンドルの数,飲み込むキャンドルの数などのパラメータは,より良い戦略パフォーマンスのために最適化することができます. さらに,他の指標は,トレンドと引き戻し信号を決定するために考慮することができます.
EMA 期間の最適化: 30,40 または 60 のような EMA 期間のテストを重ねて最適な期間の選択をします.
プルバックキャンドルの数:最適なプルバック信号を見つけるために2〜5個のキャンドルをテストします.
吸収するキャンドルの数:最適の吸収信号を見つけるために1〜3個のキャンドルをテストします.
ストップ・ロスト・マルチプル: 最適なストップ・ロスト・ポジションを 0.5-2 ATR でテストする.
MACD,KDJなどの他の指標を追加することを検討し,信号の精度を向上させる.
インデックスや原油や金などの 様々な商品をテストして 範囲を広げます
この戦略は,まずトレンド方向を決定するためにEMAを使用し,その後,短信号を生成するために引き下げと吞没パターンを組み合わせ,典型的なトレンド逆転戦略です.トレンド判断とパターン認識を組み合わせることで,逆転機会を効果的に捉えることができます.パラメータ最適化後に,良い結果を達成することができます.全体的に,この戦略は操作が簡単で,管理可能なリスクがあり,短期取引に適しています.その利点は,明確なストップ損失ポイントで,逆転トレンドを間に合って捉えることにあります.一般的に,この戦略は良い実用的な価値を持っています.
/*backtest start: 2024-01-10 00:00:00 end: 2024-01-17 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Linor Pullback Short Strategy", shorttitle="EMA Pullback", overlay=true) // Define strategy parameters ema_length = input(50, title="EMA Length") pullback_candles = input(3, title="Number of Pullback Candles") engulfing_candles = input(1, title="Number of Engulfing Candles") stop_loss = input(1, title="Stop Loss (in ATR)") // Calculate the EMA ema = ema(close, ema_length) // Define bearish impulse condition bearish_impulse = crossover(close, ema) // Define pullback condition pullback_condition = false for i = 1 to pullback_candles if close[i] > close[i - 1] pullback_condition := true else pullback_condition := false // Define engulfing condition engulfing_condition = false for i = 1 to engulfing_candles if close[i] < open[i] and close[i-1] > open[i-1] engulfing_condition := true else engulfing_condition := false // Define the entry condition entry_condition = bearish_impulse and pullback_condition and engulfing_condition // Plot the EMA on the chart plot(ema, color=color.blue, title="50 EMA") // Plot shapes on the chart to mark entry points plotshape(entry_condition, style=shape.triangleup, location=location.belowbar, color=color.red, size=size.small) // Define and plot the stop loss level atr_value = atr(14) stop_loss_level = close + atr_value * stop_loss plot(stop_loss_level, color=color.red, title="Stop Loss") // Strategy orders strategy.entry("Short", strategy.short, when=entry_condition) strategy.exit("Stop Loss/Target", from_entry="Short", stop=stop_loss_level, when=strategy.position_size[1] > 0) // Plot strategy performance on the chart