示例#1
0
Trader::Action Trader::technicalAnalysis() {
    if (_stockPrices.size() >= 26) {
        float macd = MACD(12, 26);
        _macd.push_back(MACD(12, 26));
        std::stringstream log;
        log << "[MACD] " << macd;
        _logger->writeLog(log.str());
        log.str("");
        if (_stockPrices.size() > 35) {
            float signalLine = exponentialMovingAverage(9, _macd);
            log << "[Signal Line] " << signalLine;
            _logger->writeLog(log.str());
            if (macd <= signalLine)
                return BUY;
            else if (macd >= signalLine)
                return SELL;
            else
                return WAIT;
        }
        return WAIT;
    }
    return WAIT;
}
示例#2
0
#define MACD(N) MY_DEFAULT_MAC_BYTE ## N


// Application-dependent structure used to contain IP address information
APP_CONFIG AppConfig ={
    {BUILD_MYDEFAULT32(IP_ADDR_)},
    {BUILD_MYDEFAULT32(MASK_)},
    {BUILD_MYDEFAULT32(GATE_)},
    {BUILD_MYDEFAULT32(PRIMARY_DNS_)},
    {BUILD_MYDEFAULT32(SECONDARY_DNS_)},
    {BUILD_MYDEFAULT32(IP_ADDR_)},
    {BUILD_MYDEFAULT32(MASK_)},
    MY_DEFAULT_HOST_NAME,
    {1, 1}, // Flags
    {
        {MACD(1), MACD(2), MACD(3), MACD(4), MACD(5), MACD(6)}}
};


// Declare AppConfig structure and some other supporting stack variables
//APP_CONFIG AppConfig;
static unsigned short wOriginalAppConfigChecksum; // Checksum of the ROM defaults for AppConfig
BYTE AN0String[8];


#if (MY_DEFAULT_NETWORK_TYPE == WF_SOFT_AP)
UINT8 g_scan_done = 0; // WF_PRESCAN   This will be set wheneven event scan results are ready.
UINT8 g_prescan_waiting = 1; // WF_PRESCAN   This is used only to allow POR prescan once.
#endif

// Private helper functions.
示例#3
0
文件: Macd.cpp 项目: fasiondog/hikyuu
Indicator HKU_API MACD(const Indicator& data, int n1, int n2, int n3) {
    return MACD(n1, n2, n3)(data);
}