You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为不同加密货币对设置自定义Crossover/Crossunder多空信号参数

实现不同加密货币对的交叉参数切换方案

1. 构建币种选择下拉菜单

先通过下拉输入框让用户选择目标加密货币对,代码示例:

// 创建币种选择菜单
selectedPair = input.dropdown("选择加密货币对", 
     options=["BTC/USDT", "ETH/USDT", "SOL/USDT", "ADA/USDT"], 
     defaultValue="BTC/USDT")

2. 为各币种分配专属交叉参数

用switch或if-else语句,给不同币种绑定对应的Crossover(快线周期)、Crossunder(慢线周期)参数,示例:

// 用switch批量分配快线参数
fastLength = switch selectedPair
    "BTC/USDT" => 10
    "ETH/USDT" => 8
    "SOL/USDT" => 12
    "ADA/USDT" => 7
    => 9 // 默认兜底值

// 用switch批量分配慢线参数
slowLength = switch selectedPair
    "BTC/USDT" => 30
    "ETH/USDT" => 24
    "SOL/USDT" => 32
    "ADA/USDT" => 22
    => 26 // 默认兜底值

3. 基于参数生成多空信号

用分配好的参数计算指标,再触发Crossover/Crossunder信号,示例以EMA均线交叉为例:

// 计算均线(可替换为你使用的其他指标)
fastMA = ta.ema(close, fastLength)
slowMA = ta.ema(close, slowLength)

// 生成多空交叉信号
longSignal = ta.crossover(fastMA, slowMA)
shortSignal = ta.crossunder(fastMA, slowMA)

// 绘制信号标记
plotshape(longSignal, title="做多信号", location=location.belowbar, 
     color=color.green, style=shape.labelup, text="多")
plotshape(shortSignal, title="做空信号", location=location.abovebar, 
     color=color.red, style=shape.labeldown, text="空")

可选优化:自动识别当前交易对

如果不需要手动选择,可通过syminfo.tickerid自动获取当前图表的币种ID,直接匹配参数:

currentPair = syminfo.tickerid

fastLength = switch currentPair
    "BINANCE:BTCUSDT" => 10
    "BINANCE:ETHUSDT" => 8
    => 9

注意事项

  • 确保币种ID(如BINANCE:BTCUSDT)和图表中的标识完全一致,否则会触发默认参数
  • 可根据需求扩展参数维度,比如调整指标类型(EMA/SMA)、信号阈值等

内容的提问来源于stack exchange,提问作者trkk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 22:06:26