MultiCharts Automated trading

Discussion in 'Automated Trading' started by MarkBrown, Oct 9, 2022.

  1. MarkBrown

    MarkBrown

    Is anyone using MC and Rithmic for fully automated trading?

    Also is anyone aware of Futures Clearing firms that will take a transmitted file as an order?

    Prevent any possible asynchronization

    Mark
     
  2. I very briefly this year used Rithmic thru Quantower (via AMP) for manual trading with an auto stop & trailing stop script.

    Within 2-3 trades I received numerous warnings from Rithmic because I was "sending too many order cancels within a 30 second period" and that if I continued to do so, I would be essentially cut off from Rithmic.

    it was completely mind bending that in 2022 my simple trailing stops being cancelled was considered bad behavior by Rithmic and I subsequently closed the account. went back to CQG and have no issues.

    I know this isn't related to MC, but I did Google at the time and saw other platform users have this issue as well. just some information to consider with Rithmic. I was disappointed as I believed they would be superior to CQG.
     
    TooEffingOld and MarkBrown like this.
  3. I have two accounts with Rithmic.
    The first account did what you describe for a few days and then the warnings stopped. I didn't do or change anything to make the warnings stop.
    My seconds account which i opened a year later often still gives those warnings as well and they haven't stopped like my first account did, but i just ignore the warnings. I am no where near having a high enough cancel to fill ratio for my account to be blocked. I think the warning logic is a bit over sensitive.
     
    Last edited: Oct 10, 2022
  4. One must understand some important issues with regards to orders issued from MC :
    1) When the code directive [IntrabarOrderGeneration = True] or when the Format Signal option of "Enable intra-bar order generation and calculation" is set on, the likelihood of a huge number of cancel orders is great.
    HOWEVER, THE DOCUMENTATION WON'T TELL YOU THIS !!
    2) If you employ "built-in" functions like SetDollarTrailing_pt or SetPercentTrailing or SetBreakEven, etc.....these functions operate INTRABAR by default with no option of changing this behavior other than CONDITIONALLY executing these at the end of the bar. I have complained about this and indeed have entered an enhancement request to have a directive to turn the intrabar generation logic off...[IntrabarSetOrderGeneration = False] .
    Currently, to control the behavior of the "SET" functions, one can place condition statements to turn them off and on at the end of a bar (BARSTATUS=2):
    Example:
    Code:
    If ProfitAmt < 300 Then 
        SetDollarTrailing(100);
    

    So every time the bar closes, the SET statement is re-evaluated.
    HOWEVER, THE DOCUMENTATION WON'T TELL YOU THIS !!
    Again, these SET statements have a high potential for creating a high number of cancel orders to the broker.
    Also keep in mind these intrabar operations have a high impact on CPU utilization. As soon as I started to use them, my CPU utilization went from 20% to 40-60%.
     
    Last edited: Oct 10, 2022
    TooEffingOld and MarkBrown like this.
  5. Automated trading with MultiCharts is a crap. You cannot do anything beyond market orders with global variables to be sure you get filled. It is far better to do manual trading with MC only. They do not have any sophisticated execution algorithms at all so far. I told them many years ago but nothing happened.
     
    MarkBrown likes this.
  6. Why use global variables ? What is the purpose ? What is the advantage ?
    Sophisticated ? They only need to translate power language order statements into orders recognized by the broker that is linked. The other thing they need to do is round the order price correctly.
    For example: "Buy("Buy-Sig") 1 Contracts Next Bar At Open + .20 Stop"
    So for instance, for ES futures, the above would need to be rounded to:
    "Buy("Buy-Sig") 1 Contracts Next Bar At Open + .25 Stop".
    Finally, they need to cancel all potential orders where the order price is below the Close for BUY STOP orders or the order price is above the Close for BUY LIMIT orders....and vise versa for sells.
     
    TooEffingOld and MarkBrown like this.
  7. As I said automated trading is a totally crap with MC. Better to do manual trading, thus you can learn too by watching the markets. With those additional ideas you get from watching you have then more to code and backtest which can lead to superior results too. Anyone can see MC is not built for automated execution, only for backtesting.
     
    MarkBrown likes this.
  8. Andy - you need to give specific examples of where MC is deficient in order placement.
     
    MarkBrown likes this.
  9. I mean so many things can go wrong when doing automated execution. There is no way to no t do babysitting all the time when trading. Thus you can manual trade then too. For example you can loose internet connection for a few seconds when there is a signal to be executed, or MC loose connection to verify your account while you have solid internet connection, then again no trade is executed. There could be something with your broker. A false statement from or to broker, a new update, even on windows sometimes too, to cause a mistake while executing orders. There are so many options things can go wrong here. You really would need a sophisticated execution algorithm to handle all possible errors here. What about slippage spread widening sometimes or having fast markets, you need to program that all when doing automated trading. And then it gets complicated when you cannot execute your order at once and need to do several brackets here. MC is not helpful here. Thus you can see it is built more or just for backtesting (and some realtime tracking as there are good data vendor options but that's it.).
     
    TooEffingOld and MarkBrown like this.
  10. I do not want to write books here about deficient automated order execution with MC. I have other things to do. But you must see that MC is not built for autoexecution at all. Usually everyone knows that when MC was heavily used here.
     
    #10     Oct 10, 2022
    MarkBrown likes this.