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

日中のブリーッシュブレイク戦略

作者: リン・ハーンチャオチャン開催日:2024年3月29日 16:13:30
タグ:

img

概要

この戦略は,技術指標に基づいたイントラデイ・ブイッシュ・トレーディング戦略である.主に3つの技術指標を使用して,ロングエントリーのタイミングを決定する. 1.スイングロー 2.ブイッシュ・キャンドルスティックパターン 3.極端な過剰販売.同時に,ストップ・ロストとテイク・プロフィート価格を計算するためにATR (平均真範囲) インディケーターを使用する.この戦略は,すべてのタイムフレームおよびすべての底辺資産に適用される.

戦略の原則

この戦略は主に以下の原則に基づいています.

  1. アップトレンドでは,株価はしばしば後戻りし,地元の低位を形成し,これはしばしば良い購入機会である.この戦略は,これらの購入機会を捕捉するためにスイングローを使用する.
  2. いくつかの特殊なキャンドルスタイクパターンは,しばしばトレンドの逆転または継続をシグナルします.この戦略は,逆転購入ポイントを決定するために,上昇した3行のストライクパターンを使用します.
  3. この戦略は,株価が急上昇する傾向にあるため,株価が急上昇する傾向にある.この戦略は,株価が急上昇する傾向にあるため,株価が急上昇する傾向にある.
  4. 株価変動は周期性と類似性があり,ATR指標で測定され,適切なストップ・ロストとテイク・プロフィートの距離を計算するために使用できます.

戦略 の 利点

  1. 3つの古典的な技術指標を組み合わせて厳格な定量的な取引システムを形成し,主観性の欠点を回避する.
  2. ストップ・ロストとテイク・プロフィートのレベルは,主観性の欠点を回避して客観的に定量化できるATR波動性指標に基づいています.同時に,ストップ・ロストとターゲット価格は市場の波動性に対応し,リスクを効果的に制御し,利益を固定します.
  3. 幅広い用途で,時間枠や裏付け資産に制限がないため,利益を得るための利点を完全に利用できます.

戦略リスク

  1. 片側上昇傾向を判断する際の高精度ですが,不安定な市場への頻繁なエントリーにより損失が増えることがあります.
  2. 利潤の引き上げはあまりに高すぎたため 利潤の引き上げが遅いし 資本利用も低い.
  3. 極端な過剰売り上げ指標は,逆転を判断する能力が限られており,トレンド市場では失敗する可能性があります.

戦略の最適化方向

  1. MA や MACD などの傾向指標を追加して,全体的な傾向方向を決定することを検討する.この戦略を上昇傾向で使用し,下落傾向で中止する.
  2. 最適なパラメータを見つけるためにアルゴリズムを最適化することを検討する.特にATR倍数の選択.利益を取ることを加速するために利益を取ることの倍数は小さくすることができます.
  3. 極端な過剰販売指標は,KDJやRSIのようなより成熟した過剰販売指標に変更することで最適化することができます.

概要

このイントラデイ・ブイッシュ・ブレイクアウト戦略は,スイング・ロー,ブイッシュ・パターン,オーバーセール・リバーサルに基づいた定量的な取引戦略である.異なる角度からロングエントリーポイントを捕捉するために3つの技術指標を使用する.同時に,動的ストップ・ロストとテイク・プロフィートレベルを計算するためにATR波動性指標を使用する.上向きの利潤を完全に捕捉できるが,波動的な市場で頻繁な取引のリスクに直面する.戦略は,傾向判断を導入し,パラメータと指標を最適化し,戦略のパフォーマンスをさらに改善するための最適化余地がある.


// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © LuxTradeVenture

//@version=5
strategy("Intraday Bullish Script", overlay=true, margin_long=100, margin_short=100)



// Settings for Strategy 1
entryCondition1 = input.bool(true, title="Use Entry Condition - Strategy 1")

// Input for ATR multiplier for stop loss 
atrMultiplierforstoploss = input.float(2, title="ATR Multiplier for Stop Loss")

// Input for ATR multiplier for target price
atrMultiplierforlongs = input.float(4, title="ATR Multiplier for Target Price")

// Calculate ATR
atrLength = input.int(14, title="ATR Length")
atrValue = ta.atr(atrLength)

// Swing low condition - Strategy 1
swingLow1 = low == ta.lowest(low, 12) or low[1] == ta.lowest(low, 12)


/// 
maj_qual = 6  //input(6)
maj_len = 30  //input(30)
min_qual = 5  //input(5)
min_len = 5  //input(5)

lele(qual, len) =>
    bindex = 0.0
    bindex := nz(bindex[1], 0)
    sindex = 0.0
    sindex := nz(sindex[1], 0)
    ret = 0
    if close > close[4]
        bindex := bindex + 1
        bindex
    if close < close[4]
        sindex := sindex + 1
        sindex
    if bindex > qual and close < open and high >= ta.highest(high, len)
        bindex := 0
        ret := -1
        ret
    if sindex > qual and close > open and low <= ta.lowest(low, len)
        sindex := 0
        ret := 1
        
major = lele(maj_qual, maj_len)
minor = lele(min_qual, min_len)

ExaustionLow  = major ==  1 ? 1 : 0

Bullish3LineStrike = close[3] < open[3] and close[2] < open[2] and close[1] < open[1] and close > open[1]

// Entry and Exit Logic for Strategy 2
// Create variables to track trade directions and entry prices for each strategy
var int tradeDirection1 = na

var float entryLongPrice1 = na


// Calculate entry prices for long positions - Strategy 1
if (swingLow1 or Bullish3LineStrike)
    entryLongPrice1 := close
    tradeDirection1 := 1



// Calculate target prices for long positions based on ATR - Strategy 1
targetLongPrice1 = entryLongPrice1 + (atrMultiplierforlongs * atrValue)



// Calculate stop loss prices for long positions based on entry - Strategy 1
stopLossLongPrice1 = entryLongPrice1 - (atrMultiplierforstoploss * atrValue)


// Entry conditions for Strategy 1
if (tradeDirection1 == 1 and (swingLow1 or Bullish3LineStrike))
    strategy.entry("Long - Strategy 1", strategy.long)


// Exit conditions for long positions: When price reaches or exceeds the target - Strategy 1
if (close >= targetLongPrice1)
    strategy.close("Long - Strategy 1", comment="Take Profit Hit")

// Exit conditions for long positions: When price hits stop loss - Strategy 1
if (close <= stopLossLongPrice1)
    strategy.close("Long - Strategy 1", comment="Stop Loss Hit")

もっと