package jforex.strategies.indicators;

import java.awt.Color;

import com.dukascopy.api.*;
import com.dukascopy.api.indicators.IIndicator;
import com.dukascopy.api.indicators.OutputParameterInfo;

public class BWMFIisGreen implements IStrategy {

    private IIndicators indicators;
    private IConsole console;
    
    @Configurable("Instrument")
    public Instrument instrument = Instrument.EURUSD;
    @Configurable("Period")
    public Period period = Period.ONE_MIN;
    @Configurable("Offer side")
    public OfferSide side = OfferSide.BID;
    
    
    
    @Override
    public void onStart(IContext context) throws JFException {
        console = context.getConsole();
        indicators = context.getIndicators();
        IIndicator indicator = indicators.getIndicator("bwmfi");
        double[] bwmfi = indicators.bwmfi(instrument, period, side, 0);
        
        for(int outputNr = 0; outputNr < indicator.getIndicatorInfo().getNumberOfOutputs(); outputNr++){
            if(Double.compare(bwmfi[outputNr],0) != 0){
                OutputParameterInfo info = indicator.getOutputParameterInfo(outputNr);
                console.getOut().println(String.format("Last bwmfi output is \"%s\" of color: %s. Is green: %s", 
                		info.getName(), info.getColor(), info.getColor() == Color.GREEN));
            }
        }
        
        console.getOut().println();
    }

    @Override
    public void onTick(Instrument instrument, ITick tick) throws JFException {}

    @Override
    public void onBar(Instrument instrument, Period period, IBar askBar, IBar bidBar) throws JFException {}

    @Override
    public void onMessage(IMessage message) throws JFException {}

    @Override
    public void onAccount(IAccount account) throws JFException {}

    @Override
    public void onStop() throws JFException {}

}
