标签: pine-script

如何在Pine脚本(Tradingview)中画线?

Pine编辑器仍然没有内置函数来绘制线条(例如支撑线,趋势线).我找不到任何直接或间接的方法来绘制线条.我想构建如下所示的函数(仅举例)

draw_line(price1, time1,price2, time2)
Run Code Online (Sandbox Code Playgroud)

任何想法或建议?

finance line tradingview-api pine-script

4
推荐指数
2
解决办法
9996
查看次数

进入策略后如何保存价值作为条件?

我遇到以下问题:

我输入一个在收盘价 < EMA 后关闭的策略。为了更好地退出,我想在收盘 > EMA 时关闭它,但低点(入场后任何给定的柱)低于 EMA(低点 < EMA)。

我不知道如何执行“输入后的任何给定栏”时刻。我猜脚本应该以某种方式存储前一个柱的值(如果为真),但是当策略实际启动时,脚本编写就会出现问题。任何帮助,将不胜感激!

附言。如您所见,我不是编码员,这可能很难理解。我对此深表歉意,并感谢您抽出时间。

米哈伊尔

我尝试用strategy.position_avg_price > 0 来说明入场条件何时开启,并添加所需的条件:

    h = nz(strategy.position_avg_price) > 0 and not 
    crossunder(close,ema(close,length)) and                         
    crossunder(low,ema(close,length)) ? 1 : 0 
    rightborder = barstate.islast // treat the last bar (most recent bar) 
    as the right edge of the lookback window range
    // if examining the last bar (newest bar, rightborder is true)
    // set variable "val" to the previous value of series variable "h"
    // else set to na …
Run Code Online (Sandbox Code Playgroud)

pine-script

4
推荐指数
1
解决办法
4685
查看次数

每次出现新栏时标签都会重复

我用 pine 写Tradingview,每次有一个新的栏时,我的文本都会被复制。我只需要标签才能移动到新栏。

//@version=4
study("My Script")

plot(close)

label.new (barstate.islast ? time : na,close,text="test",xloc=xloc.bar_time)
Run Code Online (Sandbox Code Playgroud)

pine-script

4
推荐指数
1
解决办法
2863
查看次数

Tradingview 的自动适合比例功能:排除指标的绘图

我有一个指标可以自动在 y 尺度上压缩整个价格图表,所以我必须在大部分时间让它不可见。即使双击 y 尺度(图表自动拟合功能)也包括所有可见指标。有什么办法可以防止一个或所有指标这样做吗?

scale pine-script

4
推荐指数
1
解决办法
2461
查看次数

Tradingview Pine-Script:如何仅绘制最后 x 个周期

我只想为最后 x 个周期绘制一个指标。我怎么做?

如果我可以进行时间运算(从 plotStartDate 中减去 x * period),也许我可以使用以下代码:

period = timeframe.ismonthly or timeframe.isweekly ? "12M" : "M"
plotStartDate = timestamp(year(timenow), month(timenow), dayofmonth(timenow), 00, 00)
isPlotDate = time >= plotStartDate
plot(isPlotDate ? mydata : na, color=mydata != mydata[1]:na, style=plot.style_line, linewidth=2)
Run Code Online (Sandbox Code Playgroud)

time period pine-script

4
推荐指数
1
解决办法
4192
查看次数

Pine-Script + 多符号策略

我想知道在 TradingView 中是否可以在同一个脚本中回测多个符号?换句话说,从应用于图形的符号中脱颖而出。

我找到了如何使用 commande 安全调用其他符号,但是在下订单后,我没有成功地突出应用于图形的符号。

谢谢 !

pine-script

4
推荐指数
1
解决办法
2116
查看次数

Pine Script:如何在每次价格更新时在标签上的图表时区中显示当前时间?

我试图做一些看似微不足道的事情,但却遇到了各种各样的问题。

每次当前价格更新时,我都想在标签上绘制某些基本信息 - 无论我的图表的时间范围如何。

我能够准确地显示数量和价格信息,但是显示时间一直是一个挑战。

我的第一次尝试是使用以下代码:

if (barstate.islast)
    label.set_text(
         id=myLabel,
         text="\nTime: " + tostring(hour) + ":" + tostring(minute) + ":" + tostring(minute)
         )
Run Code Online (Sandbox Code Playgroud)

我很快了解到,即使我的图表设置为纽约的时区(即 UTC-4),调用也会tostring(hour)显示 UTC 的时间。

弄清楚如何指定我希望它显示的时间与我的图表时区相对应是第一个主要障碍,我一直在纠结timestamp(),但syminfo.timezone无济于事。

我的第二个主要问题是tostring(second)无法正确显示秒数,即使对于 UTC 时间也是如此。

在处理 1m 图表时,我想我可以通过实施来解决这个问题

tostring((timenow-time)/1000)

但是,秒数在不同的时间范围内无法正确显示。

除此之外,来自不同时区的不同交易所的图表都将相对于 UTC 时间“错误”地显示时间。

肯定是我错过了一些相当基本的东西,因为时间是如此重要的数据,但我只是无法确定正确的语法。

预先感谢您的任何帮助。

datetime pine-script

4
推荐指数
1
解决办法
1万
查看次数

Pine Script:有没有办法在数据窗口中隐藏特定的指标值?

我最近使用 Pine Script 创建了一个脚本,该脚本在 TradingView 的图表上绘制了几个不同的指标。在特定场景下,某些指标未激活并在数据窗口中显示“n/a”。

我知道 TradingView 允许我们隐藏所有指标值。我想自定义哪些指标值可见。这可能吗?谢谢你的时间。

pine-script

4
推荐指数
1
解决办法
5059
查看次数

如何以与 Ninjatrader 中相同的方式在 Tradingview 中绘制我的历史交易/执行?

我想知道我们是否可以使用脚本绘制过去的交易。我基本上想访问我的执行历史记录,并以我执行这些操作的价格绘制线条,以便清楚地了解我的盈利和亏损交易。这在松树中可能吗?例如,从我跟踪我的交易的 Excel 开始,如下所示:数据

我会在图表中得到类似的内容:示例

如果可能的话,脚本可以直接从我的经纪人那里获取数据,但如果没有,我总是可以如上所述在 Excel 中记录我的所有交易。

现在我们只能用箭头在 Tradingview 中显示执行情况,并且箭头位于柱的上方或下方。但我们无法从他们那里得到确切的信息。我想要一个脚本来显示执行情况,就像我们在 MT4 中看到的那样:Ninjatrader

tradingview-api pine-script

4
推荐指数
1
解决办法
2532
查看次数

Pine 脚本策略 - 当*价格*(未平仓)穿过某个值时如何触发入场?目前进入交易一根蜡烛太晚了

只是玩玩,学习如何编写策略。我现在正在尝试的是(伪代码)......

if(previousCandle == red 
   ... AND previousCandle.high >= sma
   ... AND previousCandle.low <= sma 
   ... AND currentPrice > previousCandle.high)
    
    enter trade
Run Code Online (Sandbox Code Playgroud)

我在 Pine Script 中拥有的是......

redTouch = close < open and high >= ma and low <= ma

longCond = redTouch[1] and close > high[1]

strategy.entry("Long", strategy.long, when = longCond)
Run Code Online (Sandbox Code Playgroud)

所有蜡烛redTouch均已正确识别(之前使用 BG 颜色进行检查),但对于longCondI don’t Want close > high[1],因为它仅在下一根蜡烛上进入交易(并且为时已晚)。

以下屏幕截图显示了当前正在进入交易的位置(红色蜡烛上的蓝线),以及我希望它在哪里触发/进入(绿色蜡烛上的黄线)。

迟到的和期望的交易

如何更改close > high[1]price > high[1]或类似的蜡烛内交叉触发?或者您只能在 Pine Script 中的一个蜡烛中输入交易吗?

pine-script

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

pine-script ×10

tradingview-api ×2

datetime ×1

finance ×1

line ×1

period ×1

scale ×1

time ×1