トップ  >  リファレンス  >  APIを取得して始める  >  JForex SDKを使う >  NetBeans(IDE)を使う >  外部ライブラリを使用する
外部ライブラリを使用する

プロジェクトを外部ライブラリのように使用します。
以前作成したストラテジー(プロジェクト)を変更して、ライブラリを使う方法を2パターン紹介します。
プロジェクトに依存性ファイルを追加します。
  • NeaBeansで外部ライブラリを使う。
  • JForexプラットフォームで外部ライブラリを使う。



外部ライブラリを作成

プロジェクトの外部ライブラリを作成し、ストラテジーのコードで使用します。
  • 新しいプロジェクトを作成します。
    NetBeansを起動し、"ファイル"⇒"新規プロジェクト"を選択します。
    "カテゴリ"で"Maven"を選択し、"プロジェクト"で"Javaアプリケーション"を選択し、
    "次へ"ボタンを押します。



  • 新規Javaアプリケーションウインドウが開いたら、
    "プロジェクト名"をMyExternalLibraryにして、"グループID"をcom.xCompany.strategyGUIにします。
    (あとで、プロジェクトツリーのソース・パッケージノードを右クリックして、"新規"⇒"Javaパッケージ"でパッケージを追加する事も出来ます)。



  • パッケージノードでcom.xCompany.strategyGUIを右クリックして、"新規"⇒"Javaクラス"を選択して新しいクラスを作成します。




    新しいクラスの名前はShowGUIで作成します。



  • ShowGUIクラスのコードを以下のようにします。



package com.xCompany.strategyGUI;

import javax.swing.JDialog;
import javax.swing.JOptionPane;


public class ShowGUI {
    public void showMe(){
        JOptionPane pane = new JOptionPane("Executing onStart method", JOptionPane.INFORMATION_MESSAGE);
        JDialog dialog = pane.createDialog(null, "OnStart Message");
        dialog.setVisible(true);
    }
}


  • 次に、プロジェクトウインドウでプロジェクトを選択して、プロジェクトをビルドします。










JForex-SDKに依存性ライブラリを追加する

JForex-SDKプロジェクトに他プロジェクトへの依存性を追加する事が出来ます。
JForex-SDKプロジェクトの"依存性"を右クリックし"依存性の追加"を選択します。




依存性の追加ウインドウが開いたら、"開いているプロジェクト"のタブをクリックしMyExternalLibraryを選択します。



プロジェクトがライブラリのリストに追加されます。
これは、JForex-SDKプロジェクトでMyExternalLibraryのクラスが使える事を意味します。








JForex-SDKでライブラリを使う

JForex-SDKプロジェクトのMyFirstNBStrategyを開き、インポートを追加します。

import com.xCompany.strategyGUI.ShowGUI;



次に、onStartメソッドからshowMeメソッドをを追加します。

public void onStart(IContext context) throws JFException {

    this.engine        = context.getEngine();
    this.console       = context.getConsole();
    this.history       = context.getHistory();
    this.context       = context;
    
    console.getOut().println("NetBeansで作成したストラテジー起動");

    // 外部ライブラリメソッドを呼びます
    new ShowGUI().showMe();    
}



JForex-SDKプロジェクトのMain.javaクラスファイルを開き、ログイン情報部分を探して、
"username"と"password"をデモ口座のアカウント情報のものに変更します。




続いて、Main.javaクラスに以下インポートを追加します。

import com.myCompany.myStrategies.MyFirstNBStrategy;



Mainクラスのmainメソッドでストラテジーを呼ぶように変更します。
Mainメソッドの最後の方にあるMA_Play()を呼び出しているコードを変更し、 代わりにMyFirstNBStrategy()を呼び出すようにします。

        //start the strategy
        LOGGER.info("Starting strategy");
        client.startStrategy(new MyFirstNBStrategy());

        //client.startStrategy(new MA_Play());
        //now it's running



プロジェクトウインドウのMain.javaを右クリックし、"ファイルの実行"を選択します。




実行すると以下のようなポップアップが表示されます。
(エラーが発生していないのに表示されない場合は、"依存性でビルド"を試して見て下さい。)




ストラテジーを停止させるロジックが書かれていないので、手動で止める必要があります。
NetBeansウインドウの右下あたりにある停止アイコンをクリックして停止させる事が出来ます。







JForexプラットフォームで依存性ライブラリを追加する

JForexプラットフォームで実行するストラテジーにライブラリを追加するには、
@Libraryアノテーションを使用し、引数に"ライブラリのjarファイルへのフルパス"を設定しなければなりません。

前回作成したMyExternalLibraryプロジェクトをJForex-SDKプロジェクトに依存関係を追加しました。
ストラテジーにライブラリのjarファイルを追加します。
プロジェクトをビルド後、NetBeansはプロジェクトのディレクトリツリーにdistフォルダを作成します。
このdistフォルダにプロジェクトのjarファイルが置かれます。
(Mavenを使っている場合は、targetフォルダに置かれます。)





@Libraryアノテーションの引数に、このjarファイルのフルパスを指定します。
@RequiresFullAccessアノテーションはデフォルトのワークステーションとは違う場所からjarファイルをインポートしなければならない時に必要になります。
前回作成したMyFirstNBStrategyストラテジーを変更して、 @Libraryアノテーションと@RequiresFullAccessアノテーションを使用します。

//・・・
import com.dukascopy.api.RequiresFullAccess;
import com.xCompany.strategyGUI.ShowGUI;

@RequiresFullAccess
@Library("C:/Users/USER_NAME/Documents/NetBeansProjects/MyExternalLibrary/target/MyExternalLibrary-1.0-SNAPSHOT.jar")
public class MyFirstNBStrategy implements IStrategy{
    private IEngine engine;
    private IConsole console;
//・・・

(USER_NAME)の部分はOSのユーザー名に依存します。

アノテーションを追記した後に"Ctrl" + "Shift" + "I"でインポートが追加されます。




JForexプラットフォームでライブラリを使用する

ライブラリはJForexプラットフォームのストラテジーでも使えます。
JForexプラットフォームでストラテジーのJavaファイルを開き、 コンパイルしてストラテジーを実行します。
実行結果は、JForex-SDKプロジェクトで実行した時と同じになります。








スポンサーリンク

スポンサーリンク
検索
リファレンスツリー


Copyright ©2016 JForexAPIで自動売買させ隊! All Rights Reserved.


Top

inserted by FC2 system