package com.activequant.domainmodel.backtesting;
import com.activequant.domainmodel.AlgoConfig;
import com.activequant.domainmodel.PersistentEntity;
import com.activequant.domainmodel.annotations.Property;
/**
* Violates the old PersistentEntity approach.
* Use it anyway.
*
* @author GhostRider
*
*/
public class BacktestConfiguration extends PersistentEntity {
private String id;
private long date8Time6Start;
private long date8Time6End;
private String backtesterImplementation;
private String[] mdis;
private String[] tdis;
private String resolutionTimeFrame;
private TimeSetup timeSetup;
private AlgoConfig algoConfig;
public BacktestConfiguration(){
super(BacktestConfiguration.class.getCanonicalName());
}
public BacktestConfiguration(String className){
super(className);
}
@Property
@Override
public String getId() {
return id;
}
/**
* Use a time setup instead.
* @return
*/
@Deprecated
@Property
public long getDate8Time6Start() {
return date8Time6Start;
}
public void setDate8Time6Start(long date8Time6start) {
this.date8Time6Start = date8Time6start;
}
/**
* Use a time setup instead.
* @return
*/
@Deprecated
@Property
public long getDate8Time6End() {
return date8Time6End;
}
public void setDate8Time6End(long date8Time6End) {
this.date8Time6End = date8Time6End;
}
@Property
public String getBacktesterImplementation() {
return backtesterImplementation;
}
public void setBacktesterImplementation(String backtesterImplementation) {
this.backtesterImplementation = backtesterImplementation;
}
@Property
public String getResolutionTimeFrame() {
return resolutionTimeFrame;
}
public void setResolutionTimeFrame(String resolutionTimeFrame) {
this.resolutionTimeFrame = resolutionTimeFrame;
}
public void setId(String id) {
this.id = id;
}
@Property
public String[] getMdis() {
return mdis;
}
public void setMdis(String[] mdis) {
this.mdis = mdis;
}
@Property
public String[] getTdis() {
return tdis;
}
public void setTdis(String[] tdis) {
this.tdis = tdis;
}
public BacktestConfiguration clone(){
BacktestConfiguration b = new BacktestConfiguration();
b.setId(getId());
b.setTdis(getTdis());
b.setMdis(getMdis());
b.setResolutionTimeFrame(getResolutionTimeFrame());
b.setBacktesterImplementation(getBacktesterImplementation());
b.setTimeSetup(getTimeSetup());
b.setAlgoConfig(algoConfig.clone());
return b;
}
public TimeSetup getTimeSetup() {
return timeSetup;
}
public void setTimeSetup(TimeSetup timeSetup) {
this.timeSetup = timeSetup;
}
public AlgoConfig getAlgoConfig() {
return algoConfig;
}
public void setAlgoConfig(AlgoConfig algoConfig) {
this.algoConfig = algoConfig;
}
}