Pine script 如何在Pine脚本中编辑Williams分形指示器以显示3条分形?
Williams分形通过查找5巴的低/高,滞后2巴来绘制分形 我想设置一个指示器,用于查找3巴的低/高 我已经检查了TradingView的内置Williams Fractal,它显示了以下代码:Pine script 如何在Pine脚本中编辑Williams分形指示器以显示3条分形?,pine-script,Pine Script,Williams分形通过查找5巴的低/高,滞后2巴来绘制分形 我想设置一个指示器,用于查找3巴的低/高 我已经检查了TradingView的内置Williams Fractal,它显示了以下代码: //@version=4 study("Williams Fractal", shorttitle="Fractal", format=format.price, precision=0, overlay=true) // Define "n" as the number of periods and
//@version=4
study("Williams Fractal", shorttitle="Fractal", format=format.price, precision=0, overlay=true)
// Define "n" as the number of periods and keep a minimum value of 2 for error handling.
n = input(title="Periods", defval=2, minval=2, type=input.integer)
我的第一个问题是关于deffal
:为什么默认值是2?这是指滞后吗?另外,我认为设置一个输入可以让用户在TradingView上为指标首选项操作这个数字(比如为MA设置回望期),但我在内置的Williams分形上看不到这个输入
然后我们得到这些参数:
upFractal = ( (high[n+2] < high[n]) and (high[n+1] < high[n]) and (high[n-1] < high[n]) and (high[n-2] < high[n]))
or ( (high[n+3] < high[n]) and (high[n+2] < high[n]) and (high[n+1] == high[n]) and (high[n-1] < high[n]) and (high[n-2] < high[n]))
or ( (high[n+4] < high[n]) and (high[n+3] < high[n]) and (high[n+2] == high[n]) and (high[n+1] <= high[n]) and (high[n-1] < high[n]) and (high[n-2] < high[n]))
or ( (high[n+5] < high[n]) and (high[n+4] < high[n]) and (high[n+3] == high[n]) and (high[n+2] == high[n]) and (high[n+1] <= high[n]) and (high[n-1] < high[n]) and (high[n-2] < high[n]))
or ((high[n+6] < high[n]) and (high[n+5] < high[n]) and (high[n+4] == high[n]) and (high[n+3] <= high[n]) and (high[n+2] == high[n]) and (high[n+1] <= high[n]) and (high[n-1] < high[n]) and (high[n-2] < high[n]))
dnFractal = ( (low[n+2] > low[n]) and (low[n+1] > low[n]) and (low[n-1] > low[n]) and (low[n-2] > low[n]))
or ( (low[n+3] > low[n]) and (low[n+2] > low[n]) and (low[n+1] == low[n]) and (low[n-1] > low[n]) and (low[n-2] > low[n]))
or ( (low[n+4] > low[n]) and (low[n+3] > low[n]) and (low[n+2] == low[n]) and (low[n+1] >= low[n]) and (low[n-1] > low[n]) and (low[n-2] > low[n]))
or ( (low[n+5] > low[n]) and (low[n+4] > low[n]) and (low[n+3] == low[n]) and (low[n+2] == low[n]) and (low[n+1] >= low[n]) and (low[n-1] > low[n]) and (low[n-2] > low[n]))
or ((low[n+6] > low[n]) and (low[n+5] > low[n]) and (low[n+4] == low[n]) and (low[n+3] >= low[n]) and (low[n+2] == low[n]) and (low[n+1] >= low[n]) and (low[n-1] > low[n]) and (low[n-2] > low[n]))
这就是我认为它的意思:
"如果前面两个条的高度小于当前条的当前高度,前面一个条的高度小于当前条的高度,后面一个条的高度小于当前条的高度,后面两个条的高度小于当前条的高度,则绘制upFractal
电流棒。”
我做对了吗?我能简单地按照这个逻辑来做一个3条的图案吗
谢谢。在Pine中对时间序列使用历史引用[]
操作符时,行为与您的理解相反;过去索引越大,引用当前条的变量名(或没有操作符的变量名)越远
upFractal = ( (high[n+2] < high[n]) and (high[n+1] < high[n]) and (high[n-1] < high[n]) and (high[n-2] < high[n]))