package org.cryptocoinpartners.service;
import org.cryptocoinpartners.schema.Portfolio;
/**
* A Strategy represents a configurable approach to trading, but not a specific trading algorithm. StrategyPortfolioManager
* instantiates a Strategy by loading to a module which contains a Strategy service using a specific configuration set
* by the StrategyPortfolioManager. The Strategy may then place Orders against Positions in the StrategyPortfolioManager's Portfolio.
* BaseStrategy helps implement Strategies by providing injected fields for a QuoteService and OrderBuilder.
*
* @author Tim Olson
*/
public interface Strategy {
public void init();
void setPortfolio(Portfolio portfolio);
Portfolio getPortfolio();
}