使用布林带的条件是什么?

问题描述 投票:1回答:2

当资产触及顶行时,我需要触发销售订单。当资产触及底线时,我需要触发采购订单。

看一下图表,我知道发布这些订单的正确时机,但在我编制的编程中,我不知道用什么标准来了解资产是否触及任何一条线。

enter image description here

码:

    $arr = array();
    foreach ($candles as $c) {
        $arr[] = $c[4]; // Close price 
    }

    $result = trader_bbands ($arr, 21, 2.0, 2.0);
    $higher = end($result[0]);
    $medium = end($result[1]);
    $bottom = end($result[2]);

    echo '<pre>';
    var_dump($higher, $medium, $bottom, $result);
    echo '</pre>';
    die();

我的回报是这样的:

float(11343.933)
float(11202.999)
float(11062.065)

通过这个功能,我能够提取最后一根蜡烛每行BOLL的资产价格,我只是不知道如何知道它是否触及了这条线,你能帮助我吗?

php trading algorithmic-trading
2个回答
2
投票

鉴于mini--code-snippet,解决方案是评估这个:

// DEFINES:
$PRICE_INDEX_OPEN = 1;
$PRICE_INDEX_HIGH = 2;
$PRICE_INDEX_LOW  = 3;
$PRICE_INDEX_CLOSE= 4;

// A BUY-ENTRY_______________________________________________________LONG?
if ( end($candles)[$PRICE_INDEX_LOW] <= $bottom ) { // .......... GO LONG
...
}

// A SELL-ENTRY______________________________________________________SHORT?
if ( end($candles)[$PRICE_INDEX_HIGH] >= $higher ) { // ......... GO SHORT
...
}

1
投票

您需要使用“高”和“低”价格,我认为您在$candles中使用它,并在以下中使用它们:

df[sell] = np.where( ( df['high'] >= df[upper BB] ), -1, 0 )

-1 - 表示发起空头头寸。

0 - 没有做任何事情,因为标准不匹配

© www.soinside.com 2019 - 2024. All rights reserved.