資源の読み込みに... 荷物...

1-3-1 赤緑のキャンドルスタイク逆転戦略

作者: リン・ハーンチャオチャン開催日:2023年10月27日 16時41分
タグ:

img

概要

1-3-1赤緑のろうそく逆転戦略は,ろうそくパターンをベースに購入・売却信号を生成する戦略である.1つの赤色のろうそくが3つの緑色のろうそくによって逆転したときの購入機会を探します.

原則

この戦略の基本的な論理は

  1. 現在のキャンドルスタイクが赤キャンドルであるかどうかを確認します.つまり,閉じる価格は開く価格よりも低いです.
  2. 前の3個のキャンドルスタイクが緑色のキャンドルであるかどうかを確認します.つまり,閉じる価格は開く価格より高いです.
  3. 最後の緑のキャンドルの閉店価格が前2つの緑のキャンドルより高いかどうかを確認します.
  4. 上記条件を満たす場合は,赤いキャンドルの閉じる時に長い行く
  5. 赤キャンドルの最低価格でストップ損失を設定する
  6. 入場価格で利益を得ること + 入場からストップ損失までの距離

この戦略では,赤いキャンドルが逆転したときに購入することができます. 続いてのトレンドは上昇する可能性が高いからです. ストップ・ロストとテイク・プロフィートはリスクを制御し,利益をロックします.

利点分析

1-3-1 赤緑の逆転戦略には以下の利点があります

  1. シンプルで明快な論理,理解し実行しやすい
  2. インディケーターに頼らずにキャンドルスタイクパターンの機能を活用し,過剰な最適化問題を回避する
  3. 客観的な実行のための明確な入出規則があります
  4. 各取引のリスク/リターンを制御するためのストップ・ロストとテイク・プロフィートをセットします.
  5. バックテストの結果は良好で,ライブ取引に良い結果をもたらす可能性が高い

リスク分析

この戦略に注意すべきリスクは:

  1. キャンドルスタイクパターンは,将来の動きを完璧に予測することはできません,いくつかの不確実性があります
  2. 株の特異性により 勝率が低い可能性があります
  3. 市場動向を考慮しない 持続的な下落傾向におけるリスク保持
  4. 取引コストとスライドを考慮しない,実際のパフォーマンスは劣る可能性があります

解決策:

  1. MAなどと組み合わせてシグナルをフィルタリングし,エントリー成功率を向上させる
  2. 位置のサイズを調整し,複数のエントリをスケールします
  3. ストップ・ロスを動的に調整し,市場状況や停止取引に基づいて調整する
  4. ストップ・ロスト/テイク・プロフィート比をテストする
  5. 取引コストを含む実際のパフォーマンスをテストする

オプティマイゼーションの方向性

この戦略を最適化できるいくつかの方法:

  1. 市場指数フィルタリング - 短期・中期市場傾向に基づいてシグナルをフィルタリングし,上昇傾向でロング,下落傾向で取引を停止する

  2. ボリューム確認 - グリーンキャンドルのボリュームが増加した場合にのみロングに行く

  3. ストップ・ロスト/テイク・プロフィートの比率を最適化 - 最適なパラメータを見つけるために異なる比率をテストする

  4. ポジションサイズ最適化 - 単一の取引リスクを減らすために複数のエントリをスケールする

  5. より多くのフィルターを追加します.例えば,MA,波動性など,高い確率のエントリを確保します.

  6. 大型データに関する機械学習 - 多くの歴史的データを収集し,MLを通じて最適なパラメータの限界値を訓練する

結論

1-3-1赤緑の逆転戦略は,全体としてシンプルで実践的な短期間の取引戦略です. 明確なエントリーと出口ルールと良いバックテスト結果があります. いくつかの最適化措置により,信頼性の高い量取引戦略になることができます. リスク管理は,資本を適切に管理するためにも重要です.


/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//by Genma01
strategy("Stratégie tradosaure 1 Bougie Rouge suivi de 3 Bougies Vertes", overlay=true, default_qty_type = strategy.percent_of_equity,  default_qty_value = 100)

// Définir les paramètres
var float stopLossPrice = na
var float takeProfitPrice = na
var float stopLossPriceD = na
var float takeProfitPriceD = na

// Vérifier les conditions
redCandle = close[3] < open[3] and low[3] < low[2] and low[3] < low[1] and low[3] < low[0]
greenCandles = close > open and close[1] > open[1] and close[2] > open[2]
higherClose = close > close[1] and close[1] > close[2]

// Calcul du stop-loss
if (redCandle and greenCandles and higherClose) and strategy.position_size == 0
    stopLossPrice := low[3]

// Calcul du take-profit
if (not na(stopLossPrice))  and strategy.position_size == 0
    takeProfitPrice := close + (close - stopLossPrice)

// Entrée en position long
if (redCandle and greenCandles and higherClose)  and strategy.position_size == 0
    strategy.entry("Long", strategy.long)

// Sortie de la position
if (not na(stopLossPrice))  and strategy.position_size > 0
    strategy.exit("Take Profit/Stop Loss", stop=stopLossPrice, limit=takeProfitPrice)

if strategy.position_size == 0
    stopLossPriceD := na
    takeProfitPriceD := na
else
    stopLossPriceD := stopLossPrice
    takeProfitPriceD := takeProfitPrice


// Tracer le stop-loss et le take-profit sur le graphique
plotshape(series=redCandle and greenCandles and higherClose and strategy.position_size == 0, title="Conditions Remplies", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=redCandle and greenCandles and higherClose and strategy.position_size == 0, title="Conditions Remplies", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)


// Afficher les prix du stop-loss et du take-profit
plot(stopLossPriceD, color=color.red, title="Stop Loss Price", linewidth=2, style = plot.style_linebr)
plot(takeProfitPriceD, color=color.green, title="Take Profit Price", linewidth=2, style = plot.style_linebr)


もっと