2倍移動平均逆転戦略

作者: リン・ハーンチャオチャン開催日:2023年12月20日 14:43:41
タグ:

img

概要

これは,単純な移動平均値に基づいたトレンドフォローと逆転取引戦略である.トレンド方向を決定し,購入・販売信号を生成するために,1日および4日移動平均値のクロスオーバーを使用する.

戦略の論理

1日間MAが4日間MAを下回ると,セールシグナルが生成される. 1日間MAが4日間MAを下回ると,買いシグナルが生成される. 傾向逆転点を特定するために,高速・遅い移動平均のクロスオーバーを使用して,利益を得ることを目指す.

市場に入ると,ストップ・ロストとテイク・プロフィートポイントが設定される.ストップ・ロスはエントリー価格より10ポイント低く設定される.テイク・プロフィートはエントリー価格より100ポイント高く設定される.これは損失を制限し,利益をロックすることができます.

利点分析

  • 単純で実用的に逆転点を識別するためにダブルMAsを使用します
  • リスクを制限するために,ストップ損失と利益を取ること
  • 調整可能なパラメータ 異なる市場条件に適応可能
  • 簡単に理解し,実行し,初心者向けに適しています

リスク分析

  • 不正なMAパラメータは,過剰取引または機会を逃す可能性があります.
  • 誤ったストップ・ロースと/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または/または
  • 逆転を特定するダブルMAsの遅延は損失を引き起こす可能性があります.
  • パラメータが市場の変化に合わせて調整されない場合の不良パフォーマンス

パラメータを調整し,ダイナミックストップを設定し,シグナル検証のための他の指標を組み込むことでリスクを軽減することができます.

オプティマイゼーションの方向性

  • 偽信号をフィルターするためにMACD,KDを追加
  • 異なるMA期間の効果を研究する
  • トレンドに反する取引を避けるためにトレンドフィルターを追加する
  • 固定値の代わりに比例停止を使用する
  • 変動によってパラメータを動的に調整する

概要

これは典型的なダブルMA逆転戦略である.高速および遅いMAクロスオーバーによって逆転を特定し,ストップでリスクを制御し,初心者にとって理解しやすくシンプルで実践的です.パラメータチューニングと最適化により,適応性があり,フィルターを追加することでさらに改善することができます.これは学ぶための非常に良いスタート戦略です.


/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © cesarpieres72

//@version=5
strategy("300% STRATEGY", overlay=true, margin_long=10, margin_short=10)
 
var float lastLongOrderPrice = na
var float lastShortOrderPrice = na

longCondition = ta.crossover(ta.sma(close, 1), ta.sma(close, 4))
if (longCondition)
    strategy.entry("Long Entry", strategy.long)  // Enter long

shortCondition = ta.crossunder(ta.sma(close, 1), ta.sma(close, 4))
if (shortCondition)
    strategy.entry("Short Entry", strategy.short)  // Enter short

if (longCondition)
    lastLongOrderPrice := close

if (shortCondition)
    lastShortOrderPrice := close

// Calculate stop loss and take profit based on the last executed order's price
stopLossLong = lastLongOrderPrice - 170  // 10 USDT lower than the last long order price
takeProfitLong = lastLongOrderPrice + 150  // 100 USDT higher than the last long order price
stopLossShort = lastShortOrderPrice + 170  // 10 USDT higher than the last short order price
takeProfitShort = lastShortOrderPrice - 150  // 100 USDT lower than the last short order price

// Apply stop loss and take profit to long positions
strategy.exit("Long Exit", from_entry="Long Entry", stop=stopLossLong, limit=takeProfitLong)

// Apply stop loss and take profit to short positions
strategy.exit("Short Exit", from_entry="Short Entry", stop=stopLossShort, limit=takeProfitShort) 

もっと