MicroTrendsLtd / NinjaTrader8

NinjaTrader8 Components Strategies and Trading tools
MIT License
72 stars 17 forks source link

Test Report 2020-12-08 - #2 #28

Closed jmscraig closed 3 years ago

jmscraig commented 3 years ago

90 mins into this test .. PriceReversal 1 second and 2 secnod running great. 100% default configs. MACross MNQ 18tick Hung and frooze the chart in 15 min (no logging or tracing enabled). MACross MNQ 8tick is running great(no logging or tracing enabled).


3 hours in, now both MACross clients have Hung / Frozen. (no logging or tracing enabled).

Switching logging to the MACross client.

MicroTrendsTom commented 3 years ago

What settings for the MACross client? i guess its latest v etc? NOTE: beware of OCO ORder type signal and the ISPositinCloseLimit etc

MicroTrendsTom commented 3 years ago

Switching logging to the MACross client.

VS Debubbing with output window on will show the full gamut of methods and events up to the lock not seen in trace plus trace interweaved Also then if a lock has occurred you can click pause and see where it was etc - for this reason i test 1 strategy per server for that

jmscraig commented 3 years ago

Hi Tom, just logging off to go to bed.

What is the config

Given the rapid recent changes I am typing to stay with the exact defaults you are submitting the strategies with... at least for the first rounds of testing.

I always reduce the values of Fast and Slow so the Workflow engine gets a better workout.

This is config is currently running with an intent for strong tracing to help debug any issues that surface. Any recommended changes?

Night!

image

MicroTrendsTom commented 3 years ago

Note: Trade management will produce those kind of errors or stop placement too near market in a fast bar type perhaps Defaults i have made an attempt to write the defaults out in the constructor and the State Default also as im not sure how the reset to factory defaults works, So i run with what is the constructor - however after adding the new functions im testing with concDict now also :-)

jmscraig commented 3 years ago

This morning Test Reportout:

MACross crashed at 9:06am with one Sell Stop order hung, un-cancelable in the Sim account.

The last few popups all said something like "Unable to verify ErrorFlattenAllConfirmed"

Next round will enable full tracing, it was not on.

Log shows repeated rounds of "Unable to verify ErrorFlattenAllConfirmed". Two different message strings (e.g. likely sent from at least two diff locations )

183 instances of the same error message starting when the market go faster at 8:31am.

I have seen this messaging as a precursor to hang consistantly in all MACross/AlgoSystemBase version combinations.

Ok, so...

image

jmscraig commented 3 years ago

... more on ... is this from timing delays from Sim system processing errors?

Re-writing this line "is this from timing delays from (or related to) Sim system processing errors?"

Over the whole night:

image

jmscraig commented 3 years ago

Next test is on the latest commit

MicroTrendsTom commented 3 years ago

Ok So the Error workflow has started and cannot close or cancel or confirm it has been closed/flattened So it keeps trying then when its resetting state - it does another attempt of a different nature on all "Orders" Ok this would be great to replicate so i can see why it tries and tries againg when that never happens on any machine i have or strategy what is diferrent etc

ak ok thats from the control center log - we need to see the trace log to see the issue so it recovered perhaps its not clear from the date toime

What DataSeries are you using? I can get the settings from the above

jmscraig commented 3 years ago

I think this time (though it happened afterhours as well) I think it is most likely related to the heavy processing load at the open.

18tick.. now running a 1 second which is more like 24-40tick

MicroTrendsTom commented 3 years ago

The part in question is

look from case StrategyTradeWorkFlowState.Error: to case StrategyTradeWorkFlowState.ErrorFlattenAllPending:

what part can it not deal with... if (Position.MarketPosition == MarketPosition.Flat)

that ends in a friendly Flatten to keep it all alive etc as a Position.Close or Account.Flatten(new[] { Instrument }); would halt it etc

jmscraig commented 3 years ago

we need to see the trace log to see the issue looks like Default properties did not have trace turned on so enabling workflow trace

traceorder did not add any value this round so disabling that for this test.

jmscraig commented 3 years ago

that ends in a friendly Flatten to keep it all alive etc as a Position.Close or Account.Flatten(new[] { Instrument }); would halt it etc

Will watch

MicroTrendsTom commented 3 years ago

BTW here is a new one: CancelOrdersIfExists(OrdersActive);

jmscraig commented 3 years ago

Is that in the commit from 8 hours back? That is what I am running

Cool

MicroTrendsTom commented 3 years ago

Is that in the commit from a few hours back? a few before

MicroTrendsTom commented 3 years ago

in the error flow we will get reset messages and popups if (connectionStatusOrder != ConnectionStatus.Connected).....

or a stuck position....

jmscraig commented 3 years ago

What about bumping up the retry alarm, Timeout, Reset numbers a little?

MicroTrendsTom commented 3 years ago

Error workflows are usually kicked off by: OverFiledOrderDetect OrderRejection StrategyTradeWorkFlowState. GoLongValidationRejected StrategyTradeWorkFlowState. GoShortValidationRejected

definetly good idea to try increase the intervals and timeout/alarms etc mayeb the default is too fast

jmscraig commented 3 years ago

test ConDict ?

MicroTrendsTom commented 3 years ago

What about bumping up the retry alarm, Timeout, Reset numbers a little? sometimes this collaboration is like playing a Jazz improv - when you understanding is immediate and others would take years haha

jmscraig commented 3 years ago

Cool!

MicroTrendsTom commented 3 years ago

test ConDict ? thats new today a few hours back and is only implemented sparsely with the mode on IsOrdeActiveConcDict

jmscraig commented 3 years ago

Test ConDict or not yet?

MicroTrendsTom commented 3 years ago

Cool! serious we walk a lonely path ha

MicroTrendsTom commented 3 years ago

Test ConDict or not yet?

yeah i did do a short test and it worked ok on the small sample its ready to test out

jmscraig commented 3 years ago

Will do

MicroTrendsTom commented 3 years ago

awesome

jmscraig commented 3 years ago

One client testing ConDict and one not.

FYI. On launch of both hundreds of this log entry.

I think (maybe not) when launching this one.

image

image

jmscraig commented 3 years ago

But both clients were running fine very soon

jmscraig commented 3 years ago

Using those settings above I launched it on a 12 tick of the MNQ to push it to see where the pressure points are..

not long and the first on error file popped up.. both clients still look happy

image

MicroTrendsTom commented 3 years ago

One client testing ConDict and one not.

FYI. On launch of both hundreds of this log entry.

I think (maybe not) when launching this one.

image

image ok please raise new bug for Print() method so you get notified of fixes etc did you manage to get an output window of it etc? or in trace?

MicroTrendsTom commented 3 years ago

https://github.com/MicroTrendsLtd/NinjaTrader8/issues/33#issue-760587951

jmscraig commented 3 years ago

Client testing MACross and ConDict on 1 second .. is still running fine

image

jmscraig commented 3 years ago

Follow up or Close this issue however you want.. Starting a new one with a new topic

MicroTrendsTom commented 3 years ago

ok ty