概要:この戦略は,ボリンジャーバンドのクロスオーバー信号に基づいてロング/ショートポジションを開き,ストップ・ロストとテイク・プロフィートのトレンド市場で利益を追求する.その利点は,トレンドを追跡し,合理的なストップ・ロストとテイク・プロフィートの構成,制御可能な引き下げ,特に株価指数,フォレックスおよび暗号市場において,明白なトレンドキャラクターを持つ中長期取引に適しています.
原則: 戦略は3つの部分から構成される: BBクロスオーバー信号,固定ポジションサイズ,ダイナミックストップ・ロスト&テイク・プロフィート. BBクロスオーバーシステムは,移動平均値と標準偏差によって生成されるバンドを通じてブレイクアウトを判断する. ロングのゴールデンクロス,ショートのデッドクロス. トレンドの動きに沿って利益を最大化するために,ロングまたはショートの両方を100%固定する. 最新エントリー価格に基づいてストップ・ロスト&テイク・プロフィートのレベルが調整され,利益をロックし,トレンド動きに沿って引き下げを制御する.
BB帯は,移動平均値と閉盤価格の標準偏差で計算される.上帯上の黄金十字は購入信号を与え,下帯下の死十字は販売信号を与えます.彼らは潜在的な逆転点と取引機会を特定しようとします.100%ポジションは,トレンドを完全にフォローすることによって最大利益を追求することを目指します.ダイナミックストップ損失と利益を取ることは最新のエントリー価格に基づいて変更されます.ストップ損失距離は引き下げを制御するために合理的に設定されています.市場変動に応じてより多くの利益を得るために利益を取れる距離が設定されています.
利点:
傾向に沿って利益を維持し,BB信号と完全なポジションを通じて主要な方向から利益を得る.
ダイナミックストップ・ロストとエントリー価格に基づいて利益を取ることで制御可能な引き下げ.値はそのように最適化できます.
トレンドのある主要市場での広範なアプリケーション,特に株式指数,フォレックス,暗号資産に適しています.
シンプルな論理で テクニカルに実装しやすい BBと固定パーセントです 複雑なパターンやモデル判断はありません
資本配分を最大化するために,長/短ポジションの100%の高い資本利用効率
リスクと解決策
不正なBB信号リスク.BB判断が失敗した場合に間違った取引信号を引き起こす.トレンド判断上の他の指標を組み合わせることで解決されます.
統合における引き下げリスクは,ポジションサイズを削減し,ストップ・ロスの距離を最適化することで対処する.
継続的なストップ・ロスは,ロングとショートの間を跳ねます.不要なトリガーを減らすために,ストップ・ロスの距離を適切に拡大することができます.
予想外の大きな出来事から起こる市場リスクは,不合理な価格急上昇につながる.主要な政策とイベントに注意を払うことを提案します.
オプティマイゼーション:
MACD,KDJ,BBなどの指標を考慮して判断を誤るのを避ける
ストップ・ロスを調整し 市場変動に基づいて 利益の距離を取ります
異なるタイプの市場に対して合理的なパラメータを選択します.例えば,変動性の高い市場では,より大きな標準偏差と移動平均期間など.
マシン学習アルゴリズムを使って パラメータ値を最適化して 性能を向上させる
ストラテジーは,アービタージシステムに従う典型的なトレンドです.複数の市場で明らかなトレンドに沿って利益を得ています.論理は単純で清潔で,技術的に実装しやすいです.適切なストップ損失と利益のレベルを設定することで,最大引き下げを効果的に制御できます.一般的に,これは安定したリターン,シンプルな論理,簡単な実行を持つ効率的なトレンドトレーディング戦略です.定量取引に強く推奨します.
/*backtest start: 2022-12-08 00:00:00 end: 2023-12-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Valeria 181 Bot Strategy Mejorado 2.21", overlay=true, margin_long=100, margin_short=100) 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)