/******************************************************************************* * Copyright (c) 2013 Luigi Sgro. All rights reserved. This * program and the accompanying materials are made available under the terms of * the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Luigi Sgro - initial API and implementation ******************************************************************************/ package com.quantcomponents.algo.ta; import java.util.Collections; import java.util.Date; import java.util.List; import com.quantcomponents.core.model.ISeriesPoint; import com.quantcomponents.core.model.OrderSide; import com.quantcomponents.core.series.SimplePoint; /** * Pattern to show a trade onto a chart */ public class TradePattern implements IPattern<Date, Double> { private final Date executionTime; private final OrderSide orderSide; private final double executionPrice; private final int amount; private final List<ITrendLine<Date, Double>> trendLines = Collections.emptyList(); private final List<ISeriesPoint<Date, Double>> points; public TradePattern(Date executionTime, OrderSide orderSide, double executionPrice, int amount) { this.executionTime = executionTime; this.orderSide = orderSide; this.executionPrice = executionPrice; this.amount = amount; points = Collections.singletonList((ISeriesPoint<Date, Double>) new SimplePoint(executionTime, executionPrice)); } @Override public Date getBeginIndex() { return executionTime; } @Override public Date getEndIndex() { return executionTime; } @Override public List<ISeriesPoint<Date, Double>> getPoints() { return points; } @Override public List<ITrendLine<Date, Double>> getTrendLines() { return trendLines; } public Date getExecutionTime() { return executionTime; } public OrderSide getOrderSide() { return orderSide; } public double getExecutionPrice() { return executionPrice; } public int getAmount() { return amount; } }