래그 아비트라지 전략


생성 날짜: 2025-09-04 10:15:01 마지막으로 수정됨: 2025-09-10 11:51:36
복사: 0 클릭수: 102
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

래그 아비트라지 전략 래그 아비트라지 전략

쌍둥이 가격 중재 전략

PAIR TRADING, ARBITRAGE, CORRELATION

, 이게 무슨 신성공작인가? 두 동전도 이렇게 놀 수 있잖아!

트래픽 트레이딩 전략은 쌍둥이의 행동 차이를 관찰하는 것과 비슷합니다. 트래픽 트레이딩 전략은 두 개의 매우 연관된 트래픽 쌍 (트럼프와 멜라니아와 같은) 을 대상으로 하고 있는데, 그 둘의 가격 변화가 “비동기”가 되면, 우리가 돈을 벌 수 있는 기회입니다!

집중하세요! 이것은 낙하하는 것이 아니라 “관계 불균형”을 잡은 후의 회귀입니다. 쌍둥이들이 평상시 동조하는 것처럼, 갑자기 하나는 빨리 가고, 다른 하나는 확실히 따라 올 것입니다.

전략의 핵심 논리: ‘불균형’을 발견하는 것은 기회를 발견하는 것이다

이 전략의 핵심은 두 화폐의 상승/하락 차이를 계산하는 것이다. 이 차이는 설정된 최저값을 초과했을 때 (기본 2%)

  • 다른 코인들과 비교해 볼 때,
  • 미세한 차이는 → 상대적으로 선두를 달리고 있는 통화

동굴을 피하기 위한 지침: 사과와 오리 같은 가격의 움직임을 기대할 수 없는 것처럼, 전혀 상관없는 통화에는 이 전략을 사용하지 마십시오!

️ 매개 변수 설정: 간단하고 거칠게, 한눈에 알아듣기

트랜잭션 트리거 조건

  • 가격 차이의 미지수:2% (조정 가능)
  • 거래 수:100 (자금에 따라 조정)

위험 관리

  • 5%
  • 상쇄 손실: 3%

이 설정은 거래에 “안전한 공기주머니”를 장착해 놓은 것과 같아서, 기회를 잡을 수 있고, 손실을 통제할 수 있습니다!

적용 시나리오: 언제 이 트릭이 가장 효과적일까요?

가장 좋은 시간

  1. 두 화폐의 역사적인 연관성
  2. 시장의 변동이 적당하다 (극한 상황에서는 사용하지 마십시오.)
  3. 충분한 유동성 지원

친절한 팁이 전략은 불안한 도시에서 가장 적합합니다. 조용한 호수에서 낚시를 하는 것과 같습니다. 바람이 너무 강하면 바람을 피하는 것이 좋습니다!

기억하세요, 거래는 도박이 아니라, 적절한 시기에 적절한 일을 하는 것입니다. 이 전략은 우리에게 가르쳐 주는 것은, 때로는 “관계”를 관찰하는 것이 “방향”을 예측하는 것보다 더 중요하다는 것입니다.

전략 소스 코드
/*backtest
start: 2025-01-20 17:00:00
end: 2025-01-22 07:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"MELANIA_USDT","balance":500000,"tradesMode":"1"}]
*/

//@version=5
strategy("配对交易策略", overlay=true)

// 输入参数
pair_a = input("TRUMP_USDT.swap", title="交易对A", group="交易设置")
pair_b = input("MELANIA_USDT.swap", title="交易对B", group="交易设置")
trade_number = input.float(100, title="交易数量", minval=0.01, group="交易设置")
diff_level = input.float(0.02, title="差价阈值", minval=0.001, step=0.001, group="交易设置")
stop_profit_level = input.float(0.05, title="止盈比例", minval=0.001, step=0.001, group="风险管理")
stop_loss_level = input.float(0.03, title="止损比例", minval=0.001, step=0.001, group="风险管理")

// 获取两个交易对的数据
price_a = request.security(pair_a, timeframe.period, close)
open_a = request.security(pair_a, timeframe.period, open)
price_b = close
open_b = open

// 计算价格变化比例差异
change_a = (price_a - open_a) / open_a
change_b = (price_b - open_b) / open_b
ratio = change_a - change_b

// 策略状态变量
var float entry_price = na
var bool in_position = false
var int position_direction = 0  // 1为多头,-1为空头
var float take_profit_price = na
var float stop_loss_price = na

// 交易逻辑
long_condition = not in_position and ratio > diff_level
short_condition = not in_position and ratio < -diff_level

// 开仓逻辑
if long_condition
    strategy.entry("Long", strategy.long, qty=trade_number)
    entry_price := price_b
    in_position := true
    position_direction := 1
    take_profit_price := entry_price * (1 + stop_profit_level)
    stop_loss_price := entry_price * (1 - stop_loss_level)
    
if short_condition
    strategy.entry("Short", strategy.short, qty=trade_number)
    entry_price := price_b
    in_position := true
    position_direction := -1
    take_profit_price := entry_price * (1 - stop_profit_level)
    stop_loss_price := entry_price * (1 + stop_loss_level)

// 平仓逻辑
if in_position and position_direction == 1
    // 多头止盈止损
    if price_b >= take_profit_price or price_b <= stop_loss_price
        strategy.close("Long")
        in_position := false
        position_direction := 0
        entry_price := na
        take_profit_price := na
        stop_loss_price := na
        
if in_position and position_direction == -1
    // 空头止盈止损
    if price_b <= take_profit_price or price_b >= stop_loss_price
        strategy.close("Short")
        in_position := false
        position_direction := 0
        entry_price := na
        take_profit_price := na
        stop_loss_price := na

// 图表显示
plot(ratio, title="比例差异", color=color.blue, linewidth=2, overlay = false)
hline(diff_level, title="上阈值", color=color.red, linestyle=hline.style_dashed, overlay = false)
hline(-diff_level, title="下阈值", color=color.blue, linestyle=hline.style_dashed, overlay = false)
hline(0, title="零线", color=color.gray, linestyle=hline.style_dotted, overlay = false)

// 标记开仓点
plotshape(long_condition, title="买入信号", location=location.belowbar, style=shape.triangleup, size=size.small, color=color.green)
plotshape(short_condition, title="卖出信号", location=location.abovebar, style=shape.triangledown, size=size.small, color=color.red)

// 警报条件
alertcondition(long_condition, title="买入信号", message="配对交易策略:买入信号触发")
alertcondition(short_condition, title="卖出信号", message="配对交易策略:卖出信号触发")