二重移動平均ストップロス戦略


作成日: 2023-11-15 15:44:48 最終変更日: 2023-11-15 15:44:48
コピー: 0 クリック数: 670
1
フォロー
1617
フォロワー

二重移動平均ストップロス戦略

概要

この戦略は,双移動平均線に基づくストップ・ロスト戦略である。この戦略は,2つの移動平均線,主平均線とストップ・ロスト・ラインを使用する。主平均線より高い価格で多仓,ストップ・ロスト・ラインより低い価格で平仓;主平均線より低い価格で空売り,ストップ・ラインより高い価格で平仓を空置する。多空売り価格を動的に調整することで,ストップ・ロスト・ロストを実現する。

戦略原則

この策略は,sma関数を使って,lenの長さのシンプル移動平均を主平均線maとして計算する.そして,ユーザの入力による多頭ストップパーセンテージelpercentと空頭ストップパーセンテージespercentを計算し,多頭ストップラインelと空頭ストップラインesを計算する.具体的計算式は,

el = ma + (ma * elpercent / 100) es = ma + (ma * espercent / 100)

エルパーセント (elpercent) とエスペルセント (espercent) は,主平均線上下偏移の割合を表している.

このようにして3つの線が得られる:主均線ma,多頭止損線el,空頭止損線es。

戦略の取引論理は次のとおりです.

閉じる価格が多頭ストップラインelより高い場合は多頭ポジションを開く.閉じる価格が空頭ストップラインesより低い場合は多頭ポジションを平にする.

閉じる価格が空頭ストップラインesより低い場合は空頭ポジションを開く.閉じる価格が多頭ストップラインelより高い場合は空頭ポジションを開く.

戦略的優位性

  1. 二重移動平均線を使用して止損停止点を設定することで,リスクを効果的に制御できます.

  2. メイン平均線長lenと偏移パーセントelpercent,espercentはカスタマイズ可能で,異なる市場に対応してパラメータを調整することができる.適応性が強い。

  3. 損失の拡大を防ぐため,時効的に損失を止めるための止損メカニズムを使用します.

  4. 戦略はシンプルでわかりやすく,理解しやすく,初心者のためのものです.

  5. バイアスで空き時間を稼ぐこともできます.

リスクと解決

  1. 追溯データ適合リスク。移動均線策略は,歴史データ適合性強で,実盤効果は異なることがあります。解決方法は,複雑な変数のある市場における実盤検証で,実盤状況に応じてパラメータを調整する。

  2. ストップポイントがあまりにも近くなるリスク.ストップポイントが主平均線に近くなるように設定された場合,短期的な価格変動によってストップが引き起こされる可能性があります.適切なストップ距離を拡大することで,ストップを回避できます.

  3. 二国間取引による資金圧迫.多額の空調を同時に行うため,十分な資金が保証金として準備される必要がある.資金圧力を制御するためにポジションを適切に低下させることができる.

  4. パラメータ最適化のリスク。異なる市場状況において,パラメータ設定は大きく異なるため,パラメータの最適化には時間がかかる。機械学習などの技術による補助的なパラメータ最適化が可能。

最適化の方向

  1. 市場動向を判断し,意思決定の効果を高めるために,より多くの指標を追加することを検討することができます.例えば,量値指標,波動指標などを追加する.

  2. 移動平均線長lenと止損パラメータを自動的に最適化して,市場の変化に応じて調整できるように研究することができる.

  3. 取引品種のフィルタリングが加えられ,トレンドが顕著な品種のみで取引されます.

  4. ストップを追跡するストップに変更し,価格に応じてストップポイントをリアルタイムで調整することを考えることができます.

  5. パラメータ最適化評価システムを構築し,フィードバック結果を用いて最適のパラメータ組み合わせを自動的に探すことができる.

要約する

この戦略の全体的な考え方は明確で分かりやすく,双移動均線を用いて止損を行うことで,リスクを効果的に制御することができる.戦略はパラメータ調整可能,適応性強などの利点があるが,反測データ適合,止損距離設定などの問題もあるので注意が必要である.さらなる最適化により,この戦略は,現場で簡単に有効な止損戦略になることができる.これは,初心者学習アルゴリズム取引の出発点として適しており,実践で絶えず完善され,徐々に独特の取引システムが形成される.

ストラテジーソースコード
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=4
strategy(title = "Robot WhiteBox StopMA", shorttitle = "Robot WhiteBox StopMA", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
len = input(50)
src = input(ohlc4)
elpercent = input(5.0, minval = 0, maxval = 100, title = "Shift long, %")
espercent = input(-5.0, minval = -100, maxval = 0, title = "Shift short, %")
showlines = input(true, defval = true, title = "Show lines")
showbg = input(true, defval = true, title = "Show background")

//Levels
ma = sma(src, len)
el = ma + ((ma / 100) * elpercent)
es = ma + ((ma / 100) * espercent)

//Lines
colel = showlines ? color.lime : na
colma = showlines ? color.blue : na
coles = showlines ? color.red : na
plot(el, color = colel, offset = 1)
plot(ma, color = colma, offset = 1)
plot(es, color = coles, offset = 1)

//Background
trend = 0
trend := high > el[1] ? 1 : low < es[1] ? -1 : trend[1]
colbg = showbg == false ? na : trend == 1 ? color.lime : trend == -1 ? color.red : na
bgcolor(colbg, transp = 80)

//Trading
if ma > 0
    strategy.entry("Long", strategy.long, needlong ? na : 0, stop = el)
    strategy.entry("Short", strategy.short, needshort ? na : 0, stop = es)