I tried to use it on State.Terminated but not all the iterations of optimization save results, only for some, I do not know why.
Announcement
Collapse
Looking for a User App or Add-On built by the NinjaTrader community?
Visit NinjaTrader EcoSystem and our free User App Share!
Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less
Partner 728x90
Collapse
NinjaTrader
Saving trades in optimization
Collapse
X
-
Saving trades in optimization
I would like to save trades for each iteration in optimization. Of course, I know that you need to provide unique names for files. What is the best way to save transactions from the strategy?
I tried to use it on State.Terminated but not all the iterations of optimization save results, only for some, I do not know why.Tags: None
-
Hello Andrew_e,
Some instances created in optimizations are not backtested but are cloned instances used behind the scenes for different purposes.
Each instance that is actually backtested and appears in a row in the results, should enter the State.Terminated when completed.
Do you have prints from a specific iteration that did not write to file?Last edited by NinjaTrader_ChelseaB; 05-01-2019, 07:16 AM.Chelsea B.NinjaTrader Customer Service
-
For the purpose of the test, I optimize one variable from 1 to 20. We should get 20 results and that's what we have in the grid.
In strategy code, I have:
else if (State == State.Terminated)
{
Log("saveTransaction parametr=" + ATR_Period + " trades=" + SystemPerformance.AllTrades.Count, LogLevel.Information);
saveTransactions();
}
However, only 9 results are saved, similarly in the log I have only 9 entries (trades>0).
2019-05-01 16:05:33:702|1|16|saveTransaction parametr=17 trades=3484
2019-05-01 16:05:33:813|1|16|saveTransaction parametr=18 trades=3478
2019-05-01 16:05:33:904|1|16|saveTransaction parametr=19 trades=3363
2019-05-01 16:05:33:999|1|16|saveTransaction parametr=20 trades=3431
2019-05-01 16:05:34:120|1|16|saveTransaction parametr=13 trades=3382
2019-05-01 16:05:34:203|1|16|saveTransaction parametr=14 trades=3391
2019-05-01 16:05:34:286|1|16|saveTransaction parametr=15 trades=3489
2019-05-01 16:05:34:378|1|16|saveTransaction parametr=16 trades=3495
2019-05-01 16:05:34:484|1|16|saveTransaction parametr=2 trades=0
2019-05-01 16:05:35:265|1|16|saveTransaction parametr=1 trades=0
2019-05-01 16:05:35:265|1|16|saveTransaction parametr=2 trades=0
2019-05-01 16:05:36:548|1|16|saveTransaction parametr=20 trades=0
2019-05-01 16:05:39:139|1|16|saveTransaction parametr=1 trades=3481
There are no missing 11 iterations of optimization.
It is interesting to see that there are calls for the variable equal to 2 only for the zero number of transactions
(this iteration has no zero number of transactions, which can be seen in the grid after optimization).
Performance Parameters
4,17 1/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period
2,02 10/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period
2,09 11/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
2,07 12/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
2,05 13/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
2,03 14/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
2,12 15/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
2,10 16/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
2,09 17/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
2,07 18/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
2,02 19/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
2,01 2/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
2,06 20/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
2,00 3/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
1,98 4/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
2,02 5/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
2,00 6/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
2,06 7/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
2,04 8/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
1,96 9/0,5/20/10/2/4/4/1/1/2/100000/True (ATR_Period,
Comment
-
Hello Andrew_e,
I am not able to reproduce this behavior.
Below is a link to a video of the test.
Attached is the test script.
If you follow the exact steps in this video using the test script I have provided are you experiencing different behavior?Attached FilesChelsea B.NinjaTrader Customer Service
Comment
-
Thank you for the video. When I run your test script, everything is fine.
I've rewritten my script to print data in the output window, just like you do, but I still do not get all iterations. Interestingly, as I have noticed, there are always 9, regardless of whether iterations are 10, 20 or 40 iterations. Weird
For example, this is the result for 40 iterations
68a8a08c-6d88-4df6-9dea-3c9925a0c9dd | Terminated | TestInput1: 20, TestInput2: 35 | SystemPerformance.AllTrades.Count: 1911
68ec7de5-17e1-4733-bfc6-b830cf566f25 | Terminated | TestInput1: 20, TestInput2: 36 | SystemPerformance.AllTrades.Count: 1876
8c297076-d4fb-4b25-8b55-089748f61a8f | Terminated | TestInput1: 20, TestInput2: 37 | SystemPerformance.AllTrades.Count: 1853
4ffe0932-ac64-4fb5-9cc7-b68dd346fc3f | Terminated | TestInput1: 20, TestInput2: 38 | SystemPerformance.AllTrades.Count: 1820
aebc77ab-7abb-4e4e-b97f-944df6f27b6f | Terminated | TestInput1: 20, TestInput2: 39 | SystemPerformance.AllTrades.Count: 1780
662c1f3e-dbde-4034-ab6d-a455e1ca1fb7 | Terminated | TestInput1: 20, TestInput2: 40 | SystemPerformance.AllTrades.Count: 1761
4f3e3573-1a05-4651-a322-026962d15378 | Terminated | TestInput1: 20, TestInput2: 33 | SystemPerformance.AllTrades.Count: 1975
d24e221a-a2c6-4c07-8308-a207ef12b648 | Terminated | TestInput1: 20, TestInput2: 34 | SystemPerformance.AllTrades.Count: 1946
Strategy 'Turtle1/-1': A BuyToCover stop order placed at '09.02.2017 13:00:00' has been ignored since the stop price is less than or equal to the close price of the current bar. This is an invalid order and subsequent orders may also be ignored. Please fix your strategy.
fad4896d-e9d4-4e92-b8eb-31c3c85a1f1b | Terminated | TestInput1: 20, TestInput2: 20 | SystemPerformance.AllTrades.Count: 2537
Comment
-
Canning89 the problem raised in this thread is not about understanding the idea of strategy or optimization, the point is that when I make the optimization of the strategy (slightly more complicated than the intersection of averages) for some iterations it is called State.Terminated, and for others it is not.
Comment
-
I found a workaround. The problem disappeared when I set the IsInstantiatedOnEachOptimizationIteration = true parameter; . Previously for speeding up the tests I had it set to false. The problem I understand is in the resetting of variables during optimization. Maybe in the future I will look for variables that cause this, for now I do not have time for it and I will be satisfied with the solution. I treat NT mainly as a tool for strategy prototyping.
Comment
-
Hello Andrew_e,
When IsInstantiatedOnEachOptimizationIteration is set to false, each variable needs to be reset in State.DataLoaded. This brings on a whole new set of questions.
Below is a link to the help guide on IsInstantiatedOnEachOptimizationIteration.
May I confirm you were using my test script that re-initializes on State.DataLoaded?
Are you finding my testing script also experiences the same behavior?Chelsea B.NinjaTrader Customer Service
Comment
Latest Posts
Collapse
Topics | Statistics | Last Post | ||
---|---|---|---|---|
Started by FrancisMorro, Today, 03:24 AM
|
0 responses
1 view
0 likes
|
Last Post
by FrancisMorro
Today, 03:24 AM
|
||
Net Change
by Segwin
Started by Segwin, 05-07-2018, 02:15 PM
|
10 responses
1,769 views
0 likes
|
Last Post
by Leafcutter
Today, 03:01 AM
|
||
Change colour of Stop market and limit orders to red and green via indicator script
by Rapine Heihei
Started by Rapine Heihei, 04-23-2024, 07:51 PM
|
2 responses
30 views
0 likes
|
Last Post
by Max238
Today, 02:25 AM
|
||
Started by Shansen, 08-30-2019, 10:18 PM
|
24 responses
943 views
0 likes
|
Last Post
by spwizard
Today, 01:29 AM
|
||
Started by Max238, Today, 01:28 AM
|
0 responses
10 views
0 likes
|
Last Post
by Max238
Today, 01:28 AM
|
Comment