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

ToS Think Script条件水平线颜色切换与代码精简技术问询

精简版动态支撑阻力位脚本

以下是大幅精简后的ThinkScript代码,实现自动根据收盘价切换线条颜色的功能:

# 定义全局颜色
DefineGlobalColor("ResistanceColor", Color.RED);
DefineGlobalColor("SupportColor", Color.BLUE);

# 输入关键价位(用逗号分隔多个数值,例如:150,155,145,140)
input KeyLevels = {default "", "150,155,145,140"};

# 处理输入的价位列表
string[] levelStrings = Split(KeyLevels, ",");
float[] levels = new float[levelStrings.size()];

# 将字符串转换为数值数组
for i = 0 to levelStrings.size() - 1 {
    levels[i] = StrToFloat(levelStrings[i]);
}

# 绘制动态颜色的水平线
for i = 0 to levels.size() - 1 {
    float currentLevel = levels[i];
    if currentLevel != 0 {
        plot line = currentLevel;
        line.SetPaintingStrategy(PaintingStrategy.HORIZONTAL);
        line.SetColor(if close > currentLevel then GlobalColor("SupportColor") else GlobalColor("ResistanceColor"));
        line.SetLineWeight(2);
        line.SetTitle("Level " + (i + 1));
    }
}

代码说明:

  1. 简化输入方式:无需分别输入阻力位和支撑位,只需在KeyLevels中用逗号分隔所有关键价位即可,数量不限。
  2. 动态颜色切换:
    • 当收盘价高于该价位时,线条显示为蓝色(当前是支撑位)
    • 当收盘价低于该价位时,线条显示为红色(当前是阻力位)
  3. 自动过滤无效值:跳过数值为0的无效价位,避免绘制不必要的水平线。
  4. 精简结构:使用循环批量处理所有价位,替代原脚本中重复20次的代码块,维护性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 06:45:32