Example #1
0
File: ai.c Project: bengelbert/ifsc
double perceptron()
{
    double w1 = x1 - 100;
    double w2 = x2 - 100;
    double w3 = x3 - 100;
    double w4 = x4 - 100;
    double a1 = iAC(Symbol(), 0, 0);
    double a2 = iAC(Symbol(), 0, 7);
    double a3 = iAC(Symbol(), 0, 14);
    double a4 = iAC(Symbol(), 0, 21);
    return (w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4);
}
Example #2
0
double calcularIndicador(string symbol, int timeframe, int indicNum, int shift)
{
    // calcula el indicador indicnum con sus params y retorna su valor.
    if (indicNum==0)
        return(iAC(symbol, timeframe, shift));
    else if (indicNum==1)
        return(iAD(symbol, timeframe, shift));
    else if (indicNum==2)
        return(iAlligator(symbol, timeframe, 13, 8, 8, 5, 5, 3, MODE_EMA, PRICE_MEDIAN, MODE_GATORJAW, shift));
    else if (indicNum==3)
        return(iADX(symbol,timeframe,14,PRICE_HIGH,MODE_PLUSDI,shift));
    else if (indicNum==4)
        return(iATR(symbol,timeframe, 12, shift));
    else if (indicNum==5)
        return(iAO(symbol, timeframe, shift));
    else if (indicNum==6)
        return(iBearsPower(symbol, timeframe, 13,PRICE_CLOSE,shift));
    else if (indicNum==7)
        return(iBands(symbol,timeframe,20,2,0,PRICE_LOW,MODE_LOWER,shift));
    else if (indicNum==8)
        return(iBullsPower(symbol,timeframe, 13,PRICE_CLOSE,shift));
    else if (indicNum==9)
        return(iCCI(symbol,timeframe,20,PRICE_TYPICAL,shift));
    else if (indicNum==10)
        return(iDeMarker(symbol,timeframe, 13, shift));
    else if (indicNum==11)
        return(iEnvelopes(symbol,timeframe, 13,MODE_EMA,10,PRICE_CLOSE,0.2,MODE_UPPER,shift));
    else if (indicNum==12)
        return(iForce(symbol, timeframe, 13,MODE_EMA,PRICE_CLOSE,shift));
    else if (indicNum==13)
        return(iFractals(symbol,timeframe, MODE_UPPER, shift));
    else if (indicNum==14)
        return(iGator(symbol,timeframe, 13, 8, 8, 5, 5, 3, MODE_EMA, PRICE_MEDIAN, MODE_UPPER, shift));
    else if (indicNum==15)
        return(iIchimoku(symbol,timeframe, 9, 26, 52, MODE_TENKANSEN, shift));
    else if (indicNum==16)
        return(iBWMFI(symbol,timeframe,shift));
    else if (indicNum==17)
        return(iMomentum(symbol,timeframe,20,PRICE_CLOSE,shift));
    else if (indicNum==18)
        return(iMFI(symbol,timeframe,14,shift));
    else if (indicNum==19)
        return(iMA(symbol,timeframe,13,8,MODE_EMA,PRICE_MEDIAN,shift));
    else if (indicNum==20)
        return(iOsMA(symbol,timeframe,12,26,9,PRICE_MEDIAN,shift));
    else if (indicNum==21)
        return(iMACD(symbol,timeframe,12,26,9,PRICE_CLOSE,MODE_MAIN,shift));
    else if (indicNum==22)
        return(iOBV(symbol, timeframe, PRICE_CLOSE, shift));
    else if (indicNum==23)
        return(iSAR(symbol,timeframe,0.02,0.2,shift));
    else if (indicNum==24)
        return(iRSI(symbol,timeframe,14,PRICE_CLOSE,shift));
    else if (indicNum==25)
        return(iRVI(symbol, timeframe, 10,MODE_MAIN,shift));
    else if (indicNum==26)
        return(iStdDev(symbol,timeframe,10,0,MODE_EMA,PRICE_CLOSE,shift));
    else if (indicNum==27)
        return(iStochastic(symbol,timeframe,5,3,3,MODE_EMA,0,MODE_SIGNAL,shift));
    else if (indicNum==28)
        return(iWPR(symbol,timeframe,14,shift));
    else if (indicNum==29)
        return(iClose(symbol,timeframe,shift));
    else if (indicNum==30) //Tamaño de candlestick
        return(iHigh(symbol,timeframe,shift)-iLow(symbol,timeframe,shift));
    else if (indicNum==31) //Color y tamaño de cuerpo
        return(iClose(symbol,timeframe,shift)-iOpen(symbol,timeframe,shift));
    else
    {
        Print("Error en calcularIndicador() indice no encontrado");
        return(0);
    }

}