生生不息

生生不息

pine多币种策略警报

2025-07-20
pine多币种策略警报

背景

pine多币种策略警报

代码

pine脚本记录

//@version=6
strategy("Multi-Symbol Strategy", overlay=false)

// Input parameters for multiple tickers
i_T1 = input.symbol("BTCUSD", title="Ticker 1")
i_T2 = input.symbol("ETHUSD", title="Ticker 2")
i_T3 = input.symbol("XRPUSD", title="Ticker 3")

// Strategy function
f_strategy(_close) =>
    smaFast = ta.sma(_close, 50)
    smaSlow = ta.sma(_close, 200)
    goLong = ta.crossover(smaFast, smaSlow)
    goShort = ta.crossunder(smaFast, smaSlow)
    // goLong := true
    signal = goLong ? 1 : goShort ? -1 : 0
    [signal, smaFast, smaSlow]

// Screener function
f_screener(_ticker) =>
    message = ""
    [signal, _tickerClose] = request.security(_ticker, timeframe.period, f_strategy(close))
    if signal == 1
        message := "Buy " + _ticker + " @" + str.tostring(_tickerClose)
    else if signal == -1
        message := "Sell " + _ticker + " @" + str.tostring(_tickerClose)
  
    if signal == 1 or signal == -1
        alert(message, alert.freq_once_per_bar_close)
    signal

// Calculate signals for each ticker
t1_signal = f_screener(i_T1)
t2_signal = f_screener(i_T2)
t3_signal = f_screener(i_T3)
// Plot signals
plot(t1_signal, title="T1 Signal", color=color.new(color.green, 80), linewidth=2)
plot(t2_signal, title="T2 Signal", color=color.new(color.blue, 80), linewidth=2)
plot(t3_signal, title="T3 Signal", color=color.new(color.red, 80), linewidth=2)

当取消注释goLong := true,那么每个币种都是买入信号。

设置图1分钟,每1分钟结束都可以同时收到3个币种的买入警报。