trader_apo

(PECL trader >= 0.2.0)

trader_apoAbsolute Price Oscillator

Description

trader_apo(
    array $real,
    int $fastPeriod = ?,
    int $slowPeriod = ?,
    int $mAType = ?
): array

Parameters

real

Array of real values.

fastPeriod

Number of period for the fast MA. Valid range from 2 to 100000.

slowPeriod

Number of period for the slow MA. Valid range from 2 to 100000.

mAType

Type of Moving Average. TRADER_MA_TYPE_* series of constants should be used.

Return Values

Returns an array with calculated data or false on failure.

add a note add a note

User Contributed Notes 1 note

up
1
geekgirl dot joy at gmail dot com
3 years ago
<?php
/*
APO crossing above zero is "bullish", crossing below zero is "bearish".
Positive values are "upward movement", Negative values are "downward movement",
*/

$mATypes = array(TRADER_MA_TYPE_SMA// Simple Moving Average
                
TRADER_MA_TYPE_EMA// Exponential Moving Average
                
TRADER_MA_TYPE_WMA// Weighted Moving Average
                
TRADER_MA_TYPE_DEMA, // Double Exponential Moving Average
                
TRADER_MA_TYPE_TEMA, // Triple Exponential Moving Average
                
TRADER_MA_TYPE_TRIMA,// Triangular Moving Average
                
TRADER_MA_TYPE_KAMA, // Kaufman's Adaptive Moving Average
                
TRADER_MA_TYPE_MAMA, // MESA Adaptive Moving Average
                
TRADER_MA_TYPE_T3);  // T3 Moving Average
                
$fast_period = 12;
$slow_period = 30;

$closes = array(131.96, 137.09, 142.06, 143.16, 142.92, 139.07, 136.87, 132.03, 127.83, 127.14, 128.91, 130.89, 128.8, 128.98, 132.05, 130.92, 126.6, 131.01, 129.41, 132.69, 133.72, 134.87, 136.69, 131.97, 130.96, 131.88, 128.23, 126.655, 128.7, 127.81, 127.88, 121.78, 122.41, 123.24, 121.78, 124.38, 123.75, 122.25, 122.94, 123.08, 122.72, 119.05, 116.59, 116.03, 115.17, 113.85, 117.34, 118.64, 118.03, 119.39, 120.3, 119.26, 119.21, 119.49, 115.97, 116.32, 118.69, 119.03, 114.95, 110.44, 108.77, 108.86, 115.32, 111.2, 116.6, 115.05, 115.04, 115.75, 116.87, 117.51, 115.98, 119.02, 120.71, 121.19, 121.1, 124.4, 116.97, 114.97, 115.08, 113.16, 116.5, 113.02, 116.79, 115.81, 114.09, 114.96, 112.28, 108.22, 107.12, 111.81, 110.08, 106.84, 110.34, 112.13, 115.54, 115.355, 112, 113.49, 117.32, 112.82);

$Absolute_Price_Oscillators = array();

foreach(
$mATypes as $mA){
   
   
$key = 'sma';
    if(
$mA == TRADER_MA_TYPE_EMA){$key = 'ema';}
    elseif(
$mA == TRADER_MA_TYPE_WMA){$key = 'wma';}
    elseif(
$mA == TRADER_MA_TYPE_DEMA){$key = 'dema';}
    elseif(
$mA == TRADER_MA_TYPE_TEMA){$key = 'tema';}
    elseif(
$mA == TRADER_MA_TYPE_TRIMA){$key = 'trima';}
    elseif(
$mA == TRADER_MA_TYPE_KAMA){$key = 'kama';}
    elseif(
$mA == TRADER_MA_TYPE_MAMA){$key = 'mama';}
    elseif(
$mA == TRADER_MA_TYPE_T3){$key = 't3';}
   
   
$Absolute_Price_Oscillators[$key] = trader_apo ($closes, $fast_period, $slow_period, $mA);
}

var_dump($Absolute_Price_Oscillators['sma']);
/*
array(71) {
  [29]=>
  float(-1.264)
  [30]=>
  float(-1.255)
  [31]=>
  float(-1.654)
  [32]=>
  float(-1.942)
  [33]=>
  float(-2.247)
  [34]=>
  float(-2.785)
  [35]=>
  float(-2.927)
  [36]=>
  float(-3.091)
  [37]=>
  float(-3.567)
  [38]=>
  float(-3.845)
  [39]=>
  float(-4.008)
  [40]=>
  float(-4.3)
  [41]=>
  float(-4.635)
  [42]=>
  float(-5.169)
  [43]=>
  float(-5.217)
  [44]=>
  float(-5.257)
  [45]=>
  float(-5.471)
  [46]=>
  float(-5.532)
  [47]=>
  float(-5.598)
  [48]=>
  float(-5.695)
  [49]=>
  float(-5.49)
  [50]=>
  float(-5.263)
  [51]=>
  float(-5.061)
  [52]=>
  float(-4.771)
  [53]=>
  float(-4.318)
  [54]=>
  float(-3.87)
  [55]=>
  float(-3.327)
  [56]=>
  float(-2.716)
  [57]=>
  float(-2.03)
  [58]=>
  float(-1.771)
  [59]=>
  float(-1.875)
  [60]=>
  float(-2.01)
  [61]=>
  float(-2.457)
  [62]=>
  float(-2.636)
  [63]=>
  float(-2.906)
  [64]=>
  float(-2.951)
  [65]=>
  float(-3.01)
  [66]=>
  float(-2.797)
  [67]=>
  float(-2.628)
  [68]=>
  float(-2.577)
  [69]=>
  float(-2.518)
  [70]=>
  float(-2.208)
  [71]=>
  float(-1.492)
  [72]=>
  float(-0.634)
  [73]=>
  float(0.222)
  [74]=>
  float(0.506)
  [75]=>
  float(1.254)
  [76]=>
  float(1.297)
  [77]=>
  float(1.413)
  [78]=>
  float(1.515)
  [79]=>
  float(1.506)
  [80]=>
  float(1.602)
  [81]=>
  float(1.436)
  [82]=>
  float(1.584)
  [83]=>
  float(1.439)
  [84]=>
  float(0.95)
  [85]=>
  float(0.477)
  [86]=>
  float(-0.045)
  [87]=>
  float(-1.033)
  [88]=>
  float(-1.593)
  [89]=>
  float(-1.902)
  [90]=>
  float(-2.362)
  [91]=>
  float(-2.821)
  [92]=>
  float(-3.169)
  [93]=>
  float(-3.274)
  [94]=>
  float(-3.343)
  [95]=>
  float(-3.391)
  [96]=>
  float(-3.464)
  [97]=>
  float(-3.511)
  [98]=>
  float(-3.106)
  [99]=>
  float(-2.566)
}
*/
To Top