Difference between revisions of "Why chart shows no trades"

From MultiCharts
Jump to navigation Jump to search
Line 58: Line 58:
 
===Strategy is applied and calculated, but no orders are shown on the chart===
 
===Strategy is applied and calculated, but no orders are shown on the chart===
  
If there is no order on a backtested chart, it means either the '''order generation conditions in your code''', or the '''conditions for order execution''' (prices on chart) '''were not met on the chart'''. The same is '''true''' also for '''real-time script calculation''' (so called "forwardtesting") and '''auto-trading'''.
+
If there is no order on a backtested chart, it means either the '''order generation conditions in your code''', or the '''conditions for order execution''' (prices on chart) '''were not met on the chart'''. The same is '''true''' also for '''real-time script calculation''' (so-called "forward testing") and '''auto-trading'''.
 
Please [[Why an Order Was or Was Not Executed| '''read this article''']] in order to learn more and find out how you can trace your order generation and execution from within the code to understand why it does not work as expected.
 
Please [[Why an Order Was or Was Not Executed| '''read this article''']] in order to learn more and find out how you can trace your order generation and execution from within the code to understand why it does not work as expected.
 
<div style="background-color: #E5F6FF;">'''Example''': If standard signals '''Custom Strategy LX''' and '''Custom Strategy SX''' are applied to a chart, there will be no order on a chart, because '''LX''' and '''SX''' stand for '''Long Exit''' and '''Short Exit''' respectfully. [[How Scripts Work#Order Execution Priority| If there are no entries, no exit orders can be generated]].</div>
 
<div style="background-color: #E5F6FF;">'''Example''': If standard signals '''Custom Strategy LX''' and '''Custom Strategy SX''' are applied to a chart, there will be no order on a chart, because '''LX''' and '''SX''' stand for '''Long Exit''' and '''Short Exit''' respectfully. [[How Scripts Work#Order Execution Priority| If there are no entries, no exit orders can be generated]].</div>

Revision as of 12:16, 7 September 2020

General information

Requirements for an executed-at-broker account order to be displayed on the chart:

Note: These rules do not affect backtested orders, which were not sent to broker. If you are looking for backtested orders, please read further.


Strategy trades

Applying signals

Please make sure you have applied at least 1 signal to the chart and it is turned on to make backtesting or auto-trading possible:

  1. Right-Click on the chart,
  2. Format Signals:
    • If Format Signals is grayed out, it means no signals are currently applied to the chart to generate orders. Add signals to the chart.
    • If Format Signals is available, click it to see the list of applied signals to the chart. Make sure at least 1 signal is ON.
  3. Click OK.
Note: if a signal is applied successfully, this does not mean it should show you orders. Please read this passage.


"Error", "No" or "Unverified" for a signal in the Status in Format Signals window

Follow the next steps exactly as they are described:

  1. Close all MultiCharts parts and make sure all MultiCharts Processes are ended in the Windows Task Manager,
  2. Launch only MultiCharts,
  3. Open the workspace where the problematic signals are applied to charts,
  4. File -> New -> PowerLanguage Editor,
  5. PowerLanguage Editor: File -> Open -> select your signal -> Ok,
  6. Click the Compile button (if it is grayed out, add a space anywhere to the script of the opened signal and then click the Compile button),
    • If it is not compiled, debug the script,
    • If it is compiled successfully, go back to MultiCharts,
  7. MultiCharts: right-click on the chart, where the signal is applied to,
  8. Format Signals,
  9. Select the signal,
  10. Turn it off first by clicking on the Status button,
  11. Turn it on by clicking on the Status button again.
Note: If it still shows "Error", "No" or "Unverified", please contact our support team.


Strategy is constantly "calculating" in the status line

Each signal code requires at least 1 bar to be calculated on it before it can place an order. For signals, the number of bars a code should be calculated on before it can place an order is defined by the Maximum number of bars a study will reference (MaxBarsBack) in Strategy Properties. If you have an incorrect MaxBarsBack value, you will see calculating... in the Status Line of the chart, and therefore you need to change this value. In order to see this, make sure your Status Line is configured correctly:

  1. Right-Click on the chart,
  2. Format Window,
  3. Status Line tab,
  4. Make sure the Enable Status Line box is checked,
  5. Scroll down the list of items for the status line and make sure the Study box is checked,
  6. Click OK.
Note: If there is no calculating... in the status line after that, this is not the reason for the absence of strategy-generated orders on the chart.


Strategy is applied and calculated, but no orders are shown on the chart

If there is no order on a backtested chart, it means either the order generation conditions in your code, or the conditions for order execution (prices on chart) were not met on the chart. The same is true also for real-time script calculation (so-called "forward testing") and auto-trading. Please read this article in order to learn more and find out how you can trace your order generation and execution from within the code to understand why it does not work as expected.

Example: If standard signals Custom Strategy LX and Custom Strategy SX are applied to a chart, there will be no order on a chart, because LX and SX stand for Long Exit and Short Exit respectfully. If there are no entries, no exit orders can be generated.


Auto-trading in SA mode

The distinguishing feature of the Synchronous mode of auto-trading in MultiCharts is that the orders are shown on the chart only if they are actually executed and the broker returned a confirmation of it through the broker's API. Please check the following:


Manual trades or trades placed from other software

In order to see such orders, the same requirements as described at the beginning of this page should be met.