MT4 Java API

 
Vorrei portare alla vostra attenzione il mio MT4 Java API
 
La MT4 Terminal Java API (JFX) ha lo scopo di fornire un'interfaccia Java al trading di MetaQuotes
server attraverso il terminale client standard MetaTrader 4 (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);
 
 

Pls allega il file qui. Easyshare fa schifo così com'è. Ricevo solo il messaggio "wait 500 seconds" più e più volte.

 
Se non ti dispiace, per favore descrivi come MT4 comunica con java. Io stesso ho implementato tale connessione tramite dll e protocollo TCP, quindi mi chiedo come sia fatto nel vostro?
 
soulmate >> :
Se non vi dispiace, potreste spiegare come MT4 comunica con java? L'ho fatto io stesso tramite dll e protocollo TCP, quindi mi sto chiedendo come si fa nel vostro?

Cercherò di allegare un documento...

 
rgerasimen >> :

Cercherò di allegare un documento...

Già trovato nell'archivio, grazie.

 
Nessun molo
File:
jfxv1.2.3.zip  3617 kb
 
Javadoc
File: