MACDバレー検出器戦略

作者: リン・ハーンチャオチャン開催日:2024年4月12日 17:01:21
タグ:マックドATRRSIエイマ

img

概要

MACD Valley Detector戦略は,MACD指標に基づいた取引戦略である.この戦略は,MACD指標内の谷を検出することによって買い信号を生成する.MACD指標が谷を形成すると,MACD値は -0.4未満またはそれと同等で,MACDとその信号線の差は0未満である.この戦略は買い信号を発し,取利益価格を設定する.

戦略原則

MACD Valley Detector戦略の核心は,潜在的な逆転機会を把握するためにMACD指標を使用することです.MACD指標は,価格の勢力の変化を反映する2つの指数関数移動平均値 (EMA) の違いによって計算されます.MACD指標が谷を形成すると,価格の下向きの勢力が弱まり,逆転の可能性があることを示唆します.

この戦略は,MACDバレーを決定するために以下の条件を使用します.

  1. 現在のMACDとシグナルラインの差は,以前の差よりも大きい.
  2. 2年前の差よりも小さい
  3. MACD値は -0.4未満またはそれと同等である.
  4. MACDと信号線の差は0未満です

上記条件が同時に満たされた場合,戦略はそれをMACDバレーとみなし,購入信号を発行します.同時に,戦略は固定得益価格を設定します.これは購入価格と固定価格差 (takeProfitValue) です.

利点分析

  1. MACD指標は,価格の動向変化を効果的に把握できる,広く使用されている動向指標です.
  2. MACDのバレーを検出することで,戦略は潜在的な逆転機会を把握し,価格の下落後に購入機会を探します.
  3. この戦略は,MACDバレーの確認のために複数の条件を使用し,信号の信頼性を向上させます.
  4. 決まった利得価格を設定することで リスクをコントロールし 利益を固定できます

リスク分析

  1. MACD インジケーターは遅延があり,遅延信号を生成する可能性があります.
  2. この戦略は,市場条件が異なる場合,不良なパフォーマンスを発揮する,高速・遅い移動平均値の長さやMACD信号線の長さなどの固定パラメータ設定に依存する.
  3. この戦略には明瞭なストップ・ロスのメカニズムがないため,市場が引き続き下落する場合には大きな損失を被る可能性があります.
  4. 固定得益価格が戦略の利益の可能性を制限する可能性があります.特に強いトレンド市場ではそうです.

最適化方向

  1. ATR インディケーターに基づくストップ・ロスのようなダイナミックストップ・ロスのメカニズムを追加することを検討し,リスクをより適切に制御する.
  2. MACD指標のパラメータを最適化します.例えば,遺伝子アルゴリズムや他の方法を使って最適なパラメータの組み合わせを見つけることです.
  3. RSI,ボリンジャー帯など,他の技術指標や市場状態フィルターと組み合わせることで,信号の質と信頼性を向上させる.
  4. 市場変動や価格行動に基づいて利益のレベルを調整するなど,動的な利益戦略を探求し,トレンド市場を完全に活用する.

概要

MACDバレー検出器戦略は,MACD指標のバレーを検出する戦略である.MACD指標のバレーをキャプチャすることによって,戦略は潜在的な逆転機会を見つけ,購入を試みる.この戦略は,シグナルを確認するために複数の条件を使用して,固定的な利益を得る価格を設定する.この戦略には,広く使用されているMACD指標と多条件の確認などの特定の利点があるが,遅れ,固定パラメータ,明確なストップ損失の欠如などのリスクと制限もあります.戦略を改善するために,ダイナミックストップ損失,パラメータ最適化,フィルタリングのための他の指標と組み合わせ,ダイナミック利益を得る方法を導入することを検討することができます.全体として,MACDバレー検出器戦略は,逆転機会をキャプチャするためのアイデアを提供します.しかし,実際の市場状況とニーズに基づいて,まだ最適化および改善する必要があります.


/*backtest
start: 2024-03-12 00:00:00
end: 2024-04-11 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/
// © freditansari

//@version=5
//@version=5
strategy("MACD Valley Detector", overlay=true)
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ta.ema(close, fastLength) - ta.ema(close, slowlength)
aMACD = ta.ema(MACD, MACDLength)
delta = MACD - aMACD

rsi = ta.rsi(close, 14)
atr = ta.atr(14)

qty=1

takeProfitValue =7
// stopLossValue = 1


// close[0] < close[1] and close[1] > close[2]
is_valley= delta[0] > delta[1] and delta[1]<delta[2]? 1:0

// plot(is_valley , "valley?")

if(is_valley==1 and MACD<=-0.4 and delta <0)
	takeProfit = close +takeProfitValue
	action = "buy"
    // strategy.entry("long", strategy.long, qty=qty)
    // // strategy.exit("exit", "long", stop=stopLoss, limit=takeProfit)
    // strategy.exit("exit", "long", limit=takeProfit)
    alert('{"TICKER":"'+syminfo.ticker+'","ACTION":"'+action+'","PRICE":"'+str.tostring(close)+'","TAKEPROFIT":"'+str.tostring(takeProfit)+'","QTY":"'+str.tostring(qty)+'"}')

if (ta.crossover(delta, 0))
	stopLoss = low -0.3
    takeProfit = high +0.3
	strategy.entry("MacdLE", strategy.long,qty=qty, comment="MacdLE")
	strategy.exit("exit long", "MacdLE", limit=takeProfit)
	// strategy.exit("exit long", "MacdLE", stop=stopLoss, limit=takeProfit)
if (ta.crossunder(delta, 0))
	stopLoss = high + 0.3
    takeProfit = low - 0.3
	strategy.entry("MacdSE", strategy.short,qty=qty, comment="MacdSE")
	strategy.exit("exit long", "MacdLE", limit=takeProfit)

	// strategy.exit("exit short", "MacdSE", stop=stopLoss, limit=takeProfit)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

関連性

もっと