Edit Your Comment
is LMAX proper
Mar 26, 2012 at 08:28
Miembro desde Nov 18, 2009
posts 18
LMAX is large % owned by a betting shop and maybe also goldman sachs too, and changed their name to LMAX exchange.
And i see articles around how they use different more efficient matching and clearing model.
But i would if they are a real exchange. The banks to bank feeds seem to be what forex is really about. I wonder if they are CFD's.
That they maybe more like CMC and IGMarkets,
I am still very wary of names such as fxcm, from many years ago. Not saying that their pro account is or isn't good, but that mud sometimes sticks.
Any ideas on this group?
And i see articles around how they use different more efficient matching and clearing model.
But i would if they are a real exchange. The banks to bank feeds seem to be what forex is really about. I wonder if they are CFD's.
That they maybe more like CMC and IGMarkets,
I am still very wary of names such as fxcm, from many years ago. Not saying that their pro account is or isn't good, but that mud sometimes sticks.
Any ideas on this group?
Miembro desde Oct 28, 2011
posts 25
Miembro desde Aug 16, 2010
posts 453
Miembro desde Jan 14, 2010
posts 556
Jul 12, 2012 at 08:48
Miembro desde Jan 14, 2010
posts 556
TheCyclist posted:
Gawd - 🙄 - all we need, an affiliate telling us whatever we want to hear for a sale.
And how exactly is LMAX an exchange?
I don't think it's an exchange, but a type of exchange, as says on their website:
'The LMAX Exchange is a neutral execution venue where buyers and sellers meet, show their interest in an instrument by placing orders and where orders are matched according to our efficient, best-execution, institutional style matching rules'.
Notice the 'institutional style' at the end.
forex_trader_28881
Miembro desde Feb 07, 2011
posts 724
Miembro desde Jan 14, 2010
posts 556
Jul 12, 2012 at 15:05
Miembro desde Jan 14, 2010
posts 556
TheCyclist posted:
They list companies or they don't, if they don't they're not an exchange. It's a broker. Simple as that. And if they start off by misrepresenting themselves then I have an issue with that.
Yes, I agree. It's like an investment firm which uses the word 'bank' it its name.
forex_trader_84514
Miembro desde Jul 16, 2012
posts 12
Jul 21, 2012 at 15:30
Miembro desde Jul 16, 2012
posts 12
FROM THEIR WEBSITE:
Price you see = price you get - There are no dealers on the LMAX Exchange, making Forex and CFD trading on the LMAX Exchange neutral and transparent. With no dealer intervention - requotes are a thing of the past - our cutting-edge technology purely and simply matches clients’ best bids to the best offers. [^]
i am not sure how this is possible. if their servers determine that a particular instrument is available to be traded at $X, and then they transmit that price to be displayed on my terminal, and then i (or my software) clicks on a buy or sell button, how is it possible that by the time that my order gets back to them that said price is guaranteed to be still available?
they must be doing something very clever, and i would like to understand how they do it.
Price you see = price you get - There are no dealers on the LMAX Exchange, making Forex and CFD trading on the LMAX Exchange neutral and transparent. With no dealer intervention - requotes are a thing of the past - our cutting-edge technology purely and simply matches clients’ best bids to the best offers. [^]
i am not sure how this is possible. if their servers determine that a particular instrument is available to be traded at $X, and then they transmit that price to be displayed on my terminal, and then i (or my software) clicks on a buy or sell button, how is it possible that by the time that my order gets back to them that said price is guaranteed to be still available?
they must be doing something very clever, and i would like to understand how they do it.
Jul 21, 2012 at 18:24
Miembro desde Jul 03, 2012
posts 6
forex_trader_84514
Miembro desde Jul 16, 2012
posts 12
Jul 22, 2012 at 06:39
(editado Jul 22, 2012 at 07:02)
Miembro desde Jul 16, 2012
posts 12
hello,
this organization is most definitely operating as an exchange, something of a closed circuit exchange, but an exchange nevertheless.
my thinking is that the only issue/drawback to the issue that it is operating as a closed circuit exchange might be that the size of their order book might not be that big of a book, but if that book should become large or larger, this is quite possibly going to be the cool cat trading server system, and that is a good thing.
assuming that i do in fact understand the mechanics of their trading servers, lol, which i probably do not fully understand the mechanics of their system and therefore it is my suggestion that we get something of a more detailed explanation of the above flowchart, not everybody that trades knows how to read flowcharts and it is just good practice to go ahead and write a full explanation of any flowchart that is as promising as the above flowchart. ;)
regarding the issue that they are owned by some kind of betting company, i would like to be the first to come forward and recognize that this is not a negative sign for a company like this, this is actually something that this company should sing about and they should wear this betting company issue like it is a badge of honor. personally, i like the idea that some pimps are in the house and that they just might know how to take care of some trading business.
my best wishes to you in your work.
this organization is most definitely operating as an exchange, something of a closed circuit exchange, but an exchange nevertheless.
my thinking is that the only issue/drawback to the issue that it is operating as a closed circuit exchange might be that the size of their order book might not be that big of a book, but if that book should become large or larger, this is quite possibly going to be the cool cat trading server system, and that is a good thing.
assuming that i do in fact understand the mechanics of their trading servers, lol, which i probably do not fully understand the mechanics of their system and therefore it is my suggestion that we get something of a more detailed explanation of the above flowchart, not everybody that trades knows how to read flowcharts and it is just good practice to go ahead and write a full explanation of any flowchart that is as promising as the above flowchart. ;)
regarding the issue that they are owned by some kind of betting company, i would like to be the first to come forward and recognize that this is not a negative sign for a company like this, this is actually something that this company should sing about and they should wear this betting company issue like it is a badge of honor. personally, i like the idea that some pimps are in the house and that they just might know how to take care of some trading business.
my best wishes to you in your work.
forex_trader_84514
Miembro desde Jul 16, 2012
posts 12
Jul 22, 2012 at 08:03
Miembro desde Jul 16, 2012
posts 12
i am almost embarassed that i was going to even ask if you have an api.
https://www.lmax.com/trading-tech/api-trading
this is really too way way cool.
srsly.
SAMPLE JAVA CODE:
package com.lmax.api;
import com.lmax.api.account.LoginCallback;
import com.lmax.api.account.LoginRequest;
import com.lmax.api.account.LoginRequest.ProductType;
import com.lmax.api.order.Execution;
import com.lmax.api.order.ExecutionEventListener;
import com.lmax.api.order.MarketOrderSpecification;
import com.lmax.api.order.Order;
import com.lmax.api.order.OrderCallback;
import com.lmax.api.order.OrderEventListener;
import com.lmax.api.order.OrderSubscriptionRequest;
import com.lmax.api.orderbook.OrderBookEvent;
import com.lmax.api.orderbook.OrderBookEventListener;
import com.lmax.api.orderbook.OrderBookSubscriptionRequest;
import com.lmax.api.profile.Timer;
import com.lmax.api.reject.InstructionRejectedEvent;
import com.lmax.api.reject.InstructionRejectedEventListener;
public class LoginClient implements LoginCallback, OrderBookEventListener, OrderEventListener, InstructionRejectedEventListener, ExecutionEventListener
{
private final class DefaultCallback implements Callback
{
public void onSuccess()
{
}
@Override
public void onFailure(final FailureResponse failureResponse)
{
throw new RuntimeException('Failed');
}
}
private Session session;
private final long instrumentId;
private FixedPointNumber side = FixedPointNumber.ZERO;
private long orderCount = 0;
private long executionCount = 0;
private long rejectionCount = 0;
public LoginClient(long instrumentId)
{
this.instrumentId = instrumentId;
}
@Override
public void notify(OrderBookEvent orderBookEvent)
{
if (side.equals(FixedPointNumber.ZERO))
{
side = FixedPointNumber.ONE;
placeOrder(side);
}
}
@Override
public void notify(InstructionRejectedEvent instructionRejected)
{
rejectionCount++;
placeOrder(side);
System.out.println(instructionRejected.getReason());
}
@Override
public void notify(Execution execution)
{
}
@Override
public void notify(Order order)
{
executionCount++;
side = side.negate();
placeOrder(side);
}
private void placeOrder(FixedPointNumber side)
{
if (orderCount > 2 && (orderCount % 50 == 0 || orderCount % 50 == 1))
{
session.placeMarketOrder(new MarketOrderSpecification(instrumentId, new FixedPointNumber(500000000), TimeInForce.IMMEDIATE_OR_CANCEL), placeOrderCallback);
}
else
{
session.placeMarketOrder(new MarketOrderSpecification(instrumentId, side, TimeInForce.IMMEDIATE_OR_CANCEL), placeOrderCallback);
}
}
private final OrderCallback placeOrderCallback = new OrderCallback()
{
@Override
public void onSuccess(long instructionId)
{
if (orderCount % 10 == 0)
{
System.out.printf('Orders: %d, Executions: %d, Rejections: %d, Net: %d%n', orderCount, executionCount, rejectionCount, orderCount - (executionCount + rejectionCount));
}
orderCount++;
}
@Override
public void onFailure(FailureResponse failureResponse)
{
System.out.println(failureResponse);
}
};
@Override
public void onLoginSuccess(Session session)
{
System.out.println('My accountId is: ' + session.getAccountDetails().getAccountId());
this.session = session;
this.session.registerOrderBookEventListener(this);
this.session.registerOrderEventListener(Timer.forOrderEvents(this));
this.session.registerInstructionRejectedEventListener(Timer.forInstructionRejectedEvents(this));
this.session.registerExecutionEventListener(Timer.forExecutionEvents(this));
session.subscribe(new OrderBookSubscriptionRequest(instrumentId), new DefaultCallback());
session.subscribe(new OrderSubscriptionRequest(), new DefaultCallback());
session.start();
}
@Override
public void onLoginFailure(FailureResponse failureResponse)
{
System.out.println('Login Failed: ' + failureResponse);
}
public static void main(String[] args)
{
if (args.length != 4)
{
System.out.println('Usage ' + LoginClient.class.getName() + ' <url> <username> <password> [CFD_DEMO|CFD_LIVE]');
System.exit(-1);
}
String url = args[0];
String username = args[1];
String password = args[2];
ProductType productType = ProductType.valueOf(args[3].toUpperCase());
LmaxApi lmaxApi = new LmaxApi(url);
LoginClient loginClient = new LoginClient(4001);
lmaxApi.login(new LoginRequest(username, password, productType), loginClient);
}
}
https://www.lmax.com/trading-tech/api-trading
this is really too way way cool.
srsly.
SAMPLE JAVA CODE:
package com.lmax.api;
import com.lmax.api.account.LoginCallback;
import com.lmax.api.account.LoginRequest;
import com.lmax.api.account.LoginRequest.ProductType;
import com.lmax.api.order.Execution;
import com.lmax.api.order.ExecutionEventListener;
import com.lmax.api.order.MarketOrderSpecification;
import com.lmax.api.order.Order;
import com.lmax.api.order.OrderCallback;
import com.lmax.api.order.OrderEventListener;
import com.lmax.api.order.OrderSubscriptionRequest;
import com.lmax.api.orderbook.OrderBookEvent;
import com.lmax.api.orderbook.OrderBookEventListener;
import com.lmax.api.orderbook.OrderBookSubscriptionRequest;
import com.lmax.api.profile.Timer;
import com.lmax.api.reject.InstructionRejectedEvent;
import com.lmax.api.reject.InstructionRejectedEventListener;
public class LoginClient implements LoginCallback, OrderBookEventListener, OrderEventListener, InstructionRejectedEventListener, ExecutionEventListener
{
private final class DefaultCallback implements Callback
{
public void onSuccess()
{
}
@Override
public void onFailure(final FailureResponse failureResponse)
{
throw new RuntimeException('Failed');
}
}
private Session session;
private final long instrumentId;
private FixedPointNumber side = FixedPointNumber.ZERO;
private long orderCount = 0;
private long executionCount = 0;
private long rejectionCount = 0;
public LoginClient(long instrumentId)
{
this.instrumentId = instrumentId;
}
@Override
public void notify(OrderBookEvent orderBookEvent)
{
if (side.equals(FixedPointNumber.ZERO))
{
side = FixedPointNumber.ONE;
placeOrder(side);
}
}
@Override
public void notify(InstructionRejectedEvent instructionRejected)
{
rejectionCount++;
placeOrder(side);
System.out.println(instructionRejected.getReason());
}
@Override
public void notify(Execution execution)
{
}
@Override
public void notify(Order order)
{
executionCount++;
side = side.negate();
placeOrder(side);
}
private void placeOrder(FixedPointNumber side)
{
if (orderCount > 2 && (orderCount % 50 == 0 || orderCount % 50 == 1))
{
session.placeMarketOrder(new MarketOrderSpecification(instrumentId, new FixedPointNumber(500000000), TimeInForce.IMMEDIATE_OR_CANCEL), placeOrderCallback);
}
else
{
session.placeMarketOrder(new MarketOrderSpecification(instrumentId, side, TimeInForce.IMMEDIATE_OR_CANCEL), placeOrderCallback);
}
}
private final OrderCallback placeOrderCallback = new OrderCallback()
{
@Override
public void onSuccess(long instructionId)
{
if (orderCount % 10 == 0)
{
System.out.printf('Orders: %d, Executions: %d, Rejections: %d, Net: %d%n', orderCount, executionCount, rejectionCount, orderCount - (executionCount + rejectionCount));
}
orderCount++;
}
@Override
public void onFailure(FailureResponse failureResponse)
{
System.out.println(failureResponse);
}
};
@Override
public void onLoginSuccess(Session session)
{
System.out.println('My accountId is: ' + session.getAccountDetails().getAccountId());
this.session = session;
this.session.registerOrderBookEventListener(this);
this.session.registerOrderEventListener(Timer.forOrderEvents(this));
this.session.registerInstructionRejectedEventListener(Timer.forInstructionRejectedEvents(this));
this.session.registerExecutionEventListener(Timer.forExecutionEvents(this));
session.subscribe(new OrderBookSubscriptionRequest(instrumentId), new DefaultCallback());
session.subscribe(new OrderSubscriptionRequest(), new DefaultCallback());
session.start();
}
@Override
public void onLoginFailure(FailureResponse failureResponse)
{
System.out.println('Login Failed: ' + failureResponse);
}
public static void main(String[] args)
{
if (args.length != 4)
{
System.out.println('Usage ' + LoginClient.class.getName() + ' <url> <username> <password> [CFD_DEMO|CFD_LIVE]');
System.exit(-1);
}
String url = args[0];
String username = args[1];
String password = args[2];
ProductType productType = ProductType.valueOf(args[3].toUpperCase());
LmaxApi lmaxApi = new LmaxApi(url);
LoginClient loginClient = new LoginClient(4001);
lmaxApi.login(new LoginRequest(username, password, productType), loginClient);
}
}
Miembro desde May 21, 2011
posts 47
May 19, 2014 at 14:51
Miembro desde May 21, 2011
posts 47
Quoting Sarauharrison,
I agree with you very much. I had a meeting with Andreas Wigstrom from LMAX (one of the partners of LMAX) and they are looking to expand largely into Asia, either Singapore, Hong Kong or Japan within the next 5 years.
Reading from their site, they are also trying to move away from retail, and more towards instituitional volumes, which would explain why they have java API trading, as pointed out by Sarauharrison earlier.
The reason I met up with Andreas for LMAX is because I am an IB for LMAX (as per my signature below - Abundance Trading Group) and we negotiated a 12% commission discount for LMAX traders
I agree with you very much. I had a meeting with Andreas Wigstrom from LMAX (one of the partners of LMAX) and they are looking to expand largely into Asia, either Singapore, Hong Kong or Japan within the next 5 years.
Reading from their site, they are also trying to move away from retail, and more towards instituitional volumes, which would explain why they have java API trading, as pointed out by Sarauharrison earlier.
The reason I met up with Andreas for LMAX is because I am an IB for LMAX (as per my signature below - Abundance Trading Group) and we negotiated a 12% commission discount for LMAX traders
Armada Markets 5% discount, Axitrader $1.50 discount, IC markets $1.50 disc, LMAX 12% discount, Price Markets 5% disc, FinFX (accepts US traders) $0.7 ECN disc, Global Prime $1.50 discount, SynergyFX $3.50 discount, Blackwell Global $6 rebates - Abundance Trading
Miembro desde Feb 10, 2013
posts 10
Jul 17, 2014 at 10:34
Miembro desde Feb 10, 2013
posts 10
LMAX have MTF Execution Type which is better than ECN.
Although they are more oriented towards Institutional Volumes, but they are still available for Retail Clients.
Usually their Initial account opening deposit is $10000 but I can get it open for anyone interested for $1000 deposit to try them out. You will also be getting 16% Commission discount.
Although they are more oriented towards Institutional Volumes, but they are still available for Retail Clients.
Usually their Initial account opening deposit is $10000 but I can get it open for anyone interested for $1000 deposit to try them out. You will also be getting 16% Commission discount.
Highest Forex Cashback & Rebates Paid only at -
*El uso comercial y el spam no serán tolerados y pueden resultar en el cierre de la cuenta.
Consejo: Al publicar una imagen o una URL de YouTube, ésta se integrará automáticamente en su mensaje!
Consejo: Escriba el signo @ para completar automáticamente un nombre de usuario que participa en esta discusión.