How Scripts Work: Difference between revisions
From MultiCharts
→How Orders Are Sent Depending on the Last Bar Status
(4 intermediate revisions by 2 users not shown) | |||
Line 104: | Line 104: | ||
When a value of a bar '''N''' bars ago is referenced in a script, the study can only be visualized starting with the '''N + 1''' bar. | When a value of a bar '''N''' bars ago is referenced in a script, the study can only be visualized starting with the '''N + 1''' bar. | ||
The number of previous bars that must be available for a script in order to start performing calculations is called '''Maximum number of bars a study will reference''', or '''MaxBarsBack'''. The '''MaxBarsBack''' value | The number of previous bars that must be available for a script in order to start performing calculations is called '''Maximum number of bars a study will reference''', or '''MaxBarsBack'''. The '''MaxBarsBack''' value for the signals should be set manually. | ||
To select the smallest '''MaxBarsBack ''' value sufficient for a particular strategy, set the value manually to the largest data offset across all signals applied to a given chart. | |||
To select the smallest '''MaxBarsBack '''value sufficient for a particular | |||
Learn more about setting '''MaxBarsBack''' values for [[Strategy_Properties|Signals]] | Learn more about setting '''MaxBarsBack''' values for [[Strategy_Properties|Signals]] | ||
<br> | <br> | ||
=== Order Execution Priority === | === Order Execution Priority === | ||
Line 138: | Line 133: | ||
|'''Position'''|| '''Flat''' ||'''Long'''||'''Short''' | |'''Position'''|| '''Flat''' ||'''Long'''||'''Short''' | ||
|- | |- | ||
|'''Long Entry'''||''' 1 '''||''' 1 '''||''' | |'''Long Entry'''||''' 1 '''||''' 1 '''||''' 3 ''' | ||
|- | |- | ||
|'''Short Entry'''||''' 1 '''||''' | |'''Short Entry'''||''' 1 '''||''' 3 '''||''' 1 ''' | ||
|- | |- | ||
|'''Long Exit'''||''' - '''||''' | |'''Long Exit'''||''' - '''||''' 2 '''||''' - ''' | ||
|- | |- | ||
|'''Short Exit'''||''' - '''||''' - '''||''' | |'''Short Exit'''||''' - '''||''' - '''||''' 2 ''' | ||
|} | |} | ||
Line 194: | Line 189: | ||
The net result of executing the above orders, from a Short position, will be a Flat position. | The net result of executing the above orders, from a Short position, will be a Flat position. | ||
<br> | <br> | ||
=== How Orders Are Sent Depending on the Last Bar Status === | |||
Three collections of orders are filled on each calculation: This Bar Close, Next Bar Market, Next Bar Price.<br> | |||
If the last bar status of the base data series is closed (2 or -1) — This Bar Close orders are sent.<br> | |||
If the last bar status of the base data series is opened (0 or 1) — Next Bar Market, Next Bar Price orders are sent.<br> | |||
After the batch of orders is sent, it is cleared and will be filled only at the next calculation.<br> | |||
<div style="background-color: #E5F6FF;">Tip: It is possible to view bar statuses (bar status from the chart, not from the script is meant) with the help of an indicator that updates on every tick..</div> | |||
'''Examples'''<br> | |||
''Situation 1''<br> | |||
''2 and 2, where the number stands for the bar status from the script.''<br> | |||
Only This Bar Close orders are sent if there are no new bars on the chart by this moment.<br> | |||
If there is the new bar on the chart by this moment, Next Bar Market, Next Bar Price orders will be sent next.<br> | |||
''Situation 2''</br> | |||
''2 and 1''<br> | |||
Only This Bar Close orders are sent if there are no new bars on the chart by this moment.<br> | |||
If there is the new bar on the chart by this moment, Next Bar Market, Next Bar Price orders will be sent next.<br> | |||
''1 and 2''<br> | |||
Nothing is sent until the bar of the base data series is closed.<br> | |||
''Situation 3''<br> | |||
''1 and 2''<br> | |||
Nothing is sent.<br> | |||
''2 and 1''<br> | |||
Only This Bar Close orders are sent if there are no new bars on the chart by this moment.<br> | |||
If there is the new bar on the chart by this moment, Next Bar Market, Next Bar Price orders will be sent next.<br> | |||
''Situation 4''<br> | |||
''1 and 2''<br> | |||
Nothing is sent.<br> | |||
''2 and -1''<br> | |||
Only This Bar Close orders are sent if there are no new bars on the chart by this moment.<br> | |||
If there is the new bar on the chart by this moment, Next Bar Market, Next Bar Price orders will be sent next.<br> | |||
[[Category:PowerLanguage]] | [[Category:PowerLanguage]] |