Attachment 20963
Firstly, please find attached the logging information for the 13:10 and 13:25 races today, 50,000 records taken approximately over two separate races (I think it was about the last 2 minutes of the first race and the rest of the time – after a 5 minute complete standstill between the markets switching – was race number 2. You can see this ‘change’ of markets from row 9640 which I have highlighted, interestingly the 12 rows above were empty. Strangely the original file wouldn't upload so I copy and pasted just the data tab and changed the file to a .xlsb so hopefully it's got through to you fine.
Now for the business rules. For each of the following, I have given each output as either: 1 = “BACK/CLOSE_TRADE” or 2 = “LAY/CLOSE_TRADE”. This is because it depends on what the previous order was i.e. If previous = CLOSE_TRADE, then 1 would mean “BACK” but if previous = BACK, then 1 would mean “CLOSE_TRADE” if no constants can be used for outputs then can “BACK/CLOSE_TRADE” be used and then we would just need one more rule i.e.:
FINAL_SIGNAL: If all three indicators show “BACK/CLOSE_TRADE” and previous was “BACK”, then = “CLOSE_TRADE”. Same logic with “LAY/CLOSE_TRADE”.
Whilst unsure of how to best implement the final trigger, here are the first drafts of the business rules for each indicator. Only half in developer language because of the underlying “WAS but IS NOW” I’m getting a little confused with. I’m assuming the way around it has something to do with the ‘Stores previous Macd Formula values’ you included in your example of business rules. Tell me, how does this fit in to get around the “WAS but IS NOW” problem I’m having with the following?:
MACD Business Rules:
If macd_C_SeriesCount was less than (macd_A_SeriesCount – macd_B_SeriesCount) but is now greater than, then “1”
If (macd_A_SeriesCount – macd_B_SeriesCount) was greater than macd_C_SeriesCount but is now less than, then “2”
RSI Business Rules:
If rsi_SeriesCount was less than RSI_Low_and_Rising_trigger_point and is now greater than RSI_Low_and_Rising_trigger_point, then “1”
If rsi_SeriesCount was greater than RSI_High_and_Falling_trigger_point and is now less than RSI_High_and_Falling_trigger_point, then “2”
‘Close Trades
If previous command was “LAY” and rsi_SeriesCount was greater than RSI_MID_and_Falling_trigger_point and is now less than RSI_MID_and_Falling_trigger_point, then “1?”
If previous command was “BACK” and rsi_SeriesCount was less than RSI_MID_and_Rising_trigger_point and is now greater than RSI_MID_and_Rising_trigger_point, then “2?”
WOM Business Rules:
If wom_SeriesCount was less than WOM_Low_and_Rising_trigger_point and is now greater than WOM_Low_and_Rising_trigger_point, then “1”
If wom_SeriesCount was greater than WOM_High_and_Falling_trigger_point and is now less than WOM_High_and_Falling_trigger_point, then “2”
‘Close Trades
If previous command was “LAY” and wom_SeriesCount was greater than WOM_MID_and_Falling_trigger_point and is now less than WOM_MID_and_Falling_trigger_point, then “1?”
If previous command was “BACK” and wom_SeriesCount was less than WOM_MID_and_Rising_trigger_point and is now greater than WOM_MID_and_Rising_trigger_point, then “2?”
And then I assume some other part of the code is checking that these values are occurring within ‘look back period’ of each other. And then the final signal is getting sent to the instruction fields and everything should be ticking until 10 seconds before start time, pausing and then resuming after this 10 second period once the next market is connected.
Cheers,
CPerry