Synchronicity questions

No response from tech support again after 5 days of waiting so hopefully someone here knows the answer.

1) If I don’t confirm a signal because my software happened to be down when it came in, how long will the signal continue to be sent?

2) Can you explain how to handle the following synchronicity issue:

My software was off so I missed an opening trade. I manually enter the trade. C2 won’t send the closing signal because I didn’t confirm the opening signal. How do I tell C2 that I’m now in the trade so that it sends the closing signal?

  1. C2 will continue to sell a stop or limit order that is still working forever… that is, until the order stops working because it is filled, expired, or cancelled. This is true even if your software is not connected to C2 when the signal is first generated. If your software connects days or months later, you’ll still get that signal, assuming it is still working when you reconnect.

    However, once a signal is filled, if you re-connect your client to C2 after the signal if filled, we will not send it to you. (Well, we will, for up to 60 seconds after the fill, but that’s hardly significant). The idea here is that people should not want to receive a “stale” signal. If it’s too old, it’s unlikely you’ll want to chase a price (at least, that was the thinking when I designed the interface).

    There’s currently no way to tell C2 that you independently found out about an opening signal and then filled it. That’s a feature that has been requested quite a bit, and so I hope to be able to add it in the medium-term future.

    For now, though, your code will have to do a lot of heavy lifting to approximate equivalent functionality. Whatever mechanism you are using to find out about an opening signal that is not delivered through the AutoTrade API (presumably you are using the Data Services API to learn of that “missed” opening signal?) – you’ll need to use the same mechanism to learn of matching closing signals, too. Again, it’s a lot of coding and state information to keep track of, so it’s not a path I can enthusiastically encourage you to follow. That said, I think it is theoretically possible.

  1. Got it, that makes sense.

    I agree with your logic about not chasing a stale signal if the price is gone against you, but if its now at an even better price, many people would still want in, if only to stay in sync. That’s one reason I requested AverageCost field be added in the cmd=reqsystemsync response.

    Yes, count me among those wishing to tell C2 that I am now in on a previous missed signal so that I get the closing signal.

    I know I missed it because I got the email from C2. I will look into the Data Services API. Thanks for the tip.

    A simple way to know that you missed a closing signal is that the holding will no longer exist in the cmd=reqsystemsync response.