首页 > 解决方案 > 如何为确定的数组值查找柱的交易量?

问题描述

我试图为自己解决这个问题一段时间而没有寻求帮助,但到目前为止还没有找到解决它的方法。我想要做的是比较枢轴点的高点/低点(我保存到数组中的值)和当天的收盘点(直到这里工作正常)。然后我尝试做的是将枢轴点 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])

有谁知道怎么做?提前致谢。

标签: pine-script

解决方案


推荐阅读