GSB Forums

Report bugs here

 Pages:  1    3  ..  5

admin - 10-5-2017 at 07:51 PM

version 20.3
KNOWN BUGS BELOW STILL NOT FIXED.
WF logic needs significant improving. One symptom of this is OOS line can be flat in roughly the first half of the curve. Having min WF number of trades in app settings set to 100 helps cover this up.
Also it may be better of anchored WF is turned off. (On main Gui console left hand side.
CPU still a bit active when GSB has stopped.
Not implemented. You can stop GSB at any point but all systems are lost once you restart. Systems that have been WF are remembered when you start making GSB systems, as long as you don't close GSB.
Issue. GSB still uses too much ram. Still working on this.
Minor issue. Gui can take a number of seconds to respond after clicking on a graph.
Gui can take a minute to respond if multithreaded WF is being done, even if GSB is not building systems.
Some users are finding on some systems that GSB trades <> TS trades.
If its 99% the same this is not an issue.
Debug option can now be used after a system is created. You need to turn debug on, then click on another system, then the original system. Debug lists values and totals of all indicators so you can compare to TS in case there is a significant discrepancy


gmoney - 16-5-2017 at 10:13 AM

First, thank you for the opportunity to beta test GSB. Here are two issues I have (GSB19.5):

In the GSB App Settings, I have "Auto Walk-Forward Unique Systems" set to True, but GSB isn't running the walk-forward. Is this functionality supposed to be working?

I do not have the "ZeroSafe" function. Please include this in the GSB functions ELD. I use TS 9.1, is this function included in TS 9.5?


admin - 16-5-2017 at 04:29 PM

Hi Gmoney
Great to have you on board. The support of the beta users has helped make a better product for all of us.
You need to go to 20.3
WF will only occur when you right click to the left of a system, then do WF. Do not click on the system itself.
Soon you can select multiple systems at once to WF
I didnt know we had that option, but its removed in later builds. WF takes some CPU time, so best to manually choose the system first. Thats why it was removed.
WF multi-threading can only occur if GSB is not building systems. It makes the GUI very slow to respond, but is faster.
WF still logic needs a major internal upgrade. Should be < 2 weeks.
zerosafe is in the ts folder of 20.3 but not 19.5

admin - 20-5-2017 at 12:26 AM

build 21 can at times have different symbols loaded to whats in the data streams of the config. Not sure how I managed to do this.
In some case, system on chart not the same as system you click on. I couldn't reproduce this.

admin - 21-5-2017 at 09:32 PM

build 21.4 bug. If GSB is left running for a day or so, it slows down significantly. We are working to fix this but it make take some time.

admin - 22-5-2017 at 10:36 PM

21.7 build, and possibly all other builds. Sometimes the equity curve after a WF, seems to come short of the number of trades and net profit of what it did before hand.
This is top priority to fix.

Exceptions 21.7

heyligerb - 23-5-2017 at 08:23 AM

System.ArgumentException: Destination array was not long enough. Check destIndex and length, and the array's lower bounds.
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
at System.Collections.Generic.List`1.ToArray()
at GSB.UI.Forms.MainForm.b__36_0()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at GSB.UI.Forms.MainForm.d__36.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at GSB.UI.Forms.MainForm.d__76.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.b__4(Object state)

admin - 23-5-2017 at 03:47 PM

Hi heyligerb,
Most GUI bugs dont kill GSB, and it can go on.
How did this bug occur? That will help me reproduce the problem

admin - 26-5-2017 at 09:22 PM

The GUi at times has a bug where the graph doesnt remotely match the system. I suspect this is intermittent, but once the fault is triggered, I havnt managed to fix it.
Might only be with sf to to closelessPrevClose.
Top priority to fix

admin - 27-5-2017 at 12:48 AM

exception doing wf. Stops at 100% in orange. Doesnt happen often Build 23.2

admin - 29-5-2017 at 01:58 AM

I think all builds with wf OOS is giving way too many trades regardless of fitness.
Average trade and PF are down.
Top priority to fix.

wf-bad3.png - 296kB

Carl - 29-5-2017 at 11:20 PM

Hi Peter,
When I start GSB with a restart value of 5 and press the stop button, GSB stops and restarts.
To really stop GSB from running you need to press the stop button 5 times.
Thanks

admin - 29-5-2017 at 11:28 PM

Hi Carl,
That will be fixed most likely in the next build. Its 2 or 3 days out.
Thanks for the notification.
In 24.1 we are getting some reports of GSB results <> TS. Both cases used hurst filter was used.
We are adding a bit more to the diag function in GSB. Its missing output of secondary filter.
GUI is also not stable if latest or top is used. Best either dont use them, or turn them back off once you've had a quick look.
Medium term we hope to have seperate GSBworker.exe files (on a server farm possible too) and a separate GSBGUI.

Need to resolve most current bugs before we introduce this

crazyhedgehog - 30-5-2017 at 07:03 AM

Session time in Tools/Contract List does not seem to work. Trades are opened outside of defined session time (I tried 0830-1500 on ES 24h data file).

admin - 1-6-2017 at 02:04 AM

Hi Crazyhedgehog
in 24.6, session time has been changed to reflect what it actually does.
There is auto detect if you session time say ends at 15:00

sessionTIme.png - 13kB

Bugs in 24.6

Gregorian - 1-6-2017 at 09:23 AM

1. It does not use the data files or commission you specify. The Settings tab in the center results window does not reflect the data file you specify in the left settings column. It shows Default as the setting file that was loaded, even if you specifically load another settings file, whose settings do display in the left column.

2. It no longer auto-reloads at startup the settings you used in the last session.

gmoney - 1-6-2017 at 10:32 AM

Shouldn't the exits (Stop Loss, Profit Target, Minutes) used be included in the TradeStation code? I use Stop Loss in GSB, but it is never included in the TradeStation script. I have to manually add it in TradeStation.

admin - 1-6-2017 at 04:04 PM

Your correct. I will get that added. Thanks for the comments

admin - 2-6-2017 at 12:58 AM

Hi Gmoney,
stops in today's build now. Thanks for picking this up.

Carl - 5-6-2017 at 09:50 PM

Hi Peter, in version 25.0 it seems like fitness = net profit.
And this can not be changed?

admin - 6-6-2017 at 02:53 AM

Hi Carl,
give me some screen shots. Im not aware of this.

Carl - 7-6-2017 at 05:17 AM

"Hi Peter, in version 25.0 it seems like fitness = net profit.
And this can not be changed?"

I think I did something wrong, because I can not reproduce what I wrote earlier.

admin - 7-6-2017 at 05:24 AM

Well Im finding the same issue on 25.4. I have fitness np*average trade but fitness is now np.
This section of code has been modified due to the commission structure change, and the re-writing is not yet finished.
May be a few days to get it fixed.

Carl - 7-6-2017 at 07:15 AM

Yes, now I see the same bug in 25.4.
If commission = 0 then fitness is whatever you choose.
But if commission <> 0 then fitness = net profit (bug).

admin - 8-6-2017 at 01:03 AM

Hi Carl, we are working on this bug now. I get fitness NP only if commission = 0. (bug)

Carl - 8-6-2017 at 09:40 AM

Hi Peter, Version 25.8:

1. start test
2. stop test
3. start test: causes exception error:

Exception error (text in Dutch)
System.NullReferenceException: De objectverwijzing is niet op een exemplaar van een object ingesteld.
bij GSB.OptimizationSettings.CalculatePerformancePeriods()
bij GSB.UI.Forms.MainForm.d__55.MoveNext()
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetreden ---
bij System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

goatherder - 8-6-2017 at 11:37 AM

Build 25.8

I'm getting the fatal error: "This application will not run from within a virtual machine"
Not sure if this is a bug or a feature.

My setup is a MacBook running windows 10 on a Parallels Virtual Machine.

Screen Shot 2017-06-07 at 7.51.08 PM.png - 200kB

Carl - 9-6-2017 at 12:10 AM

version 25.8

it seems that the tab with the WF Tradestation script is missing?

admin - 9-6-2017 at 12:14 AM

Think your right that its gone. I would like it back but you can just copy the current parameters from the wf tab current.
I will work on getting it back.

Carl - 9-6-2017 at 12:21 AM

version 25.8

After building and WF:

Tab Walk-forward at the bottom shows (for the WF strategies) the same numbers as in tab Unique-Systems.

Shouldn't tab Walk-forward be showing the WF numbers instead of the optimization numbers?


Carl - 9-6-2017 at 12:27 AM

version 25.8

tab trades: trade profit all 0

(settings commissions: fitness 30 and reports 0)

Carl - 9-6-2017 at 04:32 AM

ALL_GSB_FUNCTIONS_20170609.ELD (GSB version 25.8)

GSB_supersmoother and GAB_bandpasssignal are missing

Thanks

admin - 9-6-2017 at 05:01 AM

Thanks for picking this. They are in here and will be in the next build.
Here they are.


Attachment: Login to view the details


Gregorian - 13-6-2017 at 08:30 AM

In 25.8, even with the June 10 functions ELD added:

GSB_AverageFC fails to compile in MC with "unrecognized token: !" on the RaiseRuntimeError line.

gmoney - 13-6-2017 at 10:11 AM

If only selecting "Allow Long Trading" to True and "Allow Short Trading" to False, the TradeStation script includes short entries (not just longs). I think the TS script should only have long entries since that is what the strategy is designed for. This was for 25.8.

Carl - 13-6-2017 at 02:12 PM

Hi gmoney,

Earlier today I saw it too.
A "long only" system only generates long orders. So that's good.
But the bug is that the "enter short" code is not removed from the "Tradestation script".

Carl

admin - 13-6-2017 at 07:45 PM

HI Gregorian
If there are any problems in mc with GSB_averagefc just use average. Its identical but the fc version is a bit faster in TS.
I will get the short code removed within one or two builds.

admin - 15-6-2017 at 02:17 AM

Long only issues with ts code are fixed in 26.4
Trades PL also fixed

admin - 15-6-2017 at 02:20 AM

REGO ISSUES.
Is anyone willing to test the registration trial on computers that have never had GSB on them.
Some users are getting 1 day or no trial. This is pretty annoying for people.
If it fails, do not run GSB again. Email me the logs in c:\SKlogs
Thanks in advance.
Peter

Carl - 19-6-2017 at 02:29 PM

Hi Peter,

I noticed that the time exit (x minutes) is not part of the Tradestation code.

Thanks

admin - 19-6-2017 at 04:07 PM

Hi Carl, I will get that fixed.

Carl - 22-6-2017 at 12:48 AM

Goodday Peter, I'm back...

You could consider changing the GSB timestop option from "minutes" to "number of bars" ?

admin - 22-6-2017 at 12:52 AM

We had discussions on this and it means if you change the data 1 interval, the period remains the same which we think is best option.

No systems when bar times don't match

Armmar - 23-6-2017 at 08:44 AM

If you use markets where bars end on different times (eg: Use daily data with markets with different closing times in the primary vs the secondary data stream), then no systems get generated.

admin - 23-6-2017 at 04:47 PM

Hi Armmar, I think it would be bad practice to do that. I will look into the issue though.
Can you send me the files you used?

admin - 25-6-2017 at 10:57 PM

If WF is set to rolling, GSB does anchored and visa versa. You should use anchored by default so until 27.5 or later build comes out set anchored to false.
Symptom of this were picked up my user crazyhedgehog who found we had lack of WF parameter stability on anchored.

if we wf a system on anchored, the system can never be wf again on rolling and visa versa.
the type of wf doesnt change. This is second part of the bug.
So set your default wf anchored to false(now this means anchored till the bug is fixed) then dont change it till the next release of GSB. (after 27.5 build)

admin - 28-6-2017 at 04:48 AM

27.8 bug.
Secondary filter is always on Genetic, even if set to CloseminusClosed

moveo - 30-6-2017 at 09:40 AM

I am now on GSB 28.1

seems there is a lot more differ between

GSB and TS than with builds before

GSB_equity.jpg - 540kB TS_equity.jpg - 180kB

admin - 30-6-2017 at 04:41 PM

I tested only 4 systems before I went to sleep to release the build.
2 were perfect, and 2 out a mild amount, but the pf was the same.
We are aware that the issue is not fixed, but 29.1 should be better than other builds for some time.
If you want me to look at a specific system I can, but we know there is more to be done on it.
I will explain what we can do, and why its hard.
Diag mode can write ALL indicators to a file.
This will pick up all discrepancies via git diff function.
However some osc do not give errors here, but when combined with other indicators they do.
Some functions that use xaverage, give different results depends on what bar they start on.
I have this issue in TS too. on @es.d its fine, @emd.d its not fine. The variation in TS in this case was very significant and its a non GSB system.
The first line in the gui that says gsb, has to be changed to indicator test.
You hit the green button.
xfer the code to ts.
TS will take a very long time and write the files in the GSB folder.
Then you diff the two files in GSB folder.
IndicatorsTester.GSB.txt ,IndicatorsTester.TS.txt
So I apologize over the issue, its been very hard to and time consuming, frustrating for all, but we are making progress.
I would be interested to know that ratio of match to miss-match systems.
There also is a much faster match function in GSB, but its not working yet. Our first prioity was to get the indicators to match, then build the simpler diag too.

admin - 30-6-2017 at 05:04 PM

Ive gone through the process here. However your are welcome not to go through this process till we have found all the errors.
Even when fixed, users will get errors if there data is different, they use wrong session time by mistake etc.
Note as the prices have shifted due to back adjusted data, all h,l,c,o prices will be different, and so most non normalized data will not match.
This is no big deal and you could use the identical gsb csv data if you can be bothered.
However normalized data should match. This is on the right side of the files.
I enclose examples here, and you can see that roofingfilter is wrong, but most other indicators were correct.

indic1.png - 62kB

indic2.png - 91kB

winmerge.png - 35kBwindif1.png - 213kBwindif2.png - 304kBwindif3.png - 112kB

admin - 30-6-2017 at 05:59 PM

in 28.1 and below
Do not use systems with these indicators.
gsb(roc)
GSB(RoofingFilter.Distance):
GSB(RoofingFilter2Pole.Filter2)
GSB(RoofingFilter2Pole.Filter)

moveo - 30-6-2017 at 10:55 PM

After further testing I found, this big differences like shown
in the example above occur on all systems with filter
ClosedMinusClosed enabled.
Nearly no probs with disabled or genetic

admin - 30-6-2017 at 10:59 PM

thanks for that tip. We are still working on this on our weekend.

boosted - 1-7-2017 at 02:14 PM

Using 28.1 Beta, I am still getting vastly different GSB results compared to TS. I checked my data randomly with date and time and prices and they all match up with chart, but results are not same as GSB (i.e. GSB = 108k NP compared to TS = 82k NP for whole period).

When I installed 28.1 Beta, I installed the 28.1 GSB functions too, just to make sure I am up to date with everything that may have an affect on GSB vs TS outcomes.

I have 1 day left in demo and this is becoming very frustrating that I cannot match GSB results in TS.

Please help. I cannot see where the problem is being created.

boosted - 1-7-2017 at 03:02 PM

Using 28.1 Beta, I am still getting vastly different GSB results compared to TS. I checked my data randomly with date and time and prices and they all match up with chart, but results are not same as GSB (i.e. GSB = 108k NP compared to TS = 82k NP for whole period).

When I installed 28.1 Beta, I installed the 28.1 GSB functions too, just to make sure I am up to date with everything that may have an affect on GSB vs TS outcomes.

I have 1 day left in demo and this is becoming very frustrating that I cannot match GSB results in TS.

Please help. I cannot see where the problem is being created.

boosted - 1-7-2017 at 03:02 PM

Using 28.1 Beta, I am still getting vastly different GSB results compared to TS. I checked my data randomly with date and time and prices and they all match up with chart, but results are not same as GSB (i.e. GSB = 108k NP compared to TS = 82k NP for whole period).

When I installed 28.1 Beta, I installed the 28.1 GSB functions too, just to make sure I am up to date with everything that may have an affect on GSB vs TS outcomes.

I have 1 day left in demo and this is becoming very frustrating that I cannot match GSB results in TS.

Please help. I cannot see where the problem is being created.

Carl - 2-7-2017 at 12:02 AM

Have the same issues here. Lots of system results don't match in TS.
Have found great systems that do match in Tradestation, so that's good. The methodology works.
Purchased the software already, so no pressure for me.

I am going to wait until these indicator issues have been solved.
Am convinced Peter and his programmers are working hard to solve this problem.
Hopefully we will have an update this week with all the indicator issues fixed.

boosted - 2-7-2017 at 03:47 PM

Sadly for me, my demo time is up. I was never able to replicate GSB results in TS within the 99% range. At times, depending upon which Beta build, results came closer but something or another would cause mismatches.

I really like the potential of GSB and its WFA. Unfortunately with the decisive differences in results I kept getting with each update working with the Beta demo, I can't commit to buying it quite yet. Just as with any demo, you expect it to work without too many issues, but with strategy building, you cannot afford to have really any discrepancies that aren't at least within 1% or the results cannot be trusted.

I trust and have no doubt Peter and his team are working hard to resolve any issues. From the little time I had access to GSB, he quickly brought out updates, which is a good sign. I just wish with the demo time I had with it that it was working properly. For GSB strategies not to consistently match results in TS is a big deal to me. Like I said, I'm sure he gets the issues worked out eventually, but my demo time is up so I will have to follow the progress through the forums from here on out.

boosted - 2-7-2017 at 04:30 PM

This may not be a bug, but it should be changed imo.

I saved some price files to be used in GSB to my desktop. When I tried to use these price files GSB declined. I found out they could not be used simply because GSB
doesn't like .TXT price files to be accessed anywhere but within the Data Price file location within GSB. So I had to move my .TXT price files to GSB Data Price file locations in order to be used in GSB.

I like to store files in Dropbox so if I have a catastrophic hard drive failure etc. I have all of my files backed up in cloud for safety. I should be able to pull a .TXT price file or any file for that matter from anywhere, not just a GSB designated file locations.

admin - 2-7-2017 at 04:38 PM

You can put the entire GSB in dropbox. Or I can provide a neat free backup program. This can backup your systems which is even more important.

Carl - 4-7-2017 at 08:06 AM

Hi Peter,

GSB 28.5

Seems to be a bug in de WF department.
GSB uses a different strategies when performing WF
Please see attached screenshots.






GSB 28.5 IS and WF are different strategies 20170704A.png - 472kBGSB 28.5 IS and WF are different strategies 20170704B.png - 516kBGSB 28.5 IS and WF are different strategies 20170704C.png - 459kBGSB 28.5 IS and WF are different strategies 20170704D.png - 462kB

Carl - 4-7-2017 at 08:28 AM


Just copied the WF strategy and parameter values to Tradestation. Almost a 100% match!


moveo - 8-7-2017 at 04:17 AM

In 29.3 EL code is set an end date, so the systems do not work after this date, wich is the end date of training data

sysdate.jpg - 187kB enddate.jpg - 154kB

admin - 8-7-2017 at 04:46 AM

can you show me the gui main page. You can see mine works fine, so im not clear whats happening


dates1.png - 161kB

moveo - 8-7-2017 at 05:59 AM

Peter,
copy your system to TS and set the chart to current date,

you will see it stops trading on 20170228.

Attached a further explanation with my setup

gui.jpg - 264kB

admin - 9-7-2017 at 04:49 PM

Thanks for the explanation.
Thats deliberate so TS results = GSB results.
Its a simple thing for you to change the date.

crazyhedgehog - 10-7-2017 at 10:21 PM

Noticed a bug with the Exit after X Minutes option. TS code generated does not compile. The ; needs to be replaced with , in variable declaration, and also the but and sell code needed more parameters. Please see below:

sfResult(0);
tradeExitBar(1000000000);

..........

// Buy/Sell
If CurrentBar >= tradeExitBar Then
Begin
BuyToCover();
Sell();
tradeExitBar = 1000000000;
End;

crazyhedgehog - 10-7-2017 at 10:31 PM

Also I have the same WF bug as Carl mentioned above where the WF shows a different system than the original Optimization system.

IMG_4959.PNG - 1004kB

admin - 10-7-2017 at 11:20 PM

I suspect this is due to GSB optimizing and indicator type. Its valid as an option/feature to do this, but I see this as a bug. We will fix asap
The exit x minutes is fixed in 29.6 onwards

admin - 11-7-2017 at 01:15 AM

Quote: Originally posted by crazyhedgehog  
Also I have the same WF bug as Carl mentioned above where the WF shows a different system than the original Optimization system.


This should be fixed in 29.7

crazyhedgehog - 11-7-2017 at 03:52 AM

Thank you Peter. I really appreciate your support and how quickly you are addressing the issues.

Carl - 11-7-2017 at 04:05 AM

Quote: Originally posted by crazyhedgehog  
Also I have the same WF bug as Carl mentioned above where the WF shows a different system than the original Optimization system.



Sceenshot Crazyhedgehog:
The fitness in 29.2 seems off as well.
Backtest: fitness = NP
WF Best: fitness <> NP
WF OOS: fitness <> NP

Or is this related to the fact a different strategy was used for WF?

admin - 11-7-2017 at 04:32 AM

Quote: Originally posted by Carl  
Quote: Originally posted by crazyhedgehog  
Also I have the same WF bug as Carl mentioned above where the WF shows a different system than the original Optimization system.



Sceenshot Crazyhedgehog:
The fitness in 29.2 seems off as well.
Backtest: fitness = NP
WF Best: fitness <> NP
WF OOS: fitness <> NP

Or is this related to the fact a different strategy was used for WF?

I think the indicator type was optimized. Should be fixed now so its the end of the matter.

crazyhedgehog - 11-7-2017 at 04:41 AM

Hi Carl, the fitness change was intentional - I built it using NP as fitness but then tried different other fitnesses for WF such as NP / Drawdown

Carl - 11-7-2017 at 07:11 AM

Hi crazyhedgehog,

Okay, haven't used this option yet. Thanks.

All the best,
Carl

boosted - 11-7-2017 at 07:17 PM

I know this is not what one would consider a bug, but if any back-testing is going to be properly done with stocks or ETF's, there must be ($ per Share/Contract) added as an option for both Commission and Slippage as it is in TradeStation otherwise GSB cannot properly account for the changing $ cost of each trade.

Regardless if you choose Fixed Quantity (ie 1000 shares) or Capital (ie $100,000) option within GSB the price of the stock or ETF can and will change over time (ie splits, reverse splits). With this in mind, the trading costs (ie commission and slippage) must be accounted for using $ per Share/Contract Cost/Calculation. The spreads change over time depending upon price and volatility including share size / $ amount used for position sizing. Commission and slippage cannot be accounted for the same as one would do for futures. Without this change to GSB any back-testing results for stocks and ETF's will be off and costs not properly accounted for.

Stocks and ETF's costs need to be accurately accounted for. This change will do that.

It should also be noted that adding an option within GSB of "Fill entire order when trade price exceeds limit price" is very important for both futures and stocks. This option in my opinion provides a more accurate and slightly conservative but trustworthy result when back-testing. I realize this is an option within TradeStation but that is after GSB has built and back-tested the strategy. This really should be included as an option and part of GSB. Too many times strategies built without this option can lead to unrealistic back-tested results.

I know I prefer to have these things accounted for when building a strategy so there are no surprises when the strategy is dumped into TS and eventually traded with real $ and results end up not what you expected because these simple things were not taken care of during the build. No doubt others would find this important too.

Finding, testing, more testing, incubating etc. a strategy is time consuming, the last thing a strategy builder wants is to waste more time re-testing because the simple things such as properly accounted for commish/slippage and order fills were not taken care of during the strategy building process.

admin - 11-7-2017 at 07:24 PM

Hi Boosted
Stock support is not finished, and your idea on commission sounds great.
Currently there is no support for limit orders, all are market entry orders. When we go to limits we can add that feature.
Your commission idea will come out fairly soon as will % return metrics.

boosted - 11-7-2017 at 07:34 PM

Hi Peter,

An feel an apology is in order. Now that I re-read my post it both sounded redundant and a bit aggressive. I know you didn't mention any of that, but I thought I would since that is the way it sounded to me when I looked at it again. Sorry about that, I'll do better next time.

Sounds like you are on top of it, hope to see these features soon.

Thanks for the update.

admin - 11-7-2017 at 07:43 PM

Your very welcome. The nature of software so often is people are annoyed at things it wont do, or bugs etc.
The good news is the direction of GSB is good & progress rapid. Look at what win 3.0 (or before) was like, or early andriod compared to now.
Just to clarify. Do we need separate commission and slippage field? Im trying to keep things simple, and as little maths as possible to keep GSB speed very high.

boosted - 11-7-2017 at 08:16 PM

Some traders pay a flat commission (ie $5-7 per trade) and others like me pay per share. Futures trading involves being charged a flat rate per contract, at least to my knowledge, unlike stocks which can vary per share or per trade as noted above. It is different for each trader depending upon their broker and what plans they offer and what the trader prefers.

Stocks and ETF's have unique commission/slippage requirements that need to be accounted for that futures do not have. Over time the spread for a stock/ETF changes depending upon its price and volatility.

I don't think there is a way to get around accounting for commission and slippage separately.

Trading VXX is a very good example why this is required. It is continually reverse split so if you back-test you will have to use the GSB Capital option (ie 100k) since the price years ago was $15k+ compared to now of only $13+. You would only be trading 6-7 shares back then but now you would be trading over 2000 shares at today's prices, not to mention if I were to add a script to the TS code that traded my ongoing equity balance. As you can see from this extreme example, stocks and ETF's have to include $ per Share/Contract or the whole back-test will fail to account for the ever changing slippage and commission which is based upon how many shares being traded.

So if you are buying 10 shares to start (years ago) but end up in a few years trading multiple thousands of shares, just the spread alone (expressed in pennies) can have a huge impact on slippage and commission (depending upon per trade or per share plan).

It would be nice and convenient to keep it with one input "Commission/Slippage" but unfortunately it has to be separate and be accounted for on a $ per share basis to be true and accurate. This is unique to stocks and ETF's, futures don't have this problem.

I am open to hear any other work around to keep GSB slim and fast.

Carl - 13-7-2017 at 03:00 PM


The tab with the Tradestation code after WF contains the "WF best" data and not the "WF OOS" data.
Is this a bug?

The tab with the Tradestation code after WF contains the "WF best" data and not the "WF OOS" data.

Carl - 13-7-2017 at 03:02 PM



GSB 29.7 screenshot1.png - 676kBGSB 29.7 screenshot2.png - 694kB

admin - 13-7-2017 at 03:59 PM

Quote: Originally posted by Carl  

The tab with the Tradestation code after WF contains the "WF best" data and not the "WF OOS" data.

Thats correct Carl. We always use the IS curve for live trading, but then what you trade becomes the next OOS.
If you trade using the OOS curve paramaters, your real time results will be degraded.

moveo - 14-7-2017 at 02:26 PM

Since build 29.2 GSB uses other portions of training and test data than chosen in settings.
As example in screenshots,

GSB 28.1 takes correctly the chosen set 50/50, first trade was 2016-02-05.

GSB 29.2 or 30.0 takes other portions as the 50/50 chosen in settings, first trade was 2016-03-29.

Don`t know why it takes nearly two month longer to start the first trade.
As result backtest termination and performance filter settings
don`t work as they are adjusted. This does not stand out if long data like 5 years or more are chosen.

The complete data in my test goes from 2016-01-04 to 2016-12-30

trades300.jpg - 739kBequity300.jpg - 525kB281trades.jpg - 592kB281Equity.jpg - 431kB

admin - 14-7-2017 at 04:40 PM

Quote: Originally posted by moveo  
Since build 29.2 GSB uses other portions of training and test data than chosen in settings.
As example in screenshots,

GSB works by date, not by trade number. For this example best to put the x axis to date.
Use a long date period to clarify this issue as this will make more clear where the actual start date is in %. For example a system may be trading in test period, but no trades may have occurred for some time. I suspect you have a short range in ES15. This is not good conceptually. GSB needs lots of data to make a more valid statistical model. Also your secondary filter is set to genetic, best be set to closeMinuseCloseD. You should be using other data streams for data2. The 30 min SPX, IDX is fine, as long as they are on the same time zone as ES.15.
In build 30, ES.15.830_TO_1500_centralUSAtime.txt was updated as the old es15 data was bad.

50pc.png - 105kB tradenum.png - 109kB

moveo - 15-7-2017 at 04:44 AM

This setup with 1 year 15min data I use for quick tests. For example to check how different settings influence performance
or when a new GSB build comes out, to see in short what has changed.
In this case with GSB 30.0 I noticed the 2 month delay in trade start compared to GSB 28.1

gsb281.jpg - 525kBgsb300.jpg - 629kB

boosted - 15-7-2017 at 03:46 PM

I would not say this is a bug, but may be something that was overlooked. I am talking about trading using stop losses.

Specifically, if you create a strategy within GSB that uses a stop loss order, nowhere in the GSB TS script does it account for how many times you may enter or exit a trade intraday.

I ran across this issue when I created a strategy using GSB with a stop loss order (I normally don't do this but was curious). I took the finished GSB TS created script and placed into TS. When reviewing all of the trades in TS
I noticed there were sometimes multiple entries and stop loss exits intraday. Essentially it would enter a trade then hit stop loss for exit, but then very shortly after the strategy would make another entry (I assume indicators still reporting its still good time to enter) only to be exited again at my stop loss. So my stop loss worked but it really didn't as I intended since it was hit the first time then re-entry then stop loss hit again (ie $450 stop loss hit once, then after another entry and stop hit again intraday for another $450 loss).

I don't think this is the intent of most. I believe GSB needs to have an option to limit how many entries or exits can be made in one day. I know how to do this with some editing of TS code, but this option should really be a part of GSB so it can build suitable strategies that work as intended and not be surprised by this type of outcome.

I added this script to fix the problem ( and (EntriesToday(Date) < 1 or EndofSess), but really should be an option within GSB. I added this script to the IF....THEN entry portion of TS script.

When this is added to the IF...THEN entry portion it will limit your entries per date to 1. There is a way to allow for more entries intraday with a small change.

moveo - 16-7-2017 at 01:23 AM

GSB 30.3 is very RAM hungry during WFO .
Ram demand is continuously rising up until Windows shuts down GSB.
32 GB RAM is installed

Carl - 16-7-2017 at 02:37 AM

Hi Moveo, same issue here (32 GB RAM).

In 29.3 it was possible to let GSB run and perform WF 300/300 on 5 strategies at the same time.

In 30.3 I let GSB run and performed only 1 WF, RAM usage went up to 95% and GSB crashed.

Carl - 16-7-2017 at 03:52 AM

When saving a GSB strategy the default file name consists of "save date - save time - generated number (?)".
i.e. 20170716-113347-432949-1.systems

Maybe an idea to use the id number in the Tradestation script as the default file name?
i.e. // ID: 20170715-213402-848098-VLxP3

admin - 16-7-2017 at 07:50 PM

I will look into the ram issue. I found dropping population helped a lot, and gave me lots more speed.
Im also going to add a peak ram counter, not just ram. With 15 min of data and lots of data streams, I hit 60gb of ram usage with 300 population.
speed double now im on 150 population.
Factors in ram are the amount of bars in the data streams, and the amount of secondary data streams.
More ram is likely due to us doing the same precision in numbers as TS. This is one of the reasons for TS<>GSB.
A month or so ago, we dropped the precision to significantly drop the ram useage. If its a choice of TS=GSB vs ram, we chose TS=GSB
Later note. On defaults of 2 secondary data streams, I think im peaking 8.5 gb of ram. Its when I had 15 min bars and 5 data2 that ram blew out heaps.

admin - 16-7-2017 at 07:53 PM

Quote: Originally posted by Carl  
When saving a GSB strategy the default file name consists of "save date - save time - generated number (?)".
i.e. 20170716-113347-432949-1.systems

Maybe an idea to use the id number in the Tradestation script as the default file name?
i.e. // ID: 20170715-213402-848098-VLxP3


I think thats a good idea. Will get it on to do list.

admin - 16-7-2017 at 07:54 PM

Quote: Originally posted by boosted  

I added this script to fix the problem ( and (EntriesToday(Date) < 1 or EndofSess), but really should be an option within GSB. I added this script to the IF....THEN entry portion of TS script.

When this is added to the IF...THEN entry portion it will limit your entries per date to 1. There is a way to allow for more entries intraday with a small change.


We will put this on the to do list. Good idea.

admin - 16-7-2017 at 08:02 PM

Quote: Originally posted by moveo  
Since build 29.2 GSB uses other portions of training and test data than chosen in settings.
As example in screenshots,

GSB Will not take the trade on the first bar of data.
It takes trades when the first signal comes up.
You could save the system from 29 build and load on 30 build, and see where the first trade comes up.

emsjoflo - 17-7-2017 at 02:32 AM

I was backtesting with my own data (exported from Ninjatrader) on GSB version 29.2 it was working fine -- but when I try the same data on version 30.3, I get exceptions


System.AggregateException: One or more errors occurred. ---> System.ArithmeticException: Function does not accept floating point Not-a-Number values.
at System.Math.Sign(Double value)
at GSB.Rpn.RpnExpression.ZeroSafe(Double Value)
at GSB.Rpn.RpnExpression.Evaluate()
at GSB.Strategies.GsbStrategy.OnBarClose(Bar bar)
at GSB.Strategies.TsStrategy.Backtest()
at GSB.Optimizers.GeneticAlgorithm.BackTest(Single[] parameters, Int32 i, ParallelLoopState state, PerformanceSummary[] performances)
at GSB.Optimizers.GeneticAlgorithm.<>c__DisplayClass83_0.b__0(Int32 i, ParallelLoopState state)
at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.b__0(Object )
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.For(Int32 fromInclusive, Int32 toExclusive, Action`2 body)
at GSB.Optimizers.GeneticAlgorithm.OptimizeChromosomes(Chromosome[] chromosomes, Int32 index)
at GSB.Optimizers.GeneticAlgorithm.Optimize()
at GSB.Optimizers.Optimizer.Optimize(Boolean isResume)
at GSB.UI.Forms.MainForm.<>c__DisplayClass106_0.b__0()
---> (Inner Exception #0) System.ArithmeticException: Function does not accept floating point Not-a-Number values.
at System.Math.Sign(Double value)
at GSB.Rpn.RpnExpression.ZeroSafe(Double Value)
at GSB.Rpn.RpnExpression.Evaluate()
at GSB.Strategies.GsbStrategy.OnBarClose(Bar bar)
at GSB.Strategies.TsStrategy.Backtest()
at GSB.Optimizers.GeneticAlgorithm.BackTest(Single[] parameters, Int32 i, ParallelLoopState state, PerformanceSummary[] performances)
at GSB.Optimizers.GeneticAlgorithm.<>c__DisplayClass83_0.b__0(Int32 i, ParallelLoopState state)
at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.b__0(Object )<---

admin - 17-7-2017 at 02:41 AM

Quote: Originally posted by emsjoflo  
I was backtesting with my own data (exported from Ninjatrader) on GSB version 29.2 it was working fine -- but when I try the same data on version 30.3, I get exceptions
<---

Here is a possible explanation.
Does 30.2 continue building systems, but give an exception?
Is the speed about normal?
If so then one of the combinations of indicators gives this error, and its not related to the version number.

emsjoflo - 17-7-2017 at 03:25 AM

30.3 seemed to continue building systems after the exception -- albeit at a much slower rate -- like 100/min instead of 5-7k/min.
I'm wondering if it is because my data includes the night session

admin - 17-7-2017 at 03:27 AM

the slow speed means there are multiple exceptions. Night session is ok, but there must be issues with your data.
Might be an idea to not mix ts and ninja data

admin - 17-7-2017 at 06:34 AM

Quote: Originally posted by moveo  
GSB 30.3 is very RAM hungry during WFO .
Ram demand is continuously rising up until Windows shuts down GSB.
32 GB RAM is installed

This should be fixed in 30.5
Testing it now and hope to release it < 24hours.
It also has intraday drawdown metrics

admin - 17-7-2017 at 06:38 PM

Quote: Originally posted by moveo  
GSB 30.3 is very RAM hungry during WFO .
Ram demand is continuously rising up until Windows shuts down GSB.
32 GB RAM is installed


This is fixed in 30.5.
I had 15 min with about 6 data streams crash on 64 gb of ram.
Runs fine now.

 Pages:  1    3  ..  5