
Pine Script(18):检查字符串是否为空
在写指标或策略时,我们经常会添加一些自定义的输入项,比如让用户自己填写警报信息或者图表标签。但如果用户什么都没填,我们可能就不想显示任何东西。这时候,我们就需要一个能力:判断用户输入的字符串是否为“空”。 这节课,我们就来聊聊在PineSc...
在写指标或策略时,我们经常会添加一些自定义的输入项,比如让用户自己填写警报信息或者图表标签。但如果用户什么都没填,我们可能就不想显示任何东西。这时候,我们就需要一个能力:判断用户输入的字符串是否为“空”。 这节课,我们就来聊聊在PineSc...
我们写的很多指标或策略,可能只想让它在特定的交易品种上运行。比如,一个专门为加密货币设计的波动率指标,或者一个只想在所有以“USD”结尾的货币对上运行的策略。要实现这种“筛选”功能,我们就需要学会如何处理和比较文本,也就是我们说的“字符串”...
在其他编程语言里,switch语句常用于根据一个变量的不同取值,来执行不同的操作。PineScript虽然没有switch,但它提供了一个更灵活的替代方案:级联if语句 (if...else if...else)。不少人听到级联if很陌生,...
当你兴高采烈地学会了if语句,准备大展拳脚,很可能马上就会撞上PineScript里最著名的一堵墙,看到一个让你摸不着头脑的错误:“Cannot use '...' in local scope”(不能在局部作用域中使用…)。 ...
我们已经知道,单纯的if语句解决的是“做”与“不做”的问题。但更多时候,我们的交易逻辑是“二选一”:“如果价格在均线上方,我们就看多;否则,我们就看空”。 这种非此即彼的决策,就需要if语句的完整形态——if/else语句。它给了我们两条明...
我们已经学会了用if语句来做“如果…就…”的判断。但这只能解决单层逻辑。在真实的交易策略里,我们的决策过程往往是多层次的,就像一个“决策树”。 比如,“如果成交量放大了,我们再去看价格有没有突破”。这种“如果A成立,...
前面我们讲了三元运算符?:,它擅长根据条件“返回一个值”。但如果我们的需求不是返回值,而是“执行一个或一系列动作”呢? 比如,“如果金叉发生,就提交一笔买入订单”,或者“如果满足某个条件,就画一条趋势线”。这种时候,就需要请出PineScr...
当你写脚本写多了,一定会遇到一个情况:某一段计算逻辑,比如“计算某个指标的金叉”或者“判断一个K线形态”,在代码的好几个地方都要用到。这时候,你是每次都复制粘贴一遍,还是有更聪明的办法? 答案就是创建自己的Pine脚本自定义函数。函数,说白...
前面我们讲了比较运算符,它们就像策略的“眼睛”,负责观察市场并返回一个true或false的答案。但一个完整的交易决策,往往需要综合多个条件。比如,“价格突破前高” 并且 “成交量放大”,我们才认为是一个有效的买入信号。要把这些零散的tru...
我们的任何交易策略,其本质都是一系列“如果…那么…”的判断。比如“如果收盘价站上了均线”,或者“如果RSI低于30”。要让程序替我们完成这些判断,就需要给它一双眼睛:比较运算符。它们专门负责比较两个值的大小或关系,然...
在PineScript里,我们怎么表达“如果条件A成立,就做B;否则,就做C”这种最常见的逻辑呢? 其他编程语言里可能有长长的if/else语句,但在PineScript里,我们有一个更简洁、更高效的工具:条件三元运算符?:。它是PineS...
在交易世界里,我们做的任何分析,无论是看均线、判断趋势,还是寻找突破,都离不开一个核心动作:回测历史。PineScript之所以强大,很大程度上要归功于它提供了一个极其方便的回测时光机:历史引用运算符[]。 掌握了它,你就掌握了穿越K线、获...
我们前面聊过,在PineScript里,两个整数相除,比如10 / 3,结果是3,小数部分会被直接砍掉。但如果我想要的恰恰是那个被砍掉的“余数”呢? 这时候,就轮到一个特殊的算术运算符登场了:求模运算符%。 你也可以叫它求余运算符,它的作用...
我们都知道加号+可以用来做数学加法,但它在PineScript里还有一个非常实用的功能:连接文字,也就是我们常说的“字符串拼接”。这个功能在自定义图表标签、创建动态警报信息时,简直是神器,今天咱们就来聊聊怎么用好它。 在聊拼接之前,咱们先快...
聊完了赋值和判断,咱们来聊聊最基础的数学计算。任何指标,不管多复杂,其内核都离不开加减乘除。在PineScript里,这四个基础的算术运算符就是你的计算器:加法+、减法-、乘法*和除法/。这四个运算符在作为二元运算符(也就是需要两个数来运算...
在所有Pine Script的运算符里,有一个你每天、每行代码几乎都会用到的家伙,那就是赋值运算符 =。 它的作用很简单,就是把一个值装进一个变量里,别看它简单,这里面可有不少新手必踩的坑,甚至一些规则和其他编程语言完全不同,今天咱们就把它...
在编写策略时,我们经常会在一行代码里用到好几个运算符,比如 close > open and volume > 2000。但你有没有想过一个问题:在一行复杂的计算中,电脑到底会先算哪个、后算哪个? 这个问题不是钻牛角尖,它直接关...
要想让咱们的交易想法在TradingView上跑起来,变成能实战的指标或策略,就离不开“运算符”。你可能一听“运算符”、“操作数”这些词就觉得头大,感觉很专业、很枯燥。别怕,这都是纸老虎,今天学长就用大白话给你讲清楚,保证你一听就懂。 咱们...