File_Name:Ni_FirstRobot.java
import
java.util.ArrayList;
import
jp.tradesc.superkaburobo.sdk.driver.RobotDriver;
import
jp.tradesc.superkaburobo.sdk.robot.AbstractRobot;
import
jp.tradesc.superkaburobo.sdk.trade.InformationManager;
import
jp.tradesc.superkaburobo.sdk.trade.MemoManager;
import
jp.tradesc.superkaburobo.sdk.trade.OrderManager;
import
jp.tradesc.superkaburobo.sdk.trade.PortfolioManager;
import
jp.tradesc.superkaburobo.sdk.trade.TradeAgent;
import
jp.tradesc.superkaburobo.sdk.trade.data.Portfolio;
import
jp.tradesc.superkaburobo.sdk.trade.data.Stock;
import
jp.tradesc.superkaburobo.sdk.trade.data.StockData;
public
class FirstRobot extends AbstractRobot {
public static void main(String[] args){
RobotDriver.main(new String[]{"-n", FirstRobot.class.getName()});
}
public void order(TradeAgent
arg0){
//注文
//利益確定売り
PortfolioManager portfolioManager =
PortfolioManager.getInstance();
for (Portfolio portfolio :
portfolioManager.getPortfolio()){
long
execValue = portfolio.getExecPrice() * portfolio.getExecQty();
long
value = portfolio.getStockValue();
double
gain = (double)value/execValue;
if(gain
> 1.10){
portfolio.orderReverseNowMarketAll();
}else
if(gain <0.95){
portfolio.orderReverseNowMarketAll();
}
}
MemoManager mm =
MemoManager.getInstance();
Stock stock = (Stock)mm.getObjectMemo();
if(stock == null){
return;
}
OrderManager om =
OrderManager.getInstance();
om.orderActualNowMarket(stock,
stock.getUnit());
mm.setObjectMemo(null);
}
public void screening(TradeAgent arg0) {
//銘柄検索
InformationManager info =
InformationManager.getInstance();
ArrayList<Stock> stockList
= info.getStockList();
double maxGainRate = 1.0;
Stock target = null;
for (Stock stock :stockList){
StockData
sd =info.getStockDaily(stock);
int
openingPrice = sd.getOpeningPrice();
int
closingPrice = sd.getClosingPrice();
double
gainRate = (double)closingPrice/openingPrice;
if(gainRate >= maxGainRate){
maxGainRate = gainRate;
target = stock;
}
if(target
!= null){
MemoManager mm =
MemoManager.getInstance();
mm.setObjectMemo(target);
}
}
}
}
戻
る