
この戦略は,MACD指数に基づく取引システムであり,取引決定を行うために2つの時間周期のMACD指数を組み合わせている.この戦略は,入場機会を見つけるために,5分周期のMACD指数を主に使用し,全体的な市場動向を確認するために1時間の周期のMACD指数を使用します.この二重確認の仕組みは,取引の正確性と信頼性を高めるために設計されています.
この戦略の核心原則は,市場動向と取引機会を捉えるために,異なる時間周期のMACD指標を利用することです.具体的には:
5分 MACD:特定の入場シグナルを探すためのものです. MACDのラインで信号線を穿越すると,購入シグナルが生成されます.
1時間MACD:全体的な市場トレンドを確認するために使用される. 1時間MACD柱状図が正値である場合にのみ,市場は上昇傾向にあると考えられる.
入場条件: 5分間のMACDで買入シグナルが作られ,1時間間のMACDで上昇傾向が確認されたときに,戦略は買入操作を実行する.
リスク管理: 戦略は,1取引のリスクを管理するために,固定利益目標 ((100ポイント) とストップ損失 ((20ポイント) を設定する.
ポジション管理:取引ごとに100ユニットの固定取引量を使用する.
多周期確認:短周期 ((5分) と長周期 ((1時間) のMACD指標を組み合わせることで,戦略は市場動向をより全面的に評価し,偽信号を減らすことができる.
トレンドフォロー: 戦略の設計は”順調に進む”という原則に従っており,全体的なトレンドが上昇していることを確認したときにのみ購入し,取引の成功率を高めます.
明確なリスク管理: 固定的ストップ・ロスの設定により,各取引のリスクを制御し,単一の取引で過度の損失を防ぐことができます.
自動実行: 戦略は,取引プラットフォームで自動実行され,感情的な干渉が軽減され,取引の規律が向上します.
パラメータの調整: ポリシーは,ユーザが個人の好みや市場の特徴に応じてMACDパラメータを調整することを許可し,柔軟性を追加します.
遅滞性:MACDは遅滞の指標で,急速に変化する市場では,信号が遅滞して,入場または出場が遅れる可能性があります.
振動市場には適用されない:横盤振動市場では,戦略はしばしば偽信号を生じ,連續的な損失を引き起こす可能性がある.
固定ストップは不十分である: 波動性の高い市場では,20ポイントの固定ストップは突然の大幅な変動に対応するのに不十分である.
戦略は多作業の論理にのみ設計され,空白の機会を無視し,収益の機会の一部を逃す可能性があります.
パラメータの感受性:MACDパラメータの選択は戦略のパフォーマンスに大きな影響を与え,異なる市場または期間には異なるパラメータの設定が必要になる可能性があります.
ダイナミック・ストップ:ATRまたは波動率に基づくダイナミック・ストップの導入を考慮し,異なる市場環境に対応する.
空白ロジックへの参加: 戦略を空白取引を含むように拡張し,両方向市場機会を最大限に活用する.
量価分析の導入:OBVやCMFのような交差量指標を組み合わせ,信号の信頼性を高める.
ポジション管理の最適化:固定取引量ではなく,口座の純額またはリスク評価に基づくダイナミックなポジション管理を考慮する.
フィルタリング条件を追加:偽信号を減らすためにRSIやVIXのような追加の技術指標または市場情緒指標を導入する.
回帰と最適化:異なる市場と時間周期に対して広範な回帰を行い,MACDパラメータおよびその他の戦略パラメータを最適化します.
基本要素を考慮する:重要な経済データやイベントの発表の間,取引制限を設定したり,戦略パラメータを調整したりできる.
ダブルMACDトレンド確認取引システムは,短期および長期の市場トレンドの分析を組み合わせた定量取引戦略である.この戦略は,異なる時間周期のMACD指標を利用することで,市場トレンドを捉え,トレンドが確立されたときに取引することを目的としています.固定的リスク管理規則と自動化された実行特性により,比較的安定した取引システムになります.しかし,すべての取引戦略と同様に,いくつかの固有のリスクと制限に直面しています.
戦略の有効性や適応性をさらに高めるために,ダイナミック・ストップ・メカニズムを導入し,空白ロジックを拡張し,ポジション管理を最適化し,他の技術や基本的分析ツールと組み合わせることを検討することをお勧めします. 同時に,戦略の有効性を維持するために,継続的な反転とパラメータの最適化が不可欠です. 最後に,トレーダーは,完璧な取引戦略がないことを常に覚えておくべきです.
/*backtest
start: 2023-07-25 00:00:00
end: 2024-07-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//5分足で運用想定
//@version=5
strategy(title='MACD5分IN,一時間足強弱判定', shorttitle='MACDストラテジー', overlay=false)
//overlay true:チャート上に表示 felse:別ウィンドに表示
//================
//注文ポイント
//================
//入力部を作成
//input関数で設定画面に入力項目を追加できる
//type入力形式の設定,defval初期設定値,minval最小設定値
FastLength = input.int(title='短期線本数', defval=12, minval=1)
SlowLength = input.int(title='長期線本数', defval=26, minval=1)
SignalLength = input.int(title='シグナル本数', defval=9, minval=1)
FastLength1 = input.int(title='短期線本数', defval=144, minval=1)
SlowLength1 = input.int(title='長期線本数', defval=312, minval=1)
SignalLength1 = input.int(title='シグナル本数', defval=108, minval=1)
//一時間足で強弱判定のため5分足の数字を12倍
//MACDの計算 エントリー
[MACD, MACDSignal, MACDosc] = ta.macd(close, FastLength, SlowLength, SignalLength)
//MACDの計算 強弱判定
[MACD1, MACDSignal1, MACDosc1] = ta.macd(close, FastLength1, SlowLength1, SignalLength1)
//プロット エントリー
//plot画面表示,MACD計算からMACDラインとシグナルラインを表示
//linewidthでラインの太さ変更
//style_histogramでヒストグラム表示, color = MACDosc < 0の判定式で色変更
plot(MACD, color=color.new(color.red, 0), linewidth=1)
plot(MACDSignal, color=color.new(color.green, 0))
plot(MACDosc, style=plot.style_histogram, linewidth=3, color=MACDosc < 0 ? color.new(color.blue, 50) : color.new(color.red, 50))
//プロット 相場強弱判定
//一時間足の表示作成
plot(MACD1, color=color.new(color.red, 0), linewidth=1)
plot(MACDSignal1, color=color.new(color.green, 0))
//買いポイント
//crossover(x,y)yをxが上抜け
BuyPoint_MACDGC = ta.crossover(MACD, MACDSignal)
//ヒストグラムの値がプラスの場合GC中と判定
BuyPoint_crossnow = MACDosc1 > 0
//5分足MACDGCかつ1時間足がGC中,条件は末尾にand追加で条件追加可能
BuyPoint = BuyPoint_MACDGC and BuyPoint_crossnow
//買いポイントに背景色を設定
bgcolor(BuyPoint ? color.red : color.new(color.green, 100), transp=90)
//================
//決済ポイント
//================
//100円抜いたらOUT,20円下がったら損切
ProfitDelta = 100
LossDelta = 20
//================
//枚数
//================
Size = 1
//================
//注文・決済
//================
//strategy.entryでエントリー,qtyでサイズ指定,
//エントリータイミング今回は46行目BuyPoint = BuyPoint_MACDGC and BuyPoint_crossnow
if BuyPoint
strategy.entry(id='long', direction=strategy.long, qty=Size)
//profit利確までの幅,loss損切までの幅(stopというので移動平均線に到達したらなどの損切設定なども可能)
strategy.exit(id='exit', from_entry='long', profit=ProfitDelta, loss=LossDelta)