use of com.github.jnidzwetzki.bitfinex.v2.entity.Position in project bitfinex-v2-wss-api-java by jnidzwetzki.
the class PositionTest method testPositionHandlerUpdate.
/**
* Test the position handler
* @throws APIException
*/
@Test
public void testPositionHandlerUpdate() throws APIException {
final String jsonString = "[0,\"pu\",[\"tETHUSD\",\"ACTIVE\",0.14,713.78,-0.00330012,0,null,null,null,null]]";
final JSONArray jsonArray = new JSONArray(jsonString);
final PositionHandler positionHandler = new PositionHandler();
final BitfinexApiBroker bitfinexApiBroker = buildMockedBitfinexConnection();
Assert.assertTrue(bitfinexApiBroker.getPositionManager().getPositions().isEmpty());
positionHandler.handleChannelData(bitfinexApiBroker, jsonArray);
Assert.assertEquals(1, bitfinexApiBroker.getPositionManager().getPositions().size());
}
use of com.github.jnidzwetzki.bitfinex.v2.entity.Position in project bitfinex-v2-wss-api-java by jnidzwetzki.
the class PositionTest method testPositionHandlerSnapshot.
/**
* Test the position handler
* @throws APIException
*/
@Test
public void testPositionHandlerSnapshot() throws APIException {
final String jsonString = "[0,\"ps\",[[\"tETHUSD\",\"ACTIVE\",0.14,713.78,-0.00330012,0,null,null,null,null], [\"tBTCUSD\",\"ACTIVE\",0.14,713.78,-0.00330012,0,null,null,null,null]]]";
final JSONArray jsonArray = new JSONArray(jsonString);
final PositionHandler positionHandler = new PositionHandler();
final BitfinexApiBroker bitfinexApiBroker = buildMockedBitfinexConnection();
Assert.assertTrue(bitfinexApiBroker.getPositionManager().getPositions().isEmpty());
positionHandler.handleChannelData(bitfinexApiBroker, jsonArray);
Assert.assertEquals(2, bitfinexApiBroker.getPositionManager().getPositions().size());
}
use of com.github.jnidzwetzki.bitfinex.v2.entity.Position in project bitfinex-v2-wss-api-java by jnidzwetzki.
the class PositionHandler method handlePositionCallback.
/**
* Handle a position update
* @param bitfinexApiBroker
* @param positions
*/
private void handlePositionCallback(final BitfinexApiBroker bitfinexApiBroker, final JSONArray positions) {
final String currencyString = positions.getString(0);
BitfinexCurrencyPair currency = BitfinexCurrencyPair.fromSymbolString(currencyString);
final Position position = new Position(currency);
position.setStatus(positions.getString(1));
position.setAmount(positions.getBigDecimal(2));
position.setBasePrice(positions.getBigDecimal(3));
position.setMarginFunding(positions.getBigDecimal(4));
position.setMarginFundingType(positions.getBigDecimal(5));
position.setPl(positions.optBigDecimal(6, BigDecimal.valueOf(-1)));
position.setPlPercent(positions.optBigDecimal(7, BigDecimal.valueOf(-1)));
position.setPriceLiquidation(positions.optBigDecimal(8, BigDecimal.valueOf(-1)));
position.setLeverage(positions.optBigDecimal(9, BigDecimal.valueOf(-1)));
bitfinexApiBroker.getPositionManager().updatePosition(position);
}
use of com.github.jnidzwetzki.bitfinex.v2.entity.Position in project bitfinex-v2-wss-api-java by jnidzwetzki.
the class BitfinexApiBroker method setupChannelHandler.
/**
* Setup the channel handler
*/
private void setupChannelHandler() {
// Heartbeat
channelHandler.put("hb", new HeartbeatHandler());
// Position snapshot
channelHandler.put("ps", new PositionHandler());
// Position new
channelHandler.put("pn", new PositionHandler());
// Position updated
channelHandler.put("pu", new PositionHandler());
// Position caneled
channelHandler.put("pc", new PositionHandler());
// Founding offers
channelHandler.put("fos", new DoNothingHandler());
// Founding credits
channelHandler.put("fcs", new DoNothingHandler());
// Founding loans
channelHandler.put("fls", new DoNothingHandler());
// Ats - Unkown
channelHandler.put("ats", new DoNothingHandler());
// Wallet snapshot
channelHandler.put("ws", new WalletHandler());
// Wallet update
channelHandler.put("wu", new WalletHandler());
// Order snapshot
channelHandler.put("os", new OrderHandler());
// Order notification
channelHandler.put("on", new OrderHandler());
// Order update
channelHandler.put("ou", new OrderHandler());
// Order cancelation
channelHandler.put("oc", new OrderHandler());
// Trade executed
channelHandler.put("te", new TradeHandler());
// Trade update
channelHandler.put("tu", new TradeHandler());
// General notification
channelHandler.put("n", new NotificationHandler());
}
Aggregations