プレッシャーバランス高確率ブレイクアウト取引戦略


作成日: 2023-11-13 11:40:53 最終変更日: 2023-11-13 11:40:53
コピー: 2 クリック数: 665
1
フォロー
1617
フォロワー

プレッシャーバランス高確率ブレイクアウト取引戦略

概要

この戦略は,複数の指標の組み合わせを使用してトレンドの方向と取引のタイミングを判断し,プレッシャーバランスの方法を使用して取引の勝利率を向上させます.主にMACD,PSAR,EMAの3つの指標を使用して判断し,止損止めと組み合わせて効率的な利益を上げます.

戦略原則

  1. EMAを平均線で計算して,全体的なトレンドの方向を判断する. EMAの値が大きい代表は,現在上昇傾向にあり,EMAの値が小さい代表は,現在下降傾向にある.

  2. MACDを使用して,快線と慢線の差値を計算する.差値が0より大きい場合は,現在上昇傾向にあることを示し,差値が0より小さい場合は,現在下降傾向にあることを示します.

  3. PSARを用いて連続変化点を計算すると,PSAR値が大きい代表が現在下落傾向にあり,PSAR値が小さい代表が現在上昇傾向にある.

  4. 上記の3つの指標を組み合わせて,トレンドの一致性を判断する。3つの指標の判断結果が一致するときは,トレンドがより明確であることを代表し,買取または販売操作を行うことができる。

  5. 買いと売りの条件に従ってポジションを開き,ストップ・ロスの止まり点を設定し,ストップ・ロスまたはストップ・ロスの条件に達したときにポジションを平定し,利益を達成する.

  6. 具体的には以下の通りです.

    • 購入条件:上昇傾向ではない,MACDの差は0未満で,閉盘価格はEMA平均線より高い
    • 販売条件:上昇傾向,MACD差は0より大きい,閉盘価格はEMA平均線より低い
    • 価格が次のPSAR値に達すると
    • 停止条件:設定した停止比率に達

戦略的優位性

  1. 複数の指標を用いてトレンドを判断し,判断の正確さを向上させる.

  2. プレッシャー・バランス (プレッシャー・バランス) を用いて,トレンドがはっきりしたときにポジションを開き,利益の確率を高めます.

  3. ストップ・ロース・ストップポイントを設定して,損失を制限し,利益をロックします.

  4. 取引規則の明瞭なシステム,プログラム化された取引に適した.

  5. パラメータによって最適化され,異なる品種と取引周期に適応することができます.

戦略リスク

  1. トレンド判断に誤りがあり,誤った方向にポジションを開く可能性があります.

  2. 市場が急激に変動し,指数は誤った信号を発する可能性があります.

  3. ストップポイントが大きすぎると,タイムストップができない.

  4. パラメータの設定が不適切で,取引が頻繁になりすぎたり,時間内にポジションが開けられない場合もある.

  5. 取引品の流動性が不足し,計画通り損失を止めてしまうことができない.

  6. パラメータの最適化,ストップ・ストップ・ポイントの調整,流動性の高い取引品種の選択によりリスクを低減することができる.

戦略最適化の方向性

  1. EMA周期パラメータを調整し,トレンド判断の正確性を最適化する.

  2. MACD快線慢線周期パラメータを調整し,MACD指標の感性を最適化する.

  3. 止損ストップの比率パラメータを調整して,止損ストップの最適なバランスを得ます.

  4. 他の補助指標を追加して,ポジション開設時の選択の精度を向上させる.

  5. 取引品種の選択を最適化し,流動性があり,波動性が大きい品種を選びます.

  6. 取引時間周期を異なる品種の市場状況に合わせて調整する

要約する

この戦略は,複数の指標を用いてトレンドを判断し,トレンドが明確になったときにポジションを開き,ストップ・ロスを設定することで,市場動向を効果的に把握し,一定利益の保証を前提に比較的理想的な収益を得ることができる.パラメータを最適化し,他の補助指標を追加することで,戦略の安定性と利益レベルをさらに向上させることができる.この戦略の取引規則は,わかりやすく,プログラム化された取引に適しています.

ストラテジーソースコード
/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
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/
// © exlux99

//@version=4
strategy(title = "Crypto Scalper", overlay = true,  pyramiding=1,initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03)
len = input(60, minval=1, title="Length EMA")
src = input(close, title="Source")
out = ema(src, len)
//
fast_length = input(title="Fast Length MACD", type=input.integer, defval=12)
slow_length = input(title="Slow Length MACD", type=input.integer, defval=26)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Oscillator MA Type MACD", type=input.string, defval="EMA", options=["SMA", "EMA"])
sma_signal = input(title="Signal Line MA Type MACD", type=input.string, defval="EMA", options=["SMA", "EMA"])

// Calculating
fast_ma = sma_source == "SMA" ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source == "SMA" ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal


start = input(0.02)
increment = input(0.02)
maximum = input(0.2)
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
	firstTrendBar = false
	SAR := nextBarSAR
	if bar_index == 1
		float prevSAR = na
		float prevEP = na
		lowPrev = low[1]
		highPrev = high[1]
		closeCur = close
		closePrev = close[1]
		if closeCur > closePrev
			uptrend := true
			EP := high
			prevSAR := lowPrev
			prevEP := high
		else
			uptrend := false
			EP := low
			prevSAR := highPrev
			prevEP := low
		firstTrendBar := true
		SAR := prevSAR + start * (prevEP - prevSAR)
	if uptrend
		if SAR > low
			firstTrendBar := true
			uptrend := false
			SAR := max(EP, high)
			EP := low
			AF := start
	else
		if SAR < high
			firstTrendBar := true
			uptrend := true
			SAR := min(EP, low)
			EP := high
			AF := start
	if not firstTrendBar
		if uptrend
			if high > EP
				EP := high
				AF := min(AF + increment, maximum)
		else
			if low < EP
				EP := low
				AF := min(AF + increment, maximum)
	if uptrend
		SAR := min(SAR, low[1])
		if bar_index > 1
			SAR := min(SAR, low[2])
	else
		SAR := max(SAR, high[1])
		if bar_index > 1
			SAR := max(SAR, high[2])
	nextBarSAR := SAR + AF * (EP - SAR)

tplong=input(0.245, step=0.005)
sllong=input(1.0, step=0.005)
tpshort=input(0.055, step=0.005)
slshort=input(0.03, step=0.005)

if (uptrend and hist >0 and close < out)
	strategy.entry("short", strategy.short, stop=nextBarSAR, comment="short")
	strategy.exit("short_tp/sl", "short", profit=close * tpshort / syminfo.mintick, loss=close * slshort / syminfo.mintick, comment='SHORT EXIT',  alert_message = 'closeshort')
if (not uptrend and hist <0 and close > out)
	strategy.entry("long", strategy.long, stop=nextBarSAR, comment="long")
	strategy.exit("short_tp/sl", "long", profit=close * tplong / syminfo.mintick, loss=close * sllong / syminfo.mintick, comment='LONG EXIT',  alert_message = 'closelong')