package jforex.test;

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

public class TestPivotSmall implements IStrategy {

    private IConsole console;
    private IIndicators indicators;
    public Instrument instrument = Instrument.EURUSD;

    public void onStart(IContext context) throws JFException {
        this.console = context.getConsole();
        this.indicators = context.getIndicators();

        //calculate indicator
        double[] pivot = indicators.fibPivot(Instrument.EURUSD, Period.DAILY_SUNDAY_IN_MONDAY, OfferSide.BID, 7, 1);
        
        //retrieve indicator metadata
        IIndicator pivotInd = indicators.getIndicator("PIVOT");
        int outputCount = pivotInd.getIndicatorInfo().getNumberOfOutputs();
        
        print("Pivot indicator outputs: ");
        for(int i = 0; i < outputCount - 1; i++){
            String outputName = pivotInd.getOutputParameterInfo(i).getName();
            print(String.format("%s=%.5f", outputName, pivot[i]));
        }
       
    }

    private void print(Object message) {
        console.getOut().println(message);
    }

    public void onAccount(IAccount account) throws JFException {
    }

    public void onMessage(IMessage message) throws JFException {
    }

    public void onStop() throws JFException {
    }

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

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