我在任何地方都找不到这个问题的答案;甚至在官方文档中也没有。我尝试过自己编写代码,但它不起作用,所以也许这是不可能的。
在下面的示例中,您可以使用条件颜色进行绘图:
//STACKED EMAs
MA1 = ta.ema(close, 5)
MA2 = ta.ema(close, 8)
MA3 = ta.ema(close, 13)
MA4 = ta.ema(close, 21)
MA5 = ta.ema(close, 34)
MA_Stack_Up = (MA1 > MA2) and (MA2 > MA3) and (MA3 > MA4) and (MA4 > MA5)
//CONDITIONS
Uptrend = MA_Stack_Up
Reversal = ((MA1 < MA2) and (MA2 > MA3)) or ((MA1 > MA2) and (MA2 < MA3))
//COLOR CODING
Bar_Color = Uptrend ? color.new(color.green, 25) : Reversal ? color.new(color.yellow, 25) : color.new(color.red, 25)
//PLOTS
plot(1, …Run Code Online (Sandbox Code Playgroud) 假设我有条件 1 和条件 2。如果在最多 5 个柱内满足条件 1 和条件 2,那么我想要执行一些操作。举个例子,假设当前收盘价满足条件 1,并且 5 根柱前满足条件 2,那么我想执行一些操作。我如何在 Pine 中表述它?
condition1 = ...
condition2 = ...
if (condition1(close)==true or condition1(close-2)==true or
condition1(close-3)==true or condition1(close-4)==true or
condition1(close-5)==true)
and (condition2(close)==true or condition2(close-2)==true or
condition2(close-3)==true or condition2(close-4)==true or
condition2(close-5)==true)
then...
Run Code Online (Sandbox Code Playgroud)
也许可以这样表述:
if condition1(close:close-5)== true and condition2(close:close-5)== true then ...
Run Code Online (Sandbox Code Playgroud)
我读过例如这个帖子: 仅更改最后 5 个小节的背景:一个我无法破解的非常简单的问题 这听起来像是一个类似的问题,但我不确定如何实现它。
我想在图表上绘制大约 20 个标签。我将以 CSV 格式获取数据。它将包含价格、日期和 ID。
到目前为止,我弄清楚了如何绘制包含来自三个数组的数据的单个标签,但我不确定如何循环遍历数组。另外,我不知道如何使数据看起来更干净的数组。
这是我到目前为止所拥有的。
//@version=4
study(title="My study", overlay=true)
// Make a label once (as preparation)
var float[] prices = array.new_float(2)
var string[] ids = array.new_string(2)
var int[] date = array.new_int(2)
array.set(prices, 0, 8)
array.set(prices, 1, 6)
array.set(ids, 0, "CF442W")
array.set(ids, 1, "WI211KK")
array.set(date, 0, 1641774575000)
array.set(date, 1, 1621772575000)
var monthLabel = label.new(x=na, y=na, xloc=xloc.bar_time, color=color.black, textcolor=color.white)
var monthLabel1 = label.new(x=na, y=na, xloc=xloc.bar_time, color=color.black, textcolor=color.white)
// // Update the label on the chart's last bar
if (barstate.islast) …Run Code Online (Sandbox Code Playgroud) 我已经计算出每日柱线范围,从高点到低点。
我希望能够说‘从今天开盘开始,如果价格上涨了昨天区间的 50%,那么就做多。
看到有些人说“收盘”这个词代表当前价格,但我不想等到每日蜡烛收盘,我想只要价格在白天达到 50% 就入场。
只是不知道如何将其放入我的代码中,任何想法或帮助都会很棒,谢谢
假设我们有一系列数字。它包含一些值[..., 3, 6, 4, 7]。我想获得最多 100 个最后一个元素。
我试过max(series[100]),但看起来 series[100] 运算符返回丢弃最后 100 个元素的子系列。
FOREX, 1H Chart, //version=3 pinescript
我还是 Pinescript 的新手,但我注意到使用close或open返回的数据不是当前的收盘价或开盘价。即使使用close[1]返回的金额也与前一根蜡烛的收盘价完全不同。
为什么是这样?我是否错误地解释了这些数据?
在我所做的研究中,我看到了这篇文章:https : //www.tradingcode.net/tradingview/operators/history-referencing-operator/:
从技术上讲,历史引用运算符不会返回单个值,而是返回一系列具有一定偏移量的值,尽管我们通常认为历史引用运算符访问的是第 n 个元素。
这意味着,例如,
close[5]返回的不是一个单一的 收盘价,而是一系列等于 5 个柱线前收盘价的收盘价。
上面那句大胆的声明—— “一系列收盘价”;这是否意味着它close[5]本身不是第 5 根蜡烛的收盘价?
如果是这种情况,那么我将如何显示该蜡烛的当前收盘价,例如:
strategy.entry("SHORT", strategy.short, comment=tostring(close[1]) )
我正在开发一个指标,通过更改图表背景来显示自定义时区会话。
为此,我使用此函数来检查一个条形是否在我定义的时间段之一内:
InSession(sess) => na(time(period, sess)) == false
Run Code Online (Sandbox Code Playgroud)
当sess它的东西相似"0130-0800"。
但它在周末没有画任何东西。该time()函数似乎仅在工作日检查其输入。但我在每天开放的加密货币中使用这个指标。
有什么办法可以把time()支票延长到周末吗?如果没有,您能想出另一种方法来检查柱线是否在时间范围内吗?
PS:这是完整的指标代码:https : //es.tradingview.com/script/NMjZ2616/
我想了解如何 := 和 sum[1] 工作。这个和返回给我 6093。但是 sum 是 0,也是 sum[1] = 0 ,对吗?它如何返回我 6093?我搜索了tradeview wiki,但我不明白。我想将此代码更改为另一种语言,例如 javascript 、 c#
testfu(x,y)=>
sum = 0.0
sum:= 1+ nz(sum[1])
sum
Run Code Online (Sandbox Code Playgroud) 这是用于交易视图的松树脚本的一部分。在“//Condition”之后的脚本中,我希望仅在条件从多头变为空头或由空头变为多头时生成警报。不是每根蜡烛都像现在这样结束,因为一个条件始终为真。这已更改为一项研究。
threshold = input(title="Threshold", type=float, defval=0.0014, step=0.0001)
buying = l3_0 > threshold ? true : l3_0 < -threshold ? false : buying[1]
///// T edit
selling = l3_0 > -threshold ? true : l3_0 < threshold ? false :
selling[1] //// T edit END
hline(0, title="base line")
bgcolor(l3_0 > 0.0014 ? green : l3_0 < -0.0014 ? red : gray, transp=20)
bgcolor(buying ? green : red, transp=20)
plot(l3_0, color=silver, style=area, transp=75)
plot(l3_0, color=aqua, title="prediction")
///// Stragegy
/////////////////////////////////////////////////////
//longCondition = buying …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个脚本来获得 9 个级别的江恩平方。我已经完成了另一种语言,但无法理解这里的松树脚本,它说无法修改函数中的全局变量。有什么解决方案可以获取这里的值是我的脚本
//@version=4
study(title="Volume-weighted average example", max_bars_back=5000, overlay=true)
timeDiff = time - time[4]
// Translate that time period into seconds
diffSeconds = timeDiff / 1000
// Output calculated time difference
//plot(series=diffSeconds)
var ln = 0
var wdvaltrg = 0.0
WdGann(price) =>
for i = 1 to 8
wdvaltrg := (ln+(1/i))*(ln+(1/i))
if wdvaltrg >= price
break
if wdvaltrg < price
ln := ln+1
WdGann(price)
var vwap0935 = 0.0
v = vwap
if hour == 9 and minute == 35
vwap0935 …Run Code Online (Sandbox Code Playgroud)