
Pine Script(221):常见疑问 - 负资本、订单规模与先进先出
为什么负资本不会停止交易? 每个TradingView策略都是基于一定的初始资金进行回测的。我们可以通过 strategy() 函数的 initial_capital 参数,或者在策略设置窗口中通过”Initial Capita...

为什么负资本不会停止交易? 每个TradingView策略都是基于一定的初始资金进行回测的。我们可以通过 strategy() 函数的 initial_capital 参数,或者在策略设置窗口中通过”Initial Capita...

同时开设多头和空头的停止入场单 TradingView策略可以使用 strategy.entry() 函数来通过停止单(stop order)开立多头和空头仓位。当我们两次调用这个函数时,就可以同时生成一个多头停止入场单和一个空头停止入场单...

如何设置基于百分比的追踪止损 移动止损(Trailing Stop)能以一个随着价格向有利方向移动而不断优化的价格来平仓。虽然TradingView支持移动止损,但它无法直接基于百分比来设置。不过幸运的是,我们可以自己编写代码来实现这一功能...

用strategy.cancel()取消未成交的订单 当一个PineScript策略生成一个基于价格的订单时(如限价单或止损单),这个模拟订单通常不会立即成交。strategy.cancel() 函数的作用就是让策略取消一个特定的未成交订单...

用strategy.close()通过市价单退出交易 PineScript策略通过模拟交易来评估交易思路的表现,之后我们需要平掉这些仓位来检验其效果。strategy.close() 函数的作用就是通过一个市价单来平掉(退出)一个特定的开仓...

用strategy.exit()关闭多头和空头交易 一个PineScript策略通过在TradingView图表上模拟交易来评估一个交易思路的表现。为此,我们需要开仓和平仓。strategy.exit() 函数就是用于让策略平掉多头和空头仓...

PineScript策略订单函数一览 在TradingView策略能够在图表上进行模拟交易之前,它的代码必须先生成交易指令。我们通过PineScript中一些特殊的函数——即所谓的订单函数来完成这项工作。 PineScript提供了多种订单...

用基于百分比的止损退出亏损交易 止损单可以防止我们的策略遭受过大的亏损。TradingView本身支持基于点数(tick)和价格的止损单,但并未提供基于百分比的止损功能。让我们来看看如何通过编写代码来实现这一功能。 通过止损单,我们可以指定...

策略脚本的两个订单阶段 要让我们的策略脚本进行交易,只需调用一个TradingView的订单函数来提交订单即可。但在一段代码最终成为一个实际成交的订单之前,TradingView必须经过两个步骤。让我们来一探究竟,看看策略脚本的幕后到底发生...

策略脚本如何处理实时和历史数据 在策略能够发送任何订单之前,我们的策略脚本必须先进行计算。没有脚本的计算,策略就无法提交订单或执行任何其他操作。但TradingView脚本究竟在何时以及如何进行计算呢?让我们一探究竟。 TradingVie...

用市价单平仓 平掉策略的虚拟仓位,一个最常见的方法就是使用市价单。在Pine Script中,有两个函数可以生成这样的平仓指令: strategy.close() 函数:平掉所有具有特定名称的开仓交易。 strategy.close_all...

用止损单开仓交易 在TradingView策略中,我们可以使用 strategy.entry() 函数来提交停止单(stop order)以开立仓位。 要在我们的Pine Script策略中通过停止单入场,需要完成三个关键步骤: 创建一个 ...

用Pine Script代码开启策略交易 Pine Script交易策略的一项核心能力就是开仓下单。缺少了这个功能,脚本就无法根据交易信号进行回测,也无法模拟历史表现。 在Pine Script中,策略通过 strategy.entry()...

用array.sum()对Pine Script数组所有元素求和 当我们创建了数组并向其填充了元素后,可以用array.sum()函数计算并返回一个数组中所有元素的总和。 该函数的标准语法格式如下: array.sum(id) id是目标数...

用array.standardize()标准化Pine Script数组 当我们创建了数组并向其中填充了元素后,可以用array.standardize()函数接收一个原始数组,并返回一个包含其标准化元素的新数组。 该函数的标准语法格式如下...

用array.mode()获取Pine Script数组的众数 当我们创建了数组并向其中填充了元素后,可以用Pine Script的array.mode()函数返回该数组中元素的众数。所谓众数,指的就是数组中出现频率最高的值。 该函数的标准...

用array.max()获取Pine Script数组的最大值 在我们创建并填充数组后,可以用array.max()函数获取数组中的最大值。 该函数的标准语法是: array.max(id) id是你想获取最大值的整数或浮点数数组的引用,由...

用array.avg()获取Pine Script数组的平均值 创建并填充数组后,可以用Pine Script的array.avg()函数计算数组中所有元素的平均值(均值)。 该函数的标准语法是: array.avg(id) id是你想计算...

如何向Pine Script数组的末尾添加元素 创建数组后,可以用array.push()函数向数组的末尾追加一个新元素。每次脚本执行这个函数,Pine Script都会为数组增加一个元素。 该函数的标准语法是: array.push(id...

如何向Pine Script数组的开头添加元素 创建数组之后,可以用array.unshift()函数在数组的开头(头部)添加一个新元素。每次执行这个函数,Pine Script都会把数组的容量增加1,并把新元素插到数组最前面。 该函数的标...

如何用输入选项设置趋势线的颜色 在Pine Script中,我们可以创建多种类型的输入选项,为指标或策略的设置面板增加可供用户自定义的参数,方便手动调整脚本的各项设置。 其中一种输入类型是颜色输入,它的一大用途就是给Pine Script画...

如何用代码设置趋势线的样式 指标或策略画出一条趋势线后,有时需要调整它的外观格式。这一节就来看看怎么实现。 line.set_style()函数 在TradingView中,脚本通过line.new()函数画趋势线。线条创建之后可以做多种后...

如何把趋势线延伸至整个图表 指标或策略创建一条趋势线之后,我们可能希望把这条线向左和/或向右无限延伸。这一节来看看怎么实现。 line.set_extend()函数 在TradingView中,脚本用line.new()函数画趋势线。图表上...

如何更改趋势线的价格坐标 创建一条趋势线后,我们常常还需要更新线条的价格坐标,让它在新的价格K线形成时保持最新。这一节来看看怎么操作。 line.set_y1()与line.set_y2() TradingView的指标和策略用line.n...

如何更新趋势线的价格和时间坐标 创建一条趋势线后,工作通常还没结束。我们常常需要更新线条的位置,让它在新的价格K线形成时保持最新。这一节来看看如何把趋势线移动到新的价格和时间坐标。 line.set_xy1()与line.set_xy2()...

如何获取趋势线的时间坐标 代码在图表上画出一条趋势线后,我们经常需要处理这条线的坐标。这一节来看看如何获取线条的时间坐标。 line.get_x1()与line.get_x2() TradingView的指标和策略用line.new()函数...

如何用代码删除趋势线 一个TradingView指标或策略创建的趋势线,只要脚本处于活动状态就会一直留在图表上。但如果我们创建了一条现在想移除的趋势线,该怎么办呢?这一节来看看具体做法。 line.delete()的用法 TradingVi...

如何用Pine Script在图表上绘制趋势线 在TradingView平台上,我们可以手动绘制趋势线来分析价格走势。但如果想让指标或策略脚本自动画出趋势线,该怎么做呢?这一节我们就来解决这个问题。 用line.new()创建趋势线 自Pi...

用方框捕捉每日最高价和最低价 TradingView的方框绘图可以高亮显示特定的图表区域,这使得图表分析更为便捷。方框可以高亮显示的内容多种多样,其中一种可能性就是捕捉每日的最高价和最低价。那么我们该如何绘制这样的方框呢? 围绕每日高低点绘...

用box.set_extend()延伸方框绘图 在我们的脚本绘制一个方框后,可以使用Pine Script的box.set_extend()函数来延伸该方框。一个被延伸的方框会向左和/或向右无限延续。 该函数的标准语法格式如下: box.s...

用box.set_border_width()更改方框的边框宽度 在我们创建一个方框后,可以使用box.set_border_width()函数来更改该方框的边框宽度。这个新的尺寸会应用于方框的所有四个边框。 该函数的标准语法格式如下: b...

用box.set_border_color()更改方框的边框颜色 在我们创建一个方框后,可以使用box.set_border_color()函数来更改该方框的颜色。这个颜色会应用于方框的所有四个边框。 该函数的标准语法格式如下: box.s...

改变方框外观的Pine Script函数概览 在我们的Pine Script代码绘制一个方框后,有几个函数可以更改该方框在图表上的外观。 并非方框外观的每个方面都可以更改,但在我们创建方框后,可以使用以下5个函数来修改其视觉样式:box.s...

用box.get_top()获取方框的上边界值 在我们用代码创建了一个方框绘图后,可以使用Pine Script的box.get_top()函数来获取该方框上边界在价格轴上的值。 该函数的标准语法是: box.get_top(id) id是...

获取方框边框位置的Pine Script函数 在我们的脚本绘制一个方框后,有几个Pine Script函数可以获取该方框某个边框的位置。 其他代码可以利用这些坐标来实现多种功能,例如,从其原始位置扩展方框、在现有方框旁放置一个新方框,或者在...

用box.set_lefttop()更新方框的左边框和上边框 在我们制作一个方框后,可以使用box.set_lefttop()函数来同时更新该方框的上边框和左边框到一个新位置。 该函数的标准语法格式如下: box.set_lefttop(i...

用box.set_top()更新方框的上边框 在我们绘制一个方框后,可以使用box.set_top()函数来更改该方框上边框的价格坐标。 该函数的标准语法格式如下: box.set_top(id, top) id参数是要更改的方框的标识符。...

概述:在图表上移动TradingView方框的Pine Script函数 在我们的Pine Script代码绘制一个方框后,有几个Pine Script函数可以把它移动到图表上的不同位置。由于我们无法手动拖放由代码创建的方框,因此需要使用这...

用label.set_style()设置TradingView标签的样式 在我们的Pine Script代码绘制出标签后,可以使用label.set_style()函数来更改该标签的样式。此函数可以修改标签的视觉形状,例如,把它变为一个文本...

用label.set_size()更改TradingView标签的尺寸 在我们的Pine Script代码创建标签之后,可以使用label.set_size()函数来更改该标签的尺寸。此函数不仅会修改标签本身的尺寸,还会同时调整其文本和(如...

概述:改变TradingView标签外观的Pine Script函数 在我们的Pine Script代码绘制出标签后,有几种方法可以自定义标签的视觉外观。这使我们能根据个人喜好调整标签,并能通过代码设定条件,来决定标签的外观在何时以及如何改...

用label.set_textcolor()设置TradingView标签的文本颜色 在Pine Script代码绘制出标签后,可以使用label.set_textcolor()函数来设置该标签的文本颜色。 每当一个标签包含文本时,这些文本...

用label.set_textalign()设置TradingView标签的文本对齐 在我们的Pine Script代码创建标签之后,可以使用label.set_textalign()函数来配置该标签的文本对齐方式。 借助标签的对齐设置,其...

概述:处理TradingView标签文本的Pine Script函数 当我们创建一个标签时,多数情况下我们会为该标签指定一段特定的文本。这能让标签显示关于价格、交易信号及脚本本身的附加信息。但我们该如何设置、更改或以其他方式调整标签的文本呢...

哪些Pine Script函数返回TradingView标签的位置 每个TradingView标签都显示在一个特定的图表位置。多数标签样式都带有一个箭头,精确地指向其X轴(时间)坐标与Y轴(价格)坐标的交点。但Pine Script是如何获...

用label.set_xloc()更改标签的时间坐标类型 在我们的Pine Script代码绘制出标签后,可以使用label.set_xloc()函数来更改该标签时间轴坐标的类型。 每个TradingView标签都需要一个X轴坐标。Pine...

哪些Pine Script函数可以改变TradingView标签的位置 在TradingView图表上,当Pine Script程序绘制一个标签时,这个标签会出现在特定的价格轴与时间轴坐标点上。通常情况下,标签会固定在该图表位置。但在某些场...

如何将绘图占位符与TradingView的策略警报一起使用 要让策略警报的消息更具动态性,一个有效的方法是使用绘图占位符。它能把指标的当前绘图值,例如止损位或目标位,直接嵌入到订单成交的警报消息中。下面我们深入了解怎么实现。 在策略警报中使...

TradingView中带有标准占位符的动态策略警报 标准占位符是被双大括号{{...}}包裹的特殊文本。我们把它插入到警报消息中,当警报触发时,TradingView会自动将它们替换为相应的动态数据。这是在警报中包含当前价格、时间、成交量...

为什么我的TradingView脚本不发出alertcondition()警报 场景是这样的:你用alertcondition()函数在TradingView指标中编写了警报,但当脚本在图表上运行时,你眼看着条件已经满足,却没有任何警报弹出...