Hi,
moomoo ID:0
Log Out
English
Back
Log in to access Online Inquiry

How to identify the problems in a strategy

1. Use “Detect Error”

While creating a strategy, click on the “Detect Error” button in the upper right corner of the canvas, and the system will check the strategy in real time for missing parameters, inapplicable Conditions and Operations, and other problems.

Click on the text in the “Detection Results”, and the system will locate the abnormal Conditions or Operations so that you can you fix them.

(Images provided are not current and any securities are shown for illustrative purposes only.)


2. Use “Backtest”

Backtest can help test the effectiveness of a strategy. Before conducting live trading, it is recommended that you perform multiple backtests on the strategy to see if it has been configured properly and if it will be executed as you expect.

In addition, moomoo supports trading of a variety of products in multiple markets, including the Hong Kong stock, US stock, A-share, and futures markets. However, the specific types of products you can trade vary slightly with each market. For example, the A-share market does not support market orders, while stop loss market orders and market if touched orders are not available in the futures market. You will discover it via backtest.


3.  Use “Running Log”

3.1 Running log

Running logs are available for both backtest and live trading. Running logs contain details of Operations execution, order status and transaction status after an order is placed, reports of various exceptions, etc.

Each log consists of 3 parts:

● Time: Beijing time

● Properties: 3 categories

○ Info: information and records during normal running. E.g.: operations execution results, order status changes, transaction status changes, quotes access changes, etc.

○ Warning: exception alerts that will not interrupt the running of the entire strategy. E.g.: order failed, order invalid, etc.

○ Error: exception reports that will interrupt the running of the strategy. E.g.: global variable assignment exception leading to strategy initialization failure, quotes subscription exception leading to strategy initialization failure, insufficient validity period after trade is unlocked, etc.

●  Details:

○ Title: If the log content is related to a Condition or Operation, the format of the title will be “Condition / Operation Name-Condition / Operation Type” so as to indicate the corresponding Condition or  Operation in the canvas

○ Body: details

(Images provided are not current and any securities are shown for illustrative purposes only.)

3.2 How to use running logs

3.2.1 How to use “Value Assignment”

You can now print logs of execution results of Operations, but you may wonder how to identify problems of Conditions. In fact, we only need to print the values of Conditions’ variables.

E.g.:

When comparing the sizes of two MAs, we usually configure a Condition as below.


(Images provided are not current and any securities are shown for illustrative purposes only.)

However, when MA(5) was found to be less than MA(10) in the backtest, the system did not continue to run the strategy. In this case, we can create two new global variables, and assign MA(5) and MA(10) to the two global variables by using “Value Assignment”, so that we can view the exact values of MA(5) and MA(10) in the logs during the running of the strategy.

(Images provided are not current and any securities are shown for illustrative purposes only.)

3.2.2 How to use “Alert Settings”

You can print customized alerts in the logs by adding “Alert Settings” as needed.

E.g.: For a double moving average strategy, you may want to know which condition was not met, thus leading to the failed execution of the order. In this case, we can put a “Alert Settings” after each Condition and get the answer from the logs.

Images provided are not current and any securities are shown for illustrative purposes only.


4.  Contact Our Project Team

If you still have problems after trying all the above methods, please join our official QQ group for Quant communication (Group No.: 972441253), and contact our project team for assistance.

Trading in financial markets are inherently risky. Thus, an important component of quantitative trading systems is risk management. Risk is essentially anything that can interfere with the successful performance of a quantitative trading system. In the market, quants face different types of risks. There is, of course, market risk, which means that price changes of underlying financial assets can be fast and dynamic such that losing trades are generated. But this is not the only risk quants are exposed to. There is also capital allocation, technology risk, broker risk, and even personality risk (but this can be mitigated with automation). Automatic investment strategies do not ensure a profit or protect against losses.


This presentation is for informational and educational use only and is not a recommendation or endorsement of any particular investment or investment strategy. Investment information provided in this content is general in nature, strictly for illustrative purposes, and may not be appropriate for all investors.  It is provided without respect to individual investors’ financial sophistication, financial situation, investment objectives, investing time horizon, or risk tolerance. You should consider the appropriateness of this information having regard to your relevant personal circumstances before making any investment decisions. Past investment performance does not indicate or guarantee future success. Returns will vary, and all investments carry risks, including loss of principal. Moomoo makes no representation or warranty as to its adequacy, completeness, accuracy or timeliness for any particular purpose of the above content.