Download MetaTrader 5

MT4-Java API

To add comments, please log in or register
Roman Gerasymenko
261
Roman Gerasymenko  

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

Roman Gerasymenko
261
Roman Gerasymenko  
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
*/
}
}
Roman Gerasymenko
261
Roman Gerasymenko  
// 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);

Roman Gerasymenko
261
Roman Gerasymenko  
Roman Gerasymenko
261
Roman Gerasymenko  
No docs archive
Files:
jfxv1.2.3_1.zip 3617 kb
Roman Gerasymenko
261
Roman Gerasymenko  
Javadoc
Files:
Roman Gerasymenko
261
Roman Gerasymenko  
Daniel Vieira Costa
519
Daniel Vieira Costa  
rgerasimen:


Nice!!!!

Congratulations

Dan aka BearNaked

blogzr3
506
blogzr3  

Is this an academic exercise?


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

ArtificialIntelligence
128
ArtificialIntelligence  
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.

Roman Gerasymenko
261
Roman Gerasymenko  
blogzr3:

Is this an academic exercise?


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


at least, you can set breakpoints

To add comments, please log in or register