| -
Account Log In Error
We trade using our own order management system employing FIX Protocols. We use a permanent demo account to take price feeds and place orders on the live account. We have been operating this way for some time.
This morning we could log in to our live account, but not our demo. We can log in to the demo account via trading station, but not via our fix api.
The error message is as follows:
MESSAGE: host=fixdemo1.fxcorporate.com, port = 80.
ERROR: Cannot logon: the first inbound message is not an acknowledgment Logon ( 8=FIX.4.4 9=158 35=5 49=FXCM 56=barry_client1 34=1 50=MINIDEMO 52=20100322-00:03:50.636 58=Tried to send a reject while not logged on: SendingTime accuracy problem (field 0) 10=011 ).
Note, we have two demo accounts (00324449 and 00347210) The same message appears when we try to log in to either.
Can you help?
We use demo account 00347210 for prices because we have experienced interruptions to the feed when we try to log in the to live account twice (once for the price feed and again to trade)
-
 Originally Posted by Barry Lucas We trade using our own order management system employing FIX Protocols. We use a permanent demo account to take price feeds and place orders on the live account. We have been operating this way for some time.
This morning we could log in to our live account, but not our demo. We can log in to the demo account via trading station, but not via our fix api.
The error message is as follows:
MESSAGE: host=fixdemo1.fxcorporate.com, port = 80.
ERROR: Cannot logon: the first inbound message is not an acknowledgment Logon ( 8=FIX.4.4 9=158 35=5 49=FXCM 56=barry_client1 34=1 50=MINIDEMO 52=20100322-00:03:50.636 58=Tried to send a reject while not logged on: SendingTime accuracy problem (field 0) 10=011 ).
Note, we have two demo accounts (00324449 and 00347210) The same message appears when we try to log in to either.
Can you help?
We use demo account 00347210 for prices because we have experienced interruptions to the feed when we try to log in the to live account twice (once for the price feed and again to trade) Can you post the logs of the messages you are sending too? and what type of account is this? Active Trader? or Retail FIX?
FXCM Programming Services is able to leverage its experience and expertise to help clients implement their automated strategy designs on platforms such as ESignal, TradeStation, MetaTrader, among others, upon request. -
Account Log In Error
Daniel,
we are active traders on a raw spread account, although we have not yet converted to the new Actve Trader format with market depth information.
I believe this is the information you need
----------------------------------------------------
Source file to login
----------------------------------------------------
void Handler::logon(void)
{
Settings settings("Settings.txt");
accountNumber_ = settings.get("AccountNumber");
partySubId_ = settings.get("PartySubID");
partySubIdType_ = settings.get("PartySubIDType");
string senderCompId = settings.get("SenderCompID");
targetCompId_ = settings.get("TargetCompID");
assert(NULL == session_);
session_ = new Session(senderCompId, targetCompId_, fixVersion, this);
session_->reset();
targetSubId_ = settings.get("TargetSubID");
session_->targetSubID(targetSubId_);
string host = settings.get("Host");
int port = settings.getInteger("Port");
Logger::instance()->logMessage("host=" + host + ", port = " + i2str(port) + '.');
session_->logonAsInitiator(host, port, true);
Logger::instance()->logMessage("Logged in.");
Message userRequest(MsgType::UserRequest, fixVersion);
userRequest.set(Tags::UserRequestID, "Request_1");
userRequest.set(Tags::UserRequestType, UserRequestType::LogOnUser);
string username = settings.get("Username");
userRequest.set(Tags::Username, username);
string password = settings.get("Password");
userRequest.set(Tags::Password, password);
session_->send(&userRequest);
}
-----------------------------------------------------------------------------
Error messages:
-----------------------------------------------------------------------------
onix/PeterMora_Phase_One_Source_0-7-0-0> phaseOne
Phase One SAMPLE, version 0.7.0.0.
MESSAGE: host=fixdemo1.fxcorporate.com, port = 80.
ERROR: Cannot logon: the first inbound message is not an acknowledgment Logon ( 8=FIX.4.4 9=158 35=5 49=FXCM 56=barry_client1 34=1 50=MINIDEMO 52=20100322-22:43:48.369 58=Tried to send a reject while not logged on: SendingTime accuracy problem (field 0) 10=029 ).
onix/PeterMora_Phase_One_Source_0-7-0-0> cp Settings_demo.txt Settings.txt
onix/PeterMora_Phase_One_Source_0-7-0-0> !ph
phaseOne
Phase One SAMPLE, version 0.7.0.0.
MESSAGE: host=fixdemo1.fxcorporate.com, port = 80.
ERROR: Cannot logon: the first inbound message is not an acknowledgment Logon ( 8=FIX.4.4 9=162 35=5 49=FXCM 56=fxm352866_client1 34=1 50=MINIDEMO 52=20100322-22:44:10.342 58=Tried to send a reject while not logged on: SendingTime accuracy problem (field 0) 10=110 ).
onix/PeterMora_Phase_One_Source_0-7-0-0>
-
 Originally Posted by Barry Lucas Daniel,
we are active traders on a raw spread account, although we have not yet converted to the new Actve Trader format with market depth information.
I believe this is the information you need
----------------------------------------------------
Source file to login
----------------------------------------------------
void Handler::logon(void)
{
Settings settings("Settings.txt");
accountNumber_ = settings.get("AccountNumber");
partySubId_ = settings.get("PartySubID");
partySubIdType_ = settings.get("PartySubIDType");
string senderCompId = settings.get("SenderCompID");
targetCompId_ = settings.get("TargetCompID");
assert(NULL == session_);
session_ = new Session(senderCompId, targetCompId_, fixVersion, this);
session_->reset();
targetSubId_ = settings.get("TargetSubID");
session_->targetSubID(targetSubId_);
string host = settings.get("Host");
int port = settings.getInteger("Port");
Logger::instance()->logMessage("host=" + host + ", port = " + i2str(port) + '.');
session_->logonAsInitiator(host, port, true);
Logger::instance()->logMessage("Logged in.");
Message userRequest(MsgType::UserRequest, fixVersion);
userRequest.set(Tags::UserRequestID, "Request_1");
userRequest.set(Tags::UserRequestType, UserRequestType::LogOnUser);
string username = settings.get("Username");
userRequest.set(Tags::Username, username);
string password = settings.get("Password");
userRequest.set(Tags::Password, password);
session_->send(&userRequest);
}
-----------------------------------------------------------------------------
Error messages:
-----------------------------------------------------------------------------
onix/PeterMora_Phase_One_Source_0-7-0-0> phaseOne
Phase One SAMPLE, version 0.7.0.0.
MESSAGE: host=fixdemo1.fxcorporate.com, port = 80.
ERROR: Cannot logon: the first inbound message is not an acknowledgment Logon ( 8=FIX.4.4 9=158 35=5 49=FXCM 56=barry_client1 34=1 50=MINIDEMO 52=20100322-22:43:48.369 58=Tried to send a reject while not logged on: SendingTime accuracy problem (field 0) 10=029 ).
onix/PeterMora_Phase_One_Source_0-7-0-0> cp Settings_demo.txt Settings.txt
onix/PeterMora_Phase_One_Source_0-7-0-0> !ph
phaseOne
Phase One SAMPLE, version 0.7.0.0.
MESSAGE: host=fixdemo1.fxcorporate.com, port = 80.
ERROR: Cannot logon: the first inbound message is not an acknowledgment Logon ( 8=FIX.4.4 9=162 35=5 49=FXCM 56=fxm352866_client1 34=1 50=MINIDEMO 52=20100322-22:44:10.342 58=Tried to send a reject while not logged on: SendingTime accuracy problem (field 0) 10=110 ).
onix/PeterMora_Phase_One_Source_0-7-0-0> The messages you posted are the log out FIX messages FXCM is sending to you. Can you post the logon message you are sending to the server? the actual fix messages you are sending to FXCM. Also, can you send me your credentials, my email is dmorales@fxcm.com. Put the title of this thread in the subject line.
FXCM Programming Services is able to leverage its experience and expertise to help clients implement their automated strategy designs on platforms such as ESignal, TradeStation, MetaTrader, among others, upon request. |