
쌍둥이 가격 중재 전략
PAIR TRADING, ARBITRAGE, CORRELATION
트래픽 트레이딩 전략은 쌍둥이의 행동 차이를 관찰하는 것과 비슷합니다. 트래픽 트레이딩 전략은 두 개의 매우 연관된 트래픽 쌍 (트럼프와 멜라니아와 같은) 을 대상으로 하고 있는데, 그 둘의 가격 변화가 “비동기”가 되면, 우리가 돈을 벌 수 있는 기회입니다!
집중하세요! 이것은 낙하하는 것이 아니라 “관계 불균형”을 잡은 후의 회귀입니다. 쌍둥이들이 평상시 동조하는 것처럼, 갑자기 하나는 빨리 가고, 다른 하나는 확실히 따라 올 것입니다.
이 전략의 핵심은 두 화폐의 상승/하락 차이를 계산하는 것이다. 이 차이는 설정된 최저값을 초과했을 때 (기본 2%)
동굴을 피하기 위한 지침: 사과와 오리 같은 가격의 움직임을 기대할 수 없는 것처럼, 전혀 상관없는 통화에는 이 전략을 사용하지 마십시오!
트랜잭션 트리거 조건:
위험 관리:
이 설정은 거래에 “안전한 공기주머니”를 장착해 놓은 것과 같아서, 기회를 잡을 수 있고, 손실을 통제할 수 있습니다!
가장 좋은 시간:
친절한 팁이 전략은 불안한 도시에서 가장 적합합니다. 조용한 호수에서 낚시를 하는 것과 같습니다. 바람이 너무 강하면 바람을 피하는 것이 좋습니다!
기억하세요, 거래는 도박이 아니라, 적절한 시기에 적절한 일을 하는 것입니다. 이 전략은 우리에게 가르쳐 주는 것은, 때로는 “관계”를 관찰하는 것이 “방향”을 예측하는 것보다 더 중요하다는 것입니다.
/*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="配对交易策略:卖出信号触发")