
package jforex.utils;
import com.dukascopy.api.*;


import java.awt.Color;
import java.net.*;
import java.net.URL;
import java.text.DecimalFormat;    
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Currency;
import java.util.Date;
import java.util.List;
import java.util.TimeZone;
import java.util.HashMap ;
import java.util.ListIterator;
import java.util.Iterator ;
import java.text.DateFormat ;
import java.text.SimpleDateFormat ;
import com.dukascopy.api.Configurable;
import com.dukascopy.api.IAccount;
import com.dukascopy.api.IBar;
import com.dukascopy.api.IContext;
import com.dukascopy.api.IHistory;
import com.dukascopy.api.IMessage;
import com.dukascopy.api.IStrategy;
import com.dukascopy.api.ITick;
import com.dukascopy.api.Instrument;
import com.dukascopy.api.JFException;
import com.dukascopy.api.Period;
import com.dukascopy.api.IIndicators.AppliedPrice;
import com.dukascopy.api.IIndicators.MaType;
import java.util.Calendar;
import com.dukascopy.api.*;
import com.dukascopy.api.IEngine.OrderCommand;
import com.dukascopy.api.feed.IFeedDescriptor;
import com.dukascopy.api.feed.IFeedListener;
import com.dukascopy.api.feed.util.TimePeriodAggregationFeedDescriptor;
import java.util.Arrays;
import java.util.HashSet;
import com.dukascopy.api.drawings.IChartObjectFactory;
import com.dukascopy.api.drawings.ITextChartObject;
import com.dukascopy.api.IIndicators;
import com.dukascopy.api.indicators.OutputParameterInfo.DrawingStyle;
import com.dukascopy.api.drawings.*;
import com.dukascopy.api.feed.IPriceAggregationBar;
import com.dukascopy.api.feed.util.TickBarFeedDescriptor;
import java.awt.*;
import javax.swing.*;
import com.dukascopy.api.Unit ;
import java.util.Collections;
import java.util.ArrayList;
import java.util.*;
import com.dukascopy.api.indicators.IIndicatorCalculator;





public class RemoteTestCPU implements IStrategy{

    private IEngine engine;
    public IConsole console;
    private IHistory history;
    private IContext context;

              
    public Set<Instrument> currencies = new HashSet<Instrument>();        
    private IIndicators indicators;    
    public IFeedDescriptor fda;    
     
  
//#######################################################################################################
 @Override
    public void onStart( IContext context) throws JFException {
    
       
        this.engine = context.getEngine();
        this.console = context.getConsole();
        this.history = context.getHistory();
        this.context = context;
        this.indicators = context.getIndicators();
        

        
    
        currencies.clear();
               
        currencies.add(Instrument.GBPUSD);
        currencies.add(Instrument.EURJPY);
        currencies.add(Instrument.EURCAD);
        currencies.add(Instrument.EURAUD);         
        currencies.add(Instrument.EURUSD); 
        currencies.add(Instrument.EURNZD);
        currencies.add(Instrument.GBPJPY); 
        currencies.add(Instrument.USDCAD);
        currencies.add(Instrument.AUDUSD);
        currencies.add(Instrument.NZDUSD); 
        currencies.add(Instrument.AUDCAD);
    
     
      context.setSubscribedInstruments(currencies, true);
   
  }

 //#######################################################################################################
    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 {
        if (period.compareTo(Period.FIFTEEN_MINS) == 0) {
            console.getOut().println(" onFeedData:  " + instrument);
        }
    }

        
 //#########################################################################################################   
    
}//jforex class







