Gamestudio Links
Zorro Links
Newest Posts
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
Help with plotting multiple ZigZag
by degenerate_762. 04/30/24 23:23
M1 Oversampling
by 11honza11. 04/30/24 08:16
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
3 registered members (AndrewAMD, Aku_Aku, ozgur), 1,095 guests, and 0 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Active Threads | Active Posts | Unanswered Today | Since Yesterday | This Week
Starting with Zorro
05/07/24 00:56
This way, the column in the asset list takes a different meaning when the value is positive.

Now, in the context of the script, the multiplier is actually positive. laugh
3 169 Read More
Starting with Zorro
05/06/24 21:09
Can you explain why the multiplier is negative for futures.
3 169 Read More
Starting with Zorro
05/06/24 20:33
For the first question, I'd check out Robert Carver's book Systematic Trading, which goes into great detail on volatility / risk / reward management, maybe more detail than you'd expect from an average trading book.

Pip will be the smallest increment of the price you would see on the ticker feed. The configuration of PipCost depends on 1) your pip configuration and 2) whether you're using T8 (Contracts) or T6 (vanilla bars) for backtesting. The former makes use of the Multiplier value, and the latter is rather multiplied into PipCost.
3 169 Read More
Zorro Scripts
05/06/24 18:50
I've observed that when converting CSV data to T6 format, the datetime parameter appears as a decimal value. The integer part before the dot represents the number of days since January 1, 1900. The fractional part after the dot represents the time of the day in decimal format. For example, 45000.5 corresponds to 45,000 days after January 1, 1900, at 12 noon.

And keep in mind for t1, stand for time plus one data point, which is either ask or bid price, you don't have three field to populate.
Ask and bid prices are represented by positive / negative values. Check the manual for details: https://zorro-project.com/manual/en/history.htm

typedef struct T1
{
DATE time; // UTC timestamp of the tick in DATE format
float fPrice; // price data, positive for ask and negative for bid
} T1;
5 449 Read More
Starting with Zorro
05/06/24 18:34
I'm planning to trade two algorithms, one for SPX500 and the other for US Treasury 10-Year Bonds. Given their distinct risk profiles, such as varying Sharpe Ratios, I'm looking for guidance on how to approach this effectively. What strategies or methodologies should I consider to balance the risk and optimize performance across both instruments?

Additionally, I'm unsure about setting the asset variables, particularly Pip and PipCost, for futures. Any insights or best practices in this regard would be greatly appreciated. Thanks in advance!
3 169 Read More
Starting with Zorro
05/06/24 18:24
You are looping for two instruments, there is no reference to any of your trades. Please have a look at : https://zorro-project.com/manual/en/fortrades.htm, eg. for(current_trades)
2 150 Read More
Starting with Zorro
05/06/24 12:10
Your code is wrong. You need to explicitly select trades to get their info. Try trade loops or TMFs.
2 150 Read More
Starting with Zorro
05/06/24 09:28
I am running a portfolio of 2 assets with the same strategy. For each assets, I need to know whether the asset is in Long or Short position with the function TradeIsLong and TradeIsShort.

However, I noticed that when changing position, Zorro will also change the other asset parameter as well. For example, if both Asset A and Asset B are long, and Asset A changes to Short, Zorro will also change the parameter of Asset B to short, even though Asset B remains Long.

Here is the script that has this error, with Corn (ZC) and Natural Gas (NG) as the assets:

Code
while(asset(loop("ZC","NG")))
{
   //... other code here

   if(TradeIsLong)
	{
	  printf("#Trade is Long.");
	}
   else if(TradeIsShort)
	{
	  printf("#Trade is Short.");
	}
}


Log message that show the unintended error, where NG changed to Long even though it doesn't switch position or have any trades:

Code
[1664: Tue 91-07-30 15:40] 1117542 +682 250/383 (6.55750) 
Asset: ZC
[ZC::S65017] Cover 1@6.55750: -1538 at 15:40:00 Tue
[ZC::L66417] Long 1@6.55750  at 15:40:00 Tue
Trade is Short.
Asset: NG
Trade is Short.

[1665: Wed 91-07-31 15:40] 1115115 -208 250/384 (6.60250)
Asset: ZC
[ZC::L66517] Long 1@6.60250  at 15:40:00 Wed
Trade is Long.
Asset: NG
Trade is Long.
2 150 Read More
Zorro and the Brokers
05/03/24 15:20
In the context of Hedge mode = 6, tradeUpdatePool() will enter and exit positions.

I would like a special flag that causes tradeUpdatePool() to only close positions.

Obvious use case:
1) Hedge mode is 6.
2) Have hundreds of positions open, and margin is maxed out.
3) Need to change portfolio. Call enterLong and exitLong for multiple algos and assets. (Pool trades are not affected yet.)
4) Reduce positions in order to free up margin by calling modified tradeUpdatePool().
5) Wait for margin to free up.
6) Call tradeUpdatePool() again, but this time to open positions.
0 310 Read More
Automated Trading
05/02/24 09:40
Hello everyone.

I have used Zorro while learning programming and basic statistics in the past. Overall, Zorro project with its manual had been a great source for not just learning, but also practising and tinkering. I developed many individual scripts and DLLs with it. Over time I realised I needed a more structured approach. I ended up creating a C++ DLL framework, supplemented with a Python subsystem as a single module, and some git hooks. I licensed it with LGPL3, which enables it to be used in commercial projects. Please feel free to check it out, and do whatever you like with it:

https://gitlab.com/firatv/zdf

I humbly ask for any feedback you might have in mind. Its invaluable to me. Thank you all for your time, and most of all, thanks to OP Group for all their efforts.
0 337 Read More
Zorro Scripts
04/30/24 23:23
multiple timeframes? Not sure about that. typically use: ZigZag(Data, [MaxVal(Data, 1440) - MinVal(Data, 1440)] x factor, 5, BLUE). where factor = {0.318, 0.618, 1.618}. Plot them separately; you should get multiple ZigZag of different scales.
5 1,056 Read More
Starting with Zorro
04/30/24 08:16
You're right, it makes more sense now. Thanks.
4 429 Read More
Showcase
04/29/24 19:13
Looking good, though I will never understand why 3DGS is so often selected for bible games lmao
5 780 Read More
Third Party Tools
04/29/24 02:20
OK,folks,

Here is a service update for PCXanim.
I struggeld many desperate hours to remove the black border bug which appears in the animations top after a 90 dergree rotation. Seen in the seamless display so very annoying.
Now gone.

Please download the v1.8 updated version from April 2024 from here (fully working package with some new bonus animations)

Download PCXanim service update version 1.8 full

Best whishes !

Neodumont
47 30,733 Read More
Educational
04/28/24 09:55
Yeah, I think (as I've experienced myself) that you should stick to one thing, especially in the beginning. Here it's best to choose something you're already familiar with. Meaning Algo-Trading if you're already able to program, longer term investing if you have experience in Accounting and Management of bigger companies, etc. Interestingly I noticed two things as I progressed.

Firstly you'll understand how others (who haven't choosen your path) trade. At some point I realized, how many long-term profitable discretionary Traders trade and why it works. But as this isn't my path it's just a fun thing to know, that you can maybe exploit later on.

Secondly, especially in the later stages (when you really know what you're doing) it seems to me, that it is actually better to look in other directions. Those directions don't have to do something with trading directly, as long as you can somehow project your learnings onto trading. There are dozens of examples of this in the trading world like Ehlers applying Digital Signal Processing and FM/AM Processing onto Prices to catch cycles.

Good knowledge in other fields will probably help you to get more profitable, but only if you've already advanced sufficiently in your path. And you should never leave your path and always come back to apply what you've learned to your path.

But that's just my experience and everyone's approach to trading is (and should be) different.


To the question above:
When I'm building strategies I'm following a plan, that seems to work quite well for me. (As I've noticed it is quite similar to JCL's Plan, definitely check it out). Meaning that I'll search for Filters (one to two at max) to apply to my signal. Sometimes I use ones I already found/developed, sometimes I develope/search for new ones. Since every strategy you trade should be different not every filter will fit every strategy. I'm not struggling with finding a particular filter but sometimes it is just a bit difficult to find ones that are fitting.

But in my experience you get better at finding them with time (just as with signals) and if you don't find a fitting one, that may mean that you're idea is just not working. Document the idea and move on.
3 292 Read More
Starting with Zorro
04/27/24 13:50
"I believe there was a misunderstanding. The Claude3-Sonnet is hosted yet remains free of charge. However, it is not an open-source model. I was considering the possibility of integrating the entire manual into a custom GPT, but I wanted to consult with you first on how you managed to do it. Actually, I began exploring this concept several months ago and even developed a fine-tuned version of GPT-3.5 by converting the manual into question-answer pairs for the training dataset. It appears that this dataset was likely too small, leading me to abandon the fine-tuning process. It seems that retrieval-augmented generation might be the better approach.

well, now I believe you, and I have started making some changes.
27 3,283 Read More
Educational
04/27/24 04:42
There are so many possible choices in this field, but I don't think the actual edge difference between them is significant.
I think it's better to stick with one thing you've chosen and push it consistently and to the end, no matter what anyone around you says.
It may seem like everyone else and I have similar conditions, but we actually have different conditions to do well and different preferences.
I don't know about anything else, but I do know this. That I shouldn't get lost.
3 292 Read More
Educational
04/26/24 20:22
Hi howardR,

Thanks for your post. I myself are about the half of your road laugh
Actually struggling to dive deeper into programming with Zorro. Still a lot to learn.
I downloaded Zorro the first time back in 2016, but never used it for a loooong period of time.
Since a little more than a year i am forcing myself now to learn Zorro. Wish i would have done learning immediately after first download.
Wasted a lot of time with the same things like you did.
May i ask what kind of filter you are looking for?
3 292 Read More
Zorro Scripts
04/26/24 20:03
Hi @all again,
Sorry for the above, meanwhile figured out a few things.
But currently i am again at ZIGZAG indicator. Would like to use it in mutliple Timeframes.
For example one in 1 hour and the other in 4 hour. Is this possible now?
By the way, am still using Zorro version 2.40.
Any hints and tricks are welcome,
Thanks in advance ...
5 1,056 Read More
Zorro Scripts
04/26/24 11:18
The time and all other variables are zero. So the first step is debugging the conversion and checking the content of the dataset. Debugging is explained in the manual under "troubleshooting".

If you still cannot find the reason and want individual support, you could either subscribe a premium support ticket, or simply hire a programmer to write the conversion script for you. The current fee for a CSV -> t1 conversion, as to my knowledge, is 120 EUR.
5 449 Read More
Starting with Zorro
04/26/24 11:12
It depends on your strategy if per cycle oversamping makes sense. For instance, when your strategy trades at fixed times, all cycles will obviously have the same trades and you need no oversampling.
4 429 Read More
Starting with Zorro
04/26/24 11:09
The new version supports more cores. But yes, they are for WFO only.
2 250 Read More
Morbius' Virtual Answering Machine
04/26/24 11:08
Meine neue Autorenseite: https://books.lotter.org/
0 53 Read More
Starting with Zorro
04/26/24 08:55
Hi, correct me if I am wrong, but multiple cores are used mainly for WFO. If you don't use WFO, by default training will run on one core. I didn't try running 2 instances with different optimizations, but of course, each instance will utilize new core.You can also utilize more cores using techniques described in Zorro processes.
2 250 Read More
Starting with Zorro
04/26/24 08:32
Hi Petra,

Thank you for answer. Can you please elaborate how time offset makes different price curves needed for oversampling? I made a quick test and it seems it does not. It only runs _n_ cycles with time offset as you mentioned, and according to docs SampleOffset is used for a histogram of the performance dependent on start time, rather than generating slightly different price curves.

I'm sorry if I wasn't clear in the original question, but I try to achieve this:
Oversampling the bars is a method to run multiple test cycles on slightly different price curves that are derived from the original curve and contain the same inefficiencies. This produces more trades, generates more realistic backtests, and allows to evaluate the effect of price curve randomness on the system performance.
4 429 Read More
Page 1 of 3 1 2 3

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