
この戦略は,移動平均線交差システムとMACD指標を利用して,トレンドバンク段階で多額の取引を行い,トレンドの転換点でストップ・ストップ・ロスを実現する自動取引戦略を統合しています. この戦略は,均線交差とMACDの組み合わせ戦略と呼ばれるものです.
この戦略は主に均線交差システムとMACD指標の組み合わせに基づいています.具体的には,短期平均線上には長期平均線を穿越するとき,多めにすること;短期平均線下には長期平均線を穿越するとき,空白すること.ここで,21日EMAを短期平均線として選択し,100日EMAを長期平均線として選択しています.
同時に,MACD指標を使用して取引信号を確認する. MACDのDIFF線がDEA線を穿越するときにのみ,多重信号が発せられる. DIFFの下のDEAを穿越すると,多重ストップが平らになる.
さらに,戦略はRSIを用い,過剰な空白を避けるため,RSIが30%以下である場合にのみ空白を入れます.
ストップの場合は,ストップを固定パーセントで追跡し,多単一のストップポイントは入場価格に1%減,空単一のストップポイントは入場価格に1%加える.同時に,戦略は,移動ストップを実現し,多単一の浮動利益が入場価格の3%に達したときにストップする.
この戦略の最大の利点は,均線システムを使用して大トレンドの方向を決定し,MACD指標を使用して入場し,偽の突破を効果的にフィルタリングすることです.均線クロスシステムを使用する単一と比較して,無効取引の回数を減らすことができ,利益の確率を向上させることができます.
また,固定パーセントのストップと移動ストップを使用することで,損失を許容範囲に抑え,利潤を保証する前提で早期にストップして,利益をロックすることができます.これは実際の取引において,口座の撤回を減らすだけでなく,貪欲による損失を減らすこともできます.
この戦略の主なリスクは以下の通りです.
均線交差システムに滞りがあるため,入場遅延が最適な入場ポイントを逃す可能性があります.均線パラメータを最適化することで遅延を減らすことができます.
MACD指標は偽信号を生成しやすいため,他の指標のフィルタリングが必要である.KDJなどの指標を追加して最適化することを考えることができる.
固定パーセンテージストップストップモードは時折ストップストップをタイムリーに停止できない場合があり,ダイナミック・トラッキングストップストップに変更できます.
戦略的撤退は大きい可能性があり,ポジションを減らし,リスクを回避することを考えることができる.
多方向のトレンドに限られているので,空白メカニズムへの参加を検討することができます.
この戦略は以下の点で最適化できます.
均線パラメータを最適化して均線信号をより精密にする.EMA,SMAなど,異なる種類の均線を試すことができる.
KDJ,RSIなどの他の指標をフィルターし,誤った取引を減らす.
ダイナミック・ストップを試してみて,リスクをよりよくコントロールできます. 例えば,追跡ストップ,ATRストップなどです.
戦略は,下落の状況で利益を得られるように空白メカニズムを追加します.
資金管理を最適化し,ポジションのサイズを調整することで,最大撤退を減らすことができます.
異なる品種の契約のパフォーマンスをテストし,戦略の適用範囲を広げます.
機械学習のアルゴリズムを増やし,アルゴリズムを使用してパラメータを自動的に最適化し,人工介入を減らす.
この戦略は均線交差システムとMACD指標の優位性を統合し,高い収益率を実現している.パラメータの設定を最適化し,他の指標を追加し,ストップ・ストップの方法を改善することで,戦略の安定性をさらに強化し,撤回を減らすことができる.空白メカニズムと機械学習の追加は,戦略の適用性を拡大することができる.総じて,この戦略は,取引の量化に優れた考え方を提供しているが,安定した信頼性の高い取引戦略になるためには,継続的なテストと最適化が必要である.
/*backtest
start: 2023-10-16 00:00:00
end: 2023-10-23 00:00:00
period: 2m
basePeriod: 1m
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/
// © Toxic_Cat_
//@version=5
// strategy("MA_50_200_CROSS", overlay=true, margin_long=100, margin_short=100)
EMA21 = ta.ema(close, 21)
EMA100 = ta.ema(close, 100)
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9)
plot(EMA21)
plot(EMA100, color = color.orange)
openLong = ta.crossover(EMA21, EMA100) and macdLine > signalLine
openShort = ta.crossunder(EMA21, EMA100) and ta.rsi(close, 14) <= 33
crossunderMACD = ta.crossunder(macdLine, signalLine)
if (strategy.opentrades < 1)
if openLong
strategy.entry("L",strategy.long, 1)
if openShort
strategy.entry("S",strategy.short, 1)
// slose long
// if ((strategy.opentrades.entry_price(0) + strategy.opentrades.entry_price(0)*0.03) <= open)
// strategy.exit("profit L", "L", limit = close)
// else if strategy.opentrades.entry_price(0) - strategy.opentrades.entry_price(0)*0.01 >= open or crossunderMACD
// strategy.exit("loss L", "L", stop = close)
// slose short
// if (strategy.opentrades.entry_price(0) - strategy.opentrades.entry_price(0)*0.03) >= open
// strategy.exit("profit S", "S", limit = (strategy.opentrades.entry_price(0) - strategy.opentrades.entry_price(0)*0.03))
// else if strategy.opentrades.entry_price(0) + strategy.opentrades.entry_price(0)*0.01 <= open
// strategy.exit("loss S", "S", stop = (strategy.opentrades.entry_price(0) + strategy.opentrades.entry_price(0)*0.01))