StrategyPublicMethods.java
注意事項:
サンプルソースコードには実際にオーダーを発注するものがあります。
サンプルソースコードのストラテジーを起動する場合は、必ずデモ口座で行ってください。
package singlejartest;
import com.dukascopy.api.*;
import com.dukascopy.api.IEngine.OrderCommand;
@RequiresFullAccess
public class StrategyPublicMethods implements IStrategy {
private IConsole console;
private IEngine engine;
private StrategyPublicMethods.ClientActions clientActions;
public interface ClientActions {
void onOrderClose(IOrder order);
void onOrderFill(IOrder order);
}
public StrategyPublicMethods (StrategyPublicMethods.ClientActions clientActions){
this.clientActions = clientActions;
}
public StrategyPublicMethods (){
this.clientActions = new StrategyPublicMethods.ClientActions (){
@Override
public void onOrderClose(IOrder order) {}
@Override
public void onOrderFill(IOrder order) {}
};
}
@Override
public void onStart(IContext context) throws JFException {
console = context.getConsole();
engine = context.getEngine();
print("start strategy");
}
private void print(Object o){
console.getOut().println(o);
}
@Override
public void onTick(Instrument instrument, ITick tick) throws JFException {}
@Override
public void onBar(Instrument instrument, Period period, IBar askBar, IBar bidBar) throws JFException {
if(engine.getOrders().size() == 0){
engine.submitOrder("order", instrument, OrderCommand.BUY, 0.001);
} else {
for (IOrder order : engine.getOrders()){
if (order.getState() == IOrder.State.FILLED){
order.close();
}
}
}
}
@Override
public void onMessage(IMessage message) throws JFException {
if(message.getType() == IMessage.Type.ORDER_FILL_OK){
clientActions.onOrderFill(message.getOrder());
}
if(message.getType() == IMessage.Type.ORDER_CLOSE_OK){
clientActions.onOrderClose(message.getOrder());
}
}
@Override
public void onAccount(IAccount account) throws JFException {}
@Override
public void onStop() throws JFException {}
}
mainメソッドが無いので、IDEで実行する場合はMain.javaからStrategyPublicMethods呼び出してストラテジーを起動します。
バーが確定する度にポジションを持っていなければ新規オーダーを行い、ポジションを持っていたらクローズを行います。
JForex(取引ツール)プラットフォームでポジションやオーダー履歴を確認出来ます。
スポンサーリンク
注意事項:
当サイトはJForexAPIを紹介している非公式サイトです。
自動売買を行うストラテジーや売買シグナルのソフトウェアの配布などは行っておりません。
投資助言も行っておりません、投資助言を必要としている方は投資助言業者に相談して下さい。
当サイトに掲載している情報やサンプルソース利用によって損害が生じてもサイト管理人は責任を負いませんので、全て自己責任でお願い致します。
FX(外国為替保証金取引)は金融商品取引法に規定される通貨関連店頭デリバティブ取引です。
元本あるいは利益を保証した金融商品ではありません。
為替変動・金利変動・アルゴリズムによる急変動・各国要人の気まぐれ発言による暴落等のリスクにより、損失が生じるおそれがあります。
FXは少ない保証金を担保として大きな金額を取引出来る為、投資金額以上の損失を被る可能性があります。
詳細は証券会社の契約締結前交付書面・約款等を熟読して下さい。