
双ポジションのブレークストラテジーは,上昇または下降の両側に同時にポジションを建設し,トレンドを追跡して利益を得る取引戦略である.この戦略は,同時に多ポジションと空ポジションを建設し,上行または下行を突破して利益を得る.
この戦略の核心的な論理は:
%変数でポジションのサイズを10%に設定します.
bar_indexを使って,現在の偶数根K線か奇数根K線かを判断する.
偶数根K線の場合,多ポジション開設ロジックを実行する. alert_messageを使用して,ポージョン開設情報,ストップ・ストップ・損失価格などを含むWebhookメッセージを送信する. strategy.entryで単一の多ポジション開設する.
奇数根K線の場合,空置ロジックを実行する. strategy.entryで単空置を行う.
ポジションを空けた後,アラートを使用して,平仓情報,ストップ・ストップ・損失価格などを含むウェブフックメッセージを送信します.
この戦略は,上下両側に同時にポジションを構えることで,市場が上昇するか下落するかに関わらず,利益を得ることができます.市場が突破するときに,突破方向にポジションを構え,反対方向のポジションは,停止して清算され,トレンド追跡を実現します.
この戦略の利点は以下の通りです.
市場が上昇するか下落するかに関わらず,ポジションを立てて利益を得る機会があります.
値の両側に同時にポジションを構えることで,資金の充分な利用を可能にし,取引を行う.一方的な方向にのみポジションを構える資金の置は発生しない.
双方向のポジションを確立すると,市場が突破した場合に即座にフォローでき,トレンド追跡が可能となる.
トラッキング・ストープを使用すると,早期にストープしてリスクをコントロールできます.
Webhookと取引所のAPIを組み合わせることで,自動取引が可能である.
この戦略にはいくつかのリスクがあります.
状況が揺れると,双方のポジションは同時に閉じ込められることがあります.合理的にストップ・ロスを設定し,リスクをコントロールする必要があります.
取引費が高くなる.双方向の取引は取引費が高くなる.
品種の変動が大きすぎても小さいこともありません.
状況に注意を払い,適切なタイミングで姿勢を調整する必要があります.
ポジションの大きさは精密に設定する必要があります.ポジションが大きすぎるとリスクが高くなり,ポジションが小さすぎると利益が限られます.
この戦略は以下の点で最適化できます.
異なる品種の特徴に応じて,ポジションのサイズを調整する.変動が大きい品種には,ポジションを適切に縮小することができる.
ストップ・ロスを最適化し,ストップ・ロスを保証しながら,無効なストップ・ロスが誘発される状況を最小限に抑える.
トレンド指数と組み合わせて,主要トレンドの方向を判断し,取引頻度を低下させ,取引費用を削減します.
再入場条件を追加して,損失を止めた後に再入場することができ,利益の機会を増やす.
制限価格のチケットは,市場価格の代わりに,適切な価格で競技場に入ることができます.
資金管理を最適化して,ポジションのサイズと口座の資金量の動向をマッチさせる.単一の損失を過大にしない.
二重ポジションの突破戦略は,同時に多空の二方向ポジションを確立し,市場状況で突破が発生したときにトレンドをフォローすることで利益を得る.この戦略は,資金を充分に活用し,突破の機会を間に合うように捕捉することができる.しかし,同時に二重ポジションが置かれているリスクを防ぎ,合理的なストップ・ロスの設定とポジション管理は非常に重要です.継続的な最適化により,この戦略は,非常に実用的な突破システムになることができます.
/*backtest
start: 2023-10-16 00:00:00
end: 2023-10-23 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Crypto-Arsenal
//@version=5
// strategy("Buy One Sell One", overlay = false, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
percent = str.tostring(10)
cls = str.tostring(close)
tp = str.tostring(strategy.position_avg_price * (1 + 0.1))
sl = str.tostring(strategy.position_avg_price * (1 - 0.1))
if(bar_index % 2 == 0)
// DEMO FOR SENDING MESSAGE WITH alert_message()
// NEED TO ADD {{{strategy.order.alert_message}} to Message field at Create Alert box
// Add "limit" to open a LIMIT order instead of default MARKET
alert_message = '{"action":"openLong","percent":"' + percent + '","profit":"' + tp + '","loss":"' + sl + '","connectorName":"YOUR_CONNECTOR_NAME","connectorToken":"YOUR_CONNECTOR_TOKEN","log":"Open Long at price:' + cls + '"}'
strategy.entry('Enter Long', strategy.long, alert_message = alert_message)
else
// DEMO FOR SENDING MESSAGE WITH alert()
strategy.entry('Enter Short', strategy.short)
// Add "limit" to open a LIMIT order instead of default MARKET
alert_message = '{"action":"closeLong","percent":"' + percent + '","profit":"' + sl + '","loss":"' + tp + '","connectorName":"YOUR_CONNECTOR_NAME","connectorToken":"YOUR_CONNECTOR_TOKEN","log":"Close long at price:' + cls + '"}'
alert(alert_message, alert.freq_once_per_bar)