MT4-Java API

 

I'd like to introduce MT4 Java API: http://www.easy-share.com/1908253435/jfx-1.2.2.tar.gz


MT4 Terminal Java API (JFX) is intended to provide Java interface to MetaQuotes trading
servers through the standard MetaTrader 4 client terminal (MT4 Terminal).

 
rgerasimen:

I'd like to introduce MT4 Java API: http://www.easy-share.com/1908253435/jfx-1.2.2.tar.gz


MT4 Terminal Java API (JFX) is intended to provide Java interface to MetaQuotes trading
servers through the standard MetaTrader 4 client terminal (MT4 Terminal).

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);

 
 
No docs archive
Files:
jfxv1.2.3_1.zip  3617 kb
 
Javadoc
Files:
 
 
rgerasimen:


Nice!!!!

Congratulations

Dan aka BearNaked

 

Is this an academic exercise?


What can you do in Java that you cannot do in MQL4?

 
blogzr3:

Is this an academic exercise?


What can you do in Java that you cannot do in MQL4?


More sophisticated robots... Java is object oriented MQL4 is not.

 
blogzr3:

Is this an academic exercise?


What can you do in Java that you cannot do in MQL4?


at least, you can set breakpoints

Reason: