MT4 Java API

 
私が開発したMT4 Java APIを紹介します。
 
MT4 Terminal Java API(JFX)は、MetaQuotesのトレーディングに Javaインターフェースを提供することを目的としています。
サーバーを、標準的な MetaTrader 4 クライアントターミナル(MT4 ターミナル)を介して使用することができます。
 
To make use of JFX API, one must create its own strategy java class, extending
com.jfx.strategy.Strategy and overriding coordinate() method:

public class MyStrategy extends com. jfx. strategy. Strategy {
public void init( String symbol, int period, StrategyRunner strategyRunner) {
super. init( symbol, period, strategyRunner);
//
// load existing orders, recover itself from the previous shutdown
//
}
public void deinit() {
// release resources on EA exit
}
public void coordinate() {
// trading logic goes here
/* make use of all API methods: accountBalance, accountCompany, accountCredit, accountCurrency, accountEquity,
accountFreeMargin, accountMargin, accountName, accountNumber, accountProfit, comment, day, dayOfWeek, dayOfYear,
getLastError, getTickCount, hour, iAC, iAD, iADX, iAlligator, iAO, iATR, iBands, iBars, iBarShift, iBearsPower, iBullsPower,
iBWMFI, iCCI, iClose, iCustom, iDeMarker, iEnvelopes, iForce, iFractals, iGator, iHigh, iHighest, iLow, iLowest, iMA, iMACD,
iMFI, iMomentum, iOBV, iOpen, iOsMA, iRSI, iRVI, iSAR, isConnected, isDemo, iStdDev, isTesting, iStochastic,
isTradeContextBusy, isVisualMode, iTime, iVolume, iWPR, marketInfo, minute, month, objectCreate, objectCreate, objectCreate,
objectDelete, objectGet, objectGetFiboDescription, objectSet, objectSetFiboDescription, objectSetText, objectsTotal, objectType,
orderClose, orderCloseBy, orderClosePrice, orderCloseTime, orderComment, orderCommission, orderDelete, orderExpiration,
orderLots, orderMagicNumber, orderModify, orderOpenPrice, orderOpenTime, orderPrint, orderProfit, orderSelect, orderSend,ordersHistoryTotal, orderStopLoss, ordersTotal, orderSwap, orderSymbol, orderTakeProfit, orderTicket, orderType, print,
refreshRates, seconds, timeCurrent, year
*/
}
}
 
// Java:
                double point = marketInfo( EURUSD, MarketInfo.MODE_POINT);
                double price = marketInfo( EURUSD, MarketInfo.MODE_ASK);
                buyPrice = price;
                int ticket = orderSend(
                        EURUSD,
                        TradeOperation.OP_BUY,
                        1,
                        buyPrice,
                        2,
                        price - 100 * point,
                        price + 100 * point,
                        "" + System. currentTimeMillis(),
                        0,
                        new Date( System. currentTimeMillis() + 60 * 60 * 1000),
                        -1
                );
                System. out. println("---------------------------------------");
                System. out. println("Buy order ticket: " + ticket);
 
 

ここにファイルを添付してください。Easyshareはそのままでは最悪です。500秒待ちのメッセージが何度も表示されるだけです。

 
差し支えなければ、MT4とjavaの通信方法について教えてください。私自身はDLLとTCPプロトコルを使ってこのような接続を実装しましたが、皆さんのところではどうなのでしょうか?
 
soulmate >> :
差し支えなければ、MT4とjavaの通信方法について教えていただけませんか?私はDLLとTCPプロトコルを使って自分でやったので、あなたのところではどうなっているのか気になります。

ドキュメントを添付するようにします...

ファイル:
 
rgerasimen >> :

資料を添付してみる・・・。

すでにアーカイブで見つけました、ありがとうございます。

 
ドックなし
ファイル:
jfxv1.2.3.zip  3617 kb
 
ジャバドック
ファイル: