pine-script - 如何为确定的数组值查找柱的交易量?
问题描述
我试图为自己解决这个问题一段时间而没有寻求帮助,但到目前为止还没有找到解决它的方法。我想要做的是比较枢轴点的高点/低点(我保存到数组中的值)和当天的收盘点(直到这里工作正常)。然后我尝试做的是将枢轴点 h/l 柱的交易量与当天收盘时的交易量进行比较,但我似乎无法找到针对特定 PP 柱的方法。这是代码:
//@version=4
study("T Model", overlay=true)
//Swing Points (SP) and Previous SP Identification {
getPivots(_sph, _prd) =>
float psph = 0.0
psph := pivothigh(_prd, _prd)
array.push(_sph, psph)
get_pivot_above(_pivotsh,_N,_pivot_above) =>
// sort
if _N > 1
for i = 0 to _N-2
for j = i+1 to _N-1
_a1 = array.get(_pivotsh,i)
_a2 = array.get(_pivotsh,j)
_toSwap = (abs(_a1 - close) > abs(_a2 - close)) or na(_a1)
array.set(_pivotsh, i, _toSwap?_a2:_a1)
array.set(_pivotsh, j, _toSwap?_a1:_a2)
// get nearest
int _countup = 0
for i = 0 to max(0,array.size(_pivotsh)-1)
if close < array.get(_pivotsh,i)
array.set(_pivot_above,_countup,array.get(_pivotsh,i))
_countup := _countup+1
if _countup==2
break
[_pivot_above]
//-----------------------------------------------------------------
// Inputs {
prd = input(defval = 3, title="Pivot Point Period", minval = 1, maxval = 10)
showpivot = input(defval = true, title="Show Pivot Points")
//-----------------------------------------------------------------
// Calculate pivot levels {
sph = array.new_float(0)
getPivots(sph, prd)
//-----------------------------------------------------------------
// Collect pivots-in-play
int Ntotal1 = array.size(sph)
var N = 2
var pivot_above = array.new_float(N)
get_pivot_above(sph,Ntotal1,pivot_above)
//-----------------------------------------------------------------
// Trend Parameters {
bool BullT = na
这是我试图比较它们但不起作用的方法:
sph_bar = barssince(array.lastindexof(sph, close[0]))
BullT := (close[0] > array.get(sph,0)[1]) and (volume[0] > volume[sph_bar])
有谁知道怎么做?提前致谢。
解决方案
推荐阅读
- python - 在 X 个收件人之间分配随机值
- javascript - 将半径变化的圆心放置在 div 的拐角处
- sql-server - SQL CASE 如果日期被引入为 YYYY-DD-MM 以将其转换为 YYYY-MM-DD
- php - 使用 CSS 更改 PHP 文件中的文本颜色
- excel - 如果任何列中有值,则将每一行计为 1
- c# - 在基类构造函数中调用抽象方法的替代方法
- php - 未捕获的 PDOException:在 docker 容器中找不到驱动程序
- python - django rest框架检查序列化程序是否收到None对象
- android - 在哪里可以在 Cordova 中编写一些 Android 编码
- windows-10 - ERAM(开源 RAMDisk 驱动程序)中出现 BSOD