この戦略の主な考え方は,ポジションを開いた後,エントリー価格とブレイクイーンの価格をグラフ化し,エントリー価格を超えるブレイクアウトが利益をもたらす価格レベルを視覚的に表示することです.これはトレーダーがポジションをよりうまく管理し利益を実現するのに役立ちます.
このコードは,SMAクロスオーバーが起こるときにロングを入力し,SMAクロスアンダーでショートを入力します.その後,料金の後にエントリー価格とブレイクイーブン価格を計算します.ブレイクイーブン価格は,ロングでは,ブレイクイーブン価格 =エントリー価格 * (1 + 料金);ショートでは,ブレイクイーブン価格 =エントリー価格 * (1 - 料金) として計算されます.最後に,エントリー価格ラインとブレイクイーブン価格ラインをプロットし,それらの間の面積を埋めます.
この方法で,価格がエントリー価格ラインを突破すると,取引が利益を得ていることを意味します.トレーダーは,利益をロックするために,利益を取ったり,損失を止めるレベルを設定するためにブレイクブーンラインを使用できます.
このコードの主な構成要素は以下のとおりです.
入場条件の簡単なチェック,ブレイクイーンの価格の計算,および補助線のプロットによって,ブレイクイーンの価格戦略が実装されます.
この戦略の利点は以下の通りです.
利益/損失の直感的な表示は,価格が利益目標に達したかどうかを迅速に判断することができます.
損失を増やすのを避けるために,利益/ストップ損失レベルを設定するためにブレイクブーンラインを使用できます.
シンプルで分かりやすいコードで 簡単に実装して調整できます
取引戦略に組み込むことができる. ポジションを管理するためにブレイク・イブラインを使用する.
異なる取引所や製品のための料金パラメータを簡単に変更できます.
SMA期間を調整することでエントリーを最適化できます
この戦略のリスクは以下のとおりです.
SMAは遅延性があり,価格変動を見逃す可能性があります.
ブレイク・イブラインでは 損失を完全に避けることはできません
脱出メカニズムがないので 取引者はP/Lを自分で監視する必要があります
誤った料金設定により,ブレイク・ペインの計算が誤りになる可能性があります.
滑り込みは考慮されません
ストップ・ロスは不要で 損失は大きい
解決策は次のとおりです
MACDのようなより敏感な指標を考えてみましょう.
逆トレンド取引を避けるためにトレンドインジケーターを追加します.
自動出口の利益とストップ損失の論理を追加します
実際の交換に基づいて正確な料金を設定します
最適な入口と出口のために固定滑り付けを加える.
最低損失を制限するために,ストップ損失を足す.
戦略を最適化する方法:
MACDやKDJのようなより高度な指標で SMAを置き換える
逆トレンド取引を避けるためにトレンドフィルターを追加します.
より正確な入力のために SMA 期間を最適化する.
自動出口の利益とストップ損失の論理を追加します
バックテストとライブ取引のために スリップを設定します.
料金設定を現実に合わせて最適化します
最低損失を制限するために,ストップ損失を足す.
多様化のための複数のタイムフレームで戦略を実行します
入力を改善するために音量変更を組み込む.
パーマータを最適化するために 機械学習を使用します
この戦略は,ブレイクアウトが利益をもたらす可能性があるブレイクブーン価格レベルを直感的に表示します. シンプルなコードと簡単な実装などの利点を持つシンプルで実践的な補助戦略です. しかし,リスクも対処する必要があります. より堅牢で利益になるために多くの側面から最適化することができます. 全体的に,研究し適用する価値のある優れた参照例を提供します.
/*backtest start: 2022-11-15 00:00:00 end: 2023-11-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // © NikitaDoronin //@version=4 strategy("Plot Break-even Price", overlay=true) /// Break-even calculation ep = 0.0 ep := na(ep[1]) ? na : ep[1] p = 0.0 p := na(p[1]) ? na : p[1] /// Fees Input fee_inp = input(0.25, title='Price Change in %', step=0.1)/100 /// Your Strategy calculation longCondition = crossover(sma(close, 14), sma(close, 28)) shortCondition = crossunder(sma(close, 14), sma(close, 28)) /// Stategy Entry if (longCondition) ep := close p := close * (1 + fee_inp) strategy.entry("My Long Entry Id", strategy.long) if (shortCondition) ep := close p := close * (1 - fee_inp) strategy.entry("My Short Entry Id", strategy.short) /// Plot Break-even Price p1 = plot(ep, color = color.red, transp = 85) p2 = plot(p, color = color.green) fill(p1, p2, color = color.red, transp = 85)