
Pine Script(35):Pine语言内置的格式说明符
我们已经学会了如何用str.format()的占位符{0}, {1}来做“完形填空”。但默认填进去的数字和时间可能格式很乱,比如小数位太多,或者时间戳是一长串看不懂的数字。 为了让我们的输出更专业、更易读,我们需要给这些“填空”的内容进行“...

我们已经学会了如何用str.format()的占位符{0}, {1}来做“完形填空”。但默认填进去的数字和时间可能格式很乱,比如小数位太多,或者时间戳是一长串看不懂的数字。 为了让我们的输出更专业、更易读,我们需要给这些“填空”的内容进行“...

上次我们学习了str.format()这个文本构建工具,它的核心思想就是完形填空。今天,我们就来深入研究一下这个填空题里面的占位符。理解了占位符的各种高级玩法,你才能真正驾驭str.format()的全部用法。 我们先来明确两个核心概念: ...

在量化交易中,时间就是一切。但程序眼里的时间(一个从1970年开始计算的巨大毫秒数,我们称之为“时间戳”)和我们人类习惯的年月日时分秒完全是两码事。更头疼的是,不同交易所还处于不同的时区。 如何把难懂的时间戳,转换成我们想要看的、特定时区的...

当我们想创建一段包含多个动态数据的复杂文本时,比如“BTCUSD在2025-07-27 20:00收盘于52345.67,上涨了1.23%”,如果用+号和str.tostring()一个个拼接,代码会变得非常混乱且难以阅读。 为了解决这个问...

在PineScript中,我们经常需要把各种计算结果,比如当前的价格、指标值,显示在图表的标签里,或者包含在警报消息中。但这里有一个基本规则:文本(字符串)不能直接和数字、布尔值等其他类型的数据“拼接”。 要解决这个问题,我们就需要一个万能...

上一节我们自己动手打造了判断全小写的StrIsLower()函数。有小写就有大写,今天我们就来完成它的姊妹篇:创建一个能精准判断字符串是否全大写的StrIsUpper()函数。 这在校验某些固定大写的品种代码(如外汇USDJPY)或处理特定...

在处理文本数据时,有时我们需要进行一种格式校验:判断一个字符串是否“纯粹”,比如,是不是所有的字母都符合小写规范。这在需要统一数据格式或验证用户输入时非常有用。 PineScript本身没有提供现成的函数来做这个检查,但这难不倒我们。今天,...

大家好,我是学长,这篇文章有些反常识。我们来剖析下国内外EA的差异。 在近几年的交易与EA开发及使用的过程中,一个问题始终萦绕心头:为什么在国外EA市场,一些看似简单的EA能够穿越数年牛熊,持续稳定地盈利;而在国内,EA却似乎总被贴上“欺诈...

上一节我们学习了str.lower(),它可以将所有字母都转为小写。今天我们来认识它的“兄弟”函数——str.upper()。 它的功能正好相反:无论原始文本长什么样,它都会把所有字母强行转换成大写。这两个函数共同构成了我们处理文本大小写问...

在处理文本数据时,我们面临一个常见的问题:大小写。在程序看来,EURUSD、EurUsd和eurusd是三个完全不同的东西,这会给我们的比较和筛选带来巨大的麻烦。 为了解决这个问题,我们需要一个标准化工具,能无视原始文本的大小写,强行把它们...

上一节我们学会了如何自己动手“砍掉”字符串多余的前缀。有前就有后,这次我们来解决另一个常见的文本清理需求:如何移除字符串末尾的后缀。 比如,很多期货品种的描述都带有Futures或Perpetual Futures这样的后缀,我们可能只想保...

我们在处理交易品种信息时,经常会遇到一些带有固定前缀的文本,比如很多ETF的描述都以ProShares或iShares开头。在图表上显示标签或发送警报时,这些前缀往往是多余的“噪音”,我们真正关心的是后面的核心信息。 那么,如何智能地“砍掉...

继StrContains()和StrStartsWith()之后,我们来打造我们自定义工具箱里的最后一件利器:StrEndsWith()。顾名思义,它专门解决不区分大小写的“后缀匹配”问题。这个功能在根据计价货币(如USD)、合约类型(如P...

上一节我们自己动手创建了一个不区分大小写的文本包含函数StrContains()。但有时模糊包含还不够,我们需要更精确的“前缀匹配”,并且同样希望忽略大小写的干扰。 比如我想筛选出所有比特币相关的品种,BTCUSD和btceur都应该被选中...

前面我们讲了字符串比较的三剑客,但它们都有一个共同的毛病:太较真,严格区分大小写。比如,在它们眼里'BTC'和'btc'是完全不同的东西。 但在很多实际场景里,我们希望搜索能智能一点,忽略大小写的差异。比如,我想找到所有比特币相关的品种,不...

大家好,我是学长。今天这篇文章有些特殊。 手工交易了很多年,也与EA打了好几年的交道。今天想以一个综合经验者的身份,和大家聊一个很根本,也很矛盾的问题:EA在我们的交易中,到底扮演着什么角色。 我的知乎签名是:“闭门即是深山,心静随处净土。...

我们已经学会了用str.contains()做模糊搜索,用str.startswith()做前缀匹配。现在,我们来学习这个系列的最后一个工具:str.endswith()。 顾名思义,它专门用来判断一个字符串是否以某段特定的文字“结尾”。这...

上一节我们聊了str.contains(),它可以帮我们做模糊的“文本包含”搜索。但有时候,我们需要更精确的判断,比如,我只想找出所有以'EUR'开头的货币对,而不想匹配到'GBPEUR'。 这种要求“必须以…开头”的场景,就需...

在我们写的策略或指标里,经常需要像搜索引擎一样,去判断一段文字里是否“包含”某个关键词。比如,我想让我的脚本在所有和“原油”相关的品种上都自动应用某个设置,或者检查用户的自定义警报消息里是否包含了“买入”这个词。 要完成这种“文本搜索”任务...

在写指标或策略时,我们经常会添加一些自定义的输入项,比如让用户自己填写警报信息或者图表标签。但如果用户什么都没填,我们可能就不想显示任何东西。这时候,我们就需要一个能力:判断用户输入的字符串是否为“空”。 这节课,我们就来聊聊在PineSc...

我们写的很多指标或策略,可能只想让它在特定的交易品种上运行。比如,一个专门为加密货币设计的波动率指标,或者一个只想在所有以“USD”结尾的货币对上运行的策略。要实现这种“筛选”功能,我们就需要学会如何处理和比较文本,也就是我们说的“字符串”...

在其他编程语言里,switch语句常用于根据一个变量的不同取值,来执行不同的操作。PineScript虽然没有switch,但它提供了一个更灵活的替代方案:级联if语句 (if...else if...else)。不少人听到级联if很陌生,...

当你兴高采烈地学会了if语句,准备大展拳脚,很可能马上就会撞上PineScript里最著名的一堵墙,看到一个让你摸不着头脑的错误:“Cannot use '...' in local scope”(不能在局部作用域中使用…)。 ...

📈 功能介绍 🛠️ 更新日志 学长: 持仓统计面板是一款实用型交易辅助工具,它并非传统的技术分析指标,而是一个信息显示面板。在图表主窗口左上方以表格形式实时统计当前账户所有持仓订单的详细信息,让您对账户整体持仓状况、风险和浮动盈亏一目了然。...

📈 功能介绍 🛠️ 更新日志 学长: 一键平仓EA专业版是一款高效订单管理工具,在图表上提供可视化面板,一键完成平仓买单、平仓卖单、平仓全部、平仓盈利、删除挂单等操作。支持按当前品种和魔术手筛选,内置操作确认、滑点设置、重试机制,适配 5 ...

我们已经知道,单纯的if语句解决的是“做”与“不做”的问题。但更多时候,我们的交易逻辑是“二选一”:“如果价格在均线上方,我们就看多;否则,我们就看空”。 这种非此即彼的决策,就需要if语句的完整形态——if/else语句。它给了我们两条明...

我们已经学会了用if语句来做“如果…就…”的判断。但这只能解决单层逻辑。在真实的交易策略里,我们的决策过程往往是多层次的,就像一个“决策树”。 比如,“如果成交量放大了,我们再去看价格有没有突破”。这种“如果A成立,...

📈 功能介绍 🛠️ 更新日志 学长: 双孕线形态指标 v1.0 专门用于识别市场中的双孕线形态。双孕线是一种强烈的价格收缩信号,连续「孕」了两次,K线没能走出更高的高点、更低的低点,处于逐渐收敛状态,由三根K线组成:母K线、第一根孕线和第二...

前面我们讲了三元运算符?:,它擅长根据条件“返回一个值”。但如果我们的需求不是返回值,而是“执行一个或一系列动作”呢? 比如,“如果金叉发生,就提交一笔买入订单”,或者“如果满足某个条件,就画一条趋势线”。这种时候,就需要请出PineScr...

📈 功能介绍 🛠️ 更新日志 学长: 净值强平风控EA v1.0 是一款专注于资金保护的风控助手。它的核心使命只有一个:在账户净值触及预设的风险底线时,以最快的速度自动平仓您账户中的所有头寸(包括市价单和挂单),为您守住资金的最后一道防线。...

当你写脚本写多了,一定会遇到一个情况:某一段计算逻辑,比如“计算某个指标的金叉”或者“判断一个K线形态”,在代码的好几个地方都要用到。这时候,你是每次都复制粘贴一遍,还是有更聪明的办法? 答案就是创建自己的Pine脚本自定义函数。函数,说白...

📈 功能介绍 🛠️ 更新日志 学长: 在实盘交易中,最致命的陷阱往往看起来最像机会。Fakey 形态,即假突破,正是这样一种揭示市场骗局的、极高价值的价格行为信号。它预示着一次看似强劲的突破,往往是「聪明钱」诱导对手盘的陷阱,走势即将反转。...

📈 功能介绍 🛠️ 更新日志 学长: 在裸K交易的世界里,吞没形态是一个极其强大的、预示着市场力量交替和趋势潜在反转的核心信号。然而传统的吞没形态定义较为模糊,不同的交易者有不同的解读,导致信号的客观性不足。本指标的诞生,正是为了解决这一痛...

前面我们讲了比较运算符,它们就像策略的“眼睛”,负责观察市场并返回一个true或false的答案。但一个完整的交易决策,往往需要综合多个条件。比如,“价格突破前高” 并且 “成交量放大”,我们才认为是一个有效的买入信号。要把这些零散的tru...

我们的任何交易策略,其本质都是一系列“如果…那么…”的判断。比如“如果收盘价站上了均线”,或者“如果RSI低于30”。要让程序替我们完成这些判断,就需要给它一双眼睛:比较运算符。它们专门负责比较两个值的大小或关系,然...

这篇解盘聚焦 XAUUSD 蝙蝠形态与上方压力线共振位置,帮助你快速判断黄金短线潜在做空区域与K线反应。想快速看懂关键价位,现在就查看这张结构图。

这款 K线倒计时指标可在 MT4 实时显示 M1 到 D1 的收盘剩余时间、完成百分比与临近收盘预警,帮你更稳地把握入场与等待节奏。立即查看面板效果与下载方式。

学习 Pine Script 三元运算符 ?: 的语法、返回类型规则与嵌套写法,快速掌握如何用更简洁的方式实现 if/else 条件逻辑。文中附成交量背景色与箭头信号两个实战案例。
![Pine Script(7):历史引用运算符([])-图道交易](https://www.eamql5.com/wp-content/uploads/2025/07/XAUUSD_2025-07-10_11-01-56-220x150.png)
学习 Pine Script 历史引用运算符 [] 的语法、避坑规则与实战用法,掌握 close[1]、hl2[10] 和 ta.highest(high, 20)[1] 等写法,快速学会读取历史K线数据并构建动量与突破策略。

学习 Pine Script 求模运算符 % 的原理与实战用法,掌握 bar_index % N 的周期判断、每隔 N 根K线执行逻辑、以及奇偶数判断技巧,快速写出更灵活的周期性脚本。

Inside Bar孕线指标可在 MT4 自动识别多空孕线与十字星形态,并结合 EMA 趋势过滤提升信号质量。了解图表效果、安装方式与参数特点,判断它是否适合你的价格行为交易。

学习 Pine Script 字符串拼接的正确写法,掌握如何用 + 连接固定文本、变量与 str.tostring() 转换后的数字,快速写出图表标签、提示文字和动态警报信息。

📈 功能介绍 🛠️ 更新日志 学长: 在瞬息万变的市场中,错误的仓位计算是造成意外亏损的常见原因。这款头寸计算器旨在根除这一痛点,通过自动化流程,帮助MT4交易者实现精准、一致的风险控制。【学长原创,亲测可用】 📊 精准仓位计算 输入风险金...

学习 Pine Script 算术运算符的用法,掌握 + - * / 的二元与一元运算、整数除法陷阱、NaN 传播规则,以及成交量累加与放量判断的实战写法。

学习 Pine Script 赋值运算符的用法,搞懂 = 与 == 的区别、变量为何不能重复用 = 重新赋值,以及函数参数赋值和条件判断中的常见报错。

📈 功能介绍 🛠️ 更新日志 学长: 交易中最难的,往往不是找到入场信号,而是始终如一地执行风控纪律。在市场的巨大诱惑和恐惧面前,我们预设的止损、止盈和风险底线,常常会因为情绪的波动而形同虚设。 【账户哨兵 – 专业风控EA】,正是为了解决...

学习 Pine Script 运算符优先级,搞懂括号、历史引用、一元正负号、比较运算和逻辑运算的执行顺序,避免策略条件误判与中点计算错误。

学习 Pine Script 运算符基础,快速搞懂运算符、操作数、表达式,以及一元、二元、三元运算符在交易脚本里的常见用法,打好编写指标和策略的底层基础。

想系统学习 Pine Script 教程?这篇文章带你了解 TradingView 交易脚本的核心价值、适合人群与学习路线,帮助你把交易思路逐步转化为指标和策略。

这篇 EURUSD 短线解盘聚焦潜在螃蟹形态的 XA 1.618 PRZ 区域,帮助交易者快速识别关键回撤位、潜在反转区与后续观察重点。