この戦略は,市場逆転を決定するために二重移動平均を使用する短期間の取引戦略である.前回の3つのキャンドルスティックバーの閉じる関係を調べることによって,現在の上昇傾向または下落傾向を判断する.トレンド逆転が検出されると,適切なロングまたはショートポジションが取られる.一方,この戦略は,短い信号をフィルタリングし,取引リスクを軽減するために単純な移動平均を使用する.
この戦略の主な判断指標は,前3本のキャンドルスタイクバーの閉値関係である.前3本のバーがすべて黒いキャンドルである場合,現在のトレンドが下落傾向にあると判断される.前3本のバーがすべて白いキャンドルである場合,現在のトレンドが上向きであると判断される.下落傾向の後には大きな白いキャンドルが現れる場合,ロング;上向きトレンドの後には大きな黒いキャンドルが現れる場合,ショート.
ロングに行くための特定の判断論理は,前3本のキャンドルスタイクバーがすべて黒いキャンドルで,最後のキャンドルスタイクバーが大きな黒いキャンドルである場合,ロングに行く.閉じる論理は,価格が前のキャンドルスタイクバーの最高点を突破するとポジションを閉じる.
ショートに行くための特定の判断論理は,前3本のキャンドルスタイクバーがすべて白いキャンドルで,最後のキャンドルスタイクバーが大きな白いキャンドルで,価格は単純な移動平均値以下である場合,ショートに行く.閉じる論理は,価格が前のキャンドルスタイクバーの最低点を突破するとポジションを閉じる.
移動平均の長さと大きな白と黒のキャンドルを判断する大きさは,ユーザー入力によって設定されます.
市場が逆転するポイントを 特定し,トレンドに追いかけるのを避け,損失を減らすために ろうそくのパターンを使用してください.
移動平均をフィルター信号と組み合わせ 目標ラリー中に早速ショートになるのを避けましょう
戦略の論理は シンプルで明快で 分かりやすく 変更も容易です
カスタマイズ可能なパラメータは,異なる品種と時間サイクルに適しています.
ある条件では,短期的な調整機会を適時に把握することが有益です.
市場には,3つの連続した大きな黒か白のキャンドルがあり,誤った反転を形成し,ポジションを取ると損失を引き起こす可能性があります.このリスクを軽減するために,より厳しい反転基準を設定します.
リスク を 制御 する ため に ストップ ロス ポイント を 設定 する.
パラメータの設定が正しくない場合,過剰な取引または機会を逃す可能性があります. パラメータは繰り返しテストと最適化が必要です.
より広い市場が大きく変動するときに 罠にはまりやすい.誤った判断を避けるために 白/黒のろうそくの決定基準を高めましょう.
BOLL,MACDなどより複雑な指標とキャンドルスタイクパターンを組み合わせて逆転を決定し,判断の精度を向上させる.
取引量の不足を避けるために,キャンドルスタイクパターンと組み合わせた取引量または波動性指標を追加します.
ストップ損失ロジックを追加します.固定点または追跡ストップ損失を設定します.
パラメータを最適化して 最高のパラメータの組み合わせを見つけます
最適なアプリケーション環境を見つけるために,より多くの品種とサイクルデータをテストします.
一般的には,この戦略は,簡単な指標を使用して短期間の市場逆転を捉える比較的普遍的な短期戦略である.その利点は理解しやすい,論理が明確で,いくつかの最適化によって良い結果が得られる.しかし,ストップ損失,厳格な逆転基準などの手段を必要とする典型的な逆転戦略リスクもあります.量的な取引を学び,実践するための導入戦略として機能することができます.
/*backtest start: 2023-12-07 00:00:00 end: 2023-12-14 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © stormis // Based on strategy by hackertrader (original idea by QuantpT) //@version=5 strategy(title="Mean reversion", shorttitle="MeanRev", precision=16 , overlay=true) moveLimit = input(70) maLength = input(200) ma = ta.sma(close, maLength) downBar = open > close isThreeDown = downBar and downBar[1] and downBar[2] isThreeUp = not downBar and not downBar[1] and not downBar[2] isBigMoveDown = ((open - close) / (0.001 + high - low)) > moveLimit / 100.0 isBigMoveUp = ((close - open) / (0.001 + high - low)) > moveLimit / 100.0 isLongBuy = isThreeDown and isBigMoveDown isLongExit = close > high[1] isShortBuy = isThreeUp and isBigMoveUp isShortExit = close < low[1] strategy.entry("Entry Long", strategy.long, when=isLongBuy) strategy.close("Entry Long", when=isLongExit) strategy.entry("Entry Short", strategy.short, when=close < ma and isShortBuy) strategy.close("Entry Short", when=isShortExit) plot(ma, color=color.gray)