Gamestudio Links
Zorro Links
Newest Posts
Data from CSV not parsed correctly
by EternallyCurious. 04/18/24 10:45
StartWeek not working as it should
by Zheka. 04/18/24 10:11
folder management functions
by VoroneTZ. 04/17/24 06:52
lookback setting performance issue
by 7th_zorro. 04/16/24 03:08
zorro 64bit command line support
by 7th_zorro. 04/15/24 09:36
Zorro FIX plugin - Experimental
by flink. 04/14/24 07:48
Zorro FIX plugin - Experimental
by flink. 04/14/24 07:46
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (AndrewAMD), 552 guests, and 1 spider.
Key: Admin, Global Mod, Mod
Newest Members
EternallyCurious, 11honza11, ccorrea, sakolin, rajesh7827
19046 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Something Wrong! #458029
02/13/16 11:19
02/13/16 11:19
Joined: Feb 2015
Posts: 652
Milano, Italy
M
MatPed Offline OP
User
MatPed  Offline OP
User
M

Joined: Feb 2015
Posts: 652
Milano, Italy
Hi,The same strategy tested with the following Assets:
#define ASSETLOOP "AUD/USD", "USD/CHF", "EUR/USD", "GBP/USD", "USD/CAD", "USD/JPY", "GER30", "NAS100", "SPX500", "UK100", "US30", "XAG/USD", "XAU/USD"

And

//#define ASSETLOOP "GER30", "NAS100", "SPX500", "UK100", "US30", "XAG/USD", "XAU/USD", "AUD/USD", "USD/CHF", "EUR/USD", "GBP/USD", "USD/CAD", "USD/JPY"

i.e same assets just different order, produces totally different values.
What is strange is that the number of WFO are different. I guess this should not be the case. Hope this helps

Thank You

Re: Something Wrong! [Re: MatPed] #458035
02/13/16 19:33
02/13/16 19:33
Joined: Jan 2016
Posts: 122
V
Veratyr Offline
Member
Veratyr  Offline
Member
V

Joined: Jan 2016
Posts: 122
This doesn't really help at all without seeing the strategy. It's a loop so it seems likely you've done something in your strategy such that a loop iteration affects subsequent iterations.

For example if your loop spends all your money on the iteration, you're going to end up with a 100% AUDUSD portfolio on the first asset list and 100% GER30 on the second.

Re: Something Wrong! [Re: Veratyr] #458040
02/13/16 23:18
02/13/16 23:18
Joined: Apr 2014
Posts: 482
Sydney, Australia
B
boatman Offline
Senior Member
boatman  Offline
Senior Member
B

Joined: Apr 2014
Posts: 482
Sydney, Australia
The order of the assets affects the set up of the price history bars. The first asset in the loop is used to create an array for the bars, therefore any gaps in the price history of the first asset are reflected in the price data for subsequent assets. This will affect WFO cycles and backtest results more generally.

This is documented in the manual (somewhere!) although it is not easy to find.

I always start my asset loops with EUR/USD as this is the most complete price history I have on file. This is enough to ensure consistent results between runs.

Another useful tool: set the GapDays parameter to 2 in the initial run of the script. This will then print a warning message if any data gaps are found in any of the assets' price histories. Although it doesn't fix the gaps, at least it makes you aware that they exist and you can account for them accordingly.

Hope that helps.

Re: Something Wrong! [Re: boatman] #458063
02/15/16 08:44
02/15/16 08:44
Joined: Feb 2015
Posts: 652
Milano, Italy
M
MatPed Offline OP
User
MatPed  Offline OP
User
M

Joined: Feb 2015
Posts: 652
Milano, Italy
No problem in posting the strategy but the issue is not related the profitability but the number of the wfo.
this is the main file. The only difference is the definition of ASSETLOOP:
#include <default.c>
#include <profile.c>
#include "Strategy\FatStrategy\definitions.c"
#include "Strategy\FatStrategy\miscFunc.c"
#include "Strategy\FatStrategy\myTmf.c"
#include "Strategy\FatStrategy\myAlgo.c"

function tradeFunc(); // empty function pointer

function run()
{
setFlag();

BarPeriod = 240;
LookBack = 600;

StartDate = 2010;
DataSplit = 90;
WFOPeriod = (6*5*19)*DataSplit/(100-DataSplit); // (numBarPerDay*numTradingDayPerAWeek*numWeek)

theSlider();

// portfolio loop
while(loop(ASSETLOOP))
while(tradeFunc = loop(ALGOLOOP))
{
asset(Loop1); // select asset
checkEquity();
tradeFunc(); // call the trade function
}

if (!Train) {
PlotWidth = 600;
PlotHeight1 = 300;
ColorUp = ColorDn = ColorWin = ColorLoss = 0; // don't plot candles and trades
set(TESTNOW+PLOTNOW);
}
// plot for test
if(Test) {
// plotMAEGraph (-15);
// plotTradeProfile (100);
}
}

If you need the other file. I will attache it later
Ciao

Re: Something Wrong! [Re: MatPed] #458079
02/16/16 01:27
02/16/16 01:27
Joined: Apr 2014
Posts: 482
Sydney, Australia
B
boatman Offline
Senior Member
boatman  Offline
Senior Member
B

Joined: Apr 2014
Posts: 482
Sydney, Australia
I stand by my response: if you look at the first asset in the loop, you will find that its length and gaps are reflected in all the subsequent assets in the loop. Use the asset with the most complete history as the first in the loop.


Moderated by  Petra 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1