K线
数据链上
VIP
市值
API
排行
CoinOSNew
CoinClaw🦞
语言
  • 简体中文
  • 繁体中文
  • English
全球行情数据应用领跑者,致力于更高效地提供有价值的信息。

功能

  • 实时行情
  • 特色功能
  • AI网格

服务

  • 资讯内容
  • 开放数据(API)
  • 机构服务

软件下载

  • PC版
  • Android版
  • iOS版

联系我们

  • 聊天室
  • 商务邮箱
  • 官方邮箱
  • 官方验证通道

加入社区

  • Telegram
  • Twitter
  • Discord

© Copyright 2013-2026. All rights reserved.

简体繁體English
|旧版

自定义指标 - version2版本新特性

CN
AiCoin
关注
2年前
AI 总结,5秒速览全文

version2版本新特性

● 初次赋值使用 =,如

a = 10

● 再次赋值使用 :=,如

a := 10

● 定义域处理,使用if,for,func等定义的内部变量不能在结构外使用

b = 0 // 定义全局变量
if (close > open){
  a = 1 // 定义if内部变量,不可在if外部使用
  b := 1 // 更改全局变量
}
plot(a) // 报错
plot(b) // 可以

● 数组处理

N1 = 1;
N2 = 2;
a = [1,2,3,N1,N2];
b = a{1}    //数组使用下标{}访问

● 函数处理​​​​​​​

recursion(int a) {
  if (a == 1) {
    return 1;
  }
  return a * recursion(a-1);
}
int a = recursion(5);

func_ma(x, y) {
  sum = 0.0
  for(i = 0; i < y; i++){
    sum := sum + x[i]/y
  }
  return sum
}
​​a = func_ma(high,10) // 计算10日均线 等价于 ma(high,10)

● 可以省略语句结尾的分号“ ; ”​​​​​​​

​​​​​​​● 支持条件绘图,可使用三元运算符对color进行赋值,如:

color = close > open ? 'red' : 'green'

● 数据类型

int: 整数
float: 浮点数
string: 字符串
bool: 布尔值
byte: 字节
any: 任意类型

● plot和alert中仅支持普通表达式的计算,不支持函数调用或if等语句​​​​​​​

旧版本:
plot(if close > open {close } else {open}) 
新版本:
plot(close > open ? close : open) 

● 三元运算符的表达式不支持变量的定义,可以使用变量赋值​​​​​​​

旧版本:
close > open ? a = close : a = open 
新版本:
a = close > open ? close : open 

● indicator函数仅可使用一次

indicator(precision = 2) 
indicator(precision = 2) // 报错

● plot和alert不能定义在局部定义域内,如if,for,func等​​​​​​​

// 报错
if close > open {
  plot(close)
} else {
  plot(open)
}

● 指标函数变量​​​​​​​

[mb, up, dn] = boll(close,20, 2)
// 可忽略[ ],如
mb, up, dn = boll(close,20, 2)

● 除法运算结果默认为float类型,如

1/2=0.5

● not 后可不使用括号,如​​​​​​​

not a > 1

● 多行注释可使用/* */,单行注释使用//​​​​​​​

// 单行注释
/*
多行注释
*/

● 在for中可使用break和continue提前结束循环

for i=0;i<10;i++{
  if i == 5 {
    break
  }
  // println 用作示例,实际使用时请使用plot或alert
  println(i) // 0,1,2,3,4
}

​​​​​​​for i=0;i<10;i++{
  if i == 5 {
    continue
  }
  // println 用作示例,实际使用时请使用plot或alert
  println(i)
}

● 若在for中使用return,则会提前结束函数,在最外层for中使用return会提前结束脚本​​​​​​​

for i=0;i<10;i++{
  if i == 5 {
    return
  }
  // println 用作示例,实际使用时请使用plot或alert
  println(i)
}

​​​​​​​// 不会执行
println("end")

● for中使用指标或方法函数会出现重复计算,建议在for外部计算后再使用​​​​​​​

a = nan
ma5 = ma(close,5)
for i=0;i<10;i++{
  a := ma(close,i) // 只会计算ma(close,0),与预期不符
}

● for循环支持使用range函数,目前仅支持遍历数组​​​​​​​

a = [1,2,3,4,5]
for i in range(a){
  // println 用作示例,实际使用时请使用plot或alert
  println(i) // 0,1,2,3,4
}

● 序列变量的储存值只有500个周期,所有的历史数据引用最大值为499​​​​​​​

a = close[0] // 可以
a = close[499] // 可以
a = close[500] // 报错

​​​​​​​​​​​​​​● 数组的初始化最大值位1000

● 除法运算中,若除数为0,则返回空值或nan​​​​​​​

a = 1/0 // 返回空值

 

免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。

Gate 13周年狂欢,注册赢走万元礼包
广告
|
|
APP下载
Windows
Mac
分享至:

X

Telegram

Facebook

Reddit

复制链接

|
|
APP下载
Windows
Mac
分享至:

X

Telegram

Facebook

Reddit

复制链接

AiCoin的精选文章

17小时前
【AiCoin丨3.28快照:加息预期、黄金上涨、ETF存入】
1天前
下午4点,AiCoin NPC直播:炒币十年,币圈没机会了?你会转战美股吗?(送会员)
1天前
上午11点,AiCoin NPC直播:炒币十年,币圈没机会了?你会转战美股吗?(送会员)
查看更多

目录

|
|
APP下载
Windows
Mac
分享至:

X

Telegram

Facebook

Reddit

复制链接

相关文章

avatar
avatarAiCoin研究院
1天前
炒币十年,币圈没机会了?你会转战美股吗?
avatar
avatarAiCoin研究院
3天前
川普反水!BTC 赚翻,仅剩 60h
avatar
avatarAiCoin研究院
5天前
大饼跌破 7w,这波 “空投突袭” 暴力回血!你准备好了吗?
avatar
avatarAiCoin研究院
8天前
昨夜暴跌谁在卖?
avatar
avatarAiCoin研究院
9天前
315 打假续更,币圈避坑封神直播!
APP下载
Windows
Mac

X

Telegram

Facebook

Reddit

复制链接