
この戦略の主な考えは,ポジション開設後に入場価格と保安価格を図を描き,入場価格を突破して利益を得られる場所を直視的に表示することです.これは,トレーダーがポジションをより良く管理し,利益回収を実現するのに役立ちます.
コードは,SMA金叉で多行して,SMA死叉で空置する.それから入場価格を計算し,手数料を考慮した保本価格を計算する.保本価格の計算方法は,多行すると,保本価格が入場価格に掛けられた ((1+手数料);空置すると,保本価格が入場価格に掛けられた ((1-手数料).最後に,入場価格ラインと保本価格ラインを描き,両行の間に色を塗る.
このようにして,入場価格線を突破する限り,利益が出ていることを示している. 取引者は,保本価格線に基づいてストップポジットまたはストップロスを設定して,利益をロックすることができます.
コードは主に以下の通りです.
この突破的な補償価格戦略は,ポジションの開設,保安価格の計算,補助線の描画などの簡単な条件によって実現しました.
この戦略の利点は以下の通りです.
価格が利潤要求を満たしているかどうかをすぐに判断できます.
損失の拡大を防ぐために,保本線に沿ってストップ・ストップ・ロスを設定できます.
簡単に理解し,簡単に実装し,簡単に調整できます.
取引戦略に組み込まれ,本格価格ラインを利用してポジションを管理できます.
取引所や品種によって手数料のパラメータを簡単に変更できます.
SMA周期を調整することでポジション開設条件を最適化することができる.
この戦略にはいくつかのリスクがあります.
SMA指数は,それ自体が遅滞性があるため,価格の変化を逃す可能性があります.
損失の発生と拡大を完全に避けることはできません.
戦略自体には退出メカニズムがなく,トレーダー自身が利益と損失をモニタリングする必要があります.
手数料の設定が不適切である場合,保証価格の計算に誤りが生じることがあります.
戦略は滑点の影響を考慮していない.
この戦略は,ストップ・ローズ・メカニズムが欠けていて,大きな損失を招く可能性があります.
リスクに対応する解決策は
MACDなどのより活発な指標の交換を考慮することができます.
逆転のポジションを避けるために,トレンド指数と組み合わせて方向を決めましょう.
ストップ・ストップ・ロジックが加えられれば,戦略は自動的に終了する.
実際の取引所によって正確な手数料を設定する必要があります.
固定スライドポイントを設定して,出場を最適化できます.
移動止損を増やして最大損失を制御する.
この戦略は以下の点で最適化できます.
SMA指標をMACDまたはKDJなどのより高度な指標に置き換える.
逆転を避けるために,トレンド判断の指標を増やす.
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)