이중 포지션 돌파구 전략은 동시다발적으로 긴 포지션과 짧은 포지션을 설정하여 트렌드 추적과 수익을 창출합니다. 이 전략은 동시에 긴 포지션과 짧은 포지션을 개설하여 양쪽 방향으로 돌파구가있을 때 수익을 창출합니다.
이 전략의 핵심 논리는 다음과 같습니다.
포지션 크기를 10%로 설정하려면 퍼센트 변수를 사용하세요.
bar_index를 사용해서 현재 바가 짝이거나 홀수인지 확인합니다.
짝이 바라면, 긴 포지션 오픈 로직을 실행합니다. alert_message를 사용하여 오픈 포지션, 취득 및 스톱 손실 가격 등과 같은 정보를 가진 웹 후크 메시지를 보내십시오. strategy.entry를 통해 긴 포지션을 열십시오.
홀수 바라면, 짧은 포지션 오픈 로직을 실행합니다.
짧은 오픈 후, 경고를 사용하여 포지션 폐쇄, 수익 및 스톱 손실 가격 등과 같은 정보를 가진 웹
이 전략은 양쪽에서 포지션을 설정하여 장기 및 단위 양쪽에서 이익을 얻을 수 있습니다. 양쪽 방향으로 돌파구가있을 때 이익을 얻을 수 있습니다. 트렌드 돌파구가있을 때, 정립 된 포지션을 가진 쪽에서 이익을 얻으며 반대쪽은 트렌드 다음을 실현하여 중단됩니다.
이 전략의 장점은 다음과 같습니다.
그것은 시장의 길고 짧은 양쪽 움직임에서 이익을 얻을 수 있습니다. 시장이 상승하거나 하락하든 포지션을 열고 이익을 얻을 수있는 기회가 있습니다.
양쪽에서 위치를 설정함으로써, 그것은 거래를 위해 자본을 완전히 사용할 수 있습니다. 오직 한 방향이 위치를 가지고있을 때 빈 자본은 없을 것입니다.
이중적 입장을 확립한 후, 돌파구가 있을 때 트렌드를 적절히 따라갈 수 있습니다.
적시에 중지하고 위험을 제어하기 위해 후속 스톱 손실을 채택합니다.
웹후크와 교환 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)