Gamestudio Links
Zorro Links
Newest Posts
New Zorro version 2.64
by AndrewAMD. 02/15/25 15:35
Zorro Trader GPT
by TipmyPip. 02/14/25 19:42
Smaller Windows version
by Nicole. 02/08/25 14:51
Command Help in notepad++
by pr0logic. 02/07/25 18:19
How to export list of current open trades?
by vicknick. 02/07/25 17:22
Initial RithmicZorroPlugin Release.
by kzhao. 02/05/25 03:30
AUM Magazine
Latest Screens
Stug 3 Stormartillery
Iljuschin 2
Galactic Strike X
Zeal-X2
Who's Online Now
5 registered members (AndrewAMD, TipmyPip, Ayumi, OptimusPrime, 1 invisible), 475 guests, and 4 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Nicole, Columboss, quantenesis, YanniD, Dani
19108 Registered Users
Active Threads | Active Posts | Unanswered Today | Since Yesterday | This Week
Zorro Future
26 minutes ago
Originally Posted by Grant
Isn't the ZorroMT64.dll already 64-bit?
(only supports MT5, I know)
Oh, I didn’t even look. In that case, that problem is solved too.
11 447 Read More
Starting with Zorro
Yesterday at 19:42
Converting a list of files with high volume, to *.t6 files:

Code
#define NUM_PAIRS 28    // Number of currency pairs
#define NUM_TIMEFRAMES 2  // Number of timeframes to process

// Arrays to store the currency pairs and timeframes
string Pairs[NUM_PAIRS];
string Timeframes[NUM_TIMEFRAMES];

/*
 * Format string for parsing CSV data.
 * The '+' indicates the CSV file has a header line to skip.
 * %Y - Year (4 digits)
 * %m - Month (2 digits)
 * %d - Day (2 digits)
 * %H - Hour (2 digits, 24-hour format)
 * %M - Minute (2 digits)
 * %f3 - Open price (floating point with 3 decimals)
 * %f1 - High price (floating point with 1 decimal)
 * %f2 - Low price (floating point with 2 decimals)
 * %f4 - Close price (floating point with 4 decimals)
 * %f6 - Volume (floating point with 6 decimals)
 *
 * This must match the structure of your CSV files.
 */
string Format = "+%Y.%m.%d,%H:%M,%f3,%f1,%f2,%f4,%f6";

// Function to initialize currency pairs and timeframes
// Modify this to include/remove pairs or adjust timeframes as needed.
function initializePairsAndTimeframes() {
	// Currency pairs
	Pairs[0] = "EURUSD";
	Pairs[1] = "GBPUSD";
	Pairs[2] = "USDJPY";
	Pairs[3] = "USDCHF";
	Pairs[4] = "USDCAD";
	Pairs[5] = "AUDUSD";
	Pairs[6] = "NZDUSD";
	Pairs[7] = "EURGBP";
	Pairs[8] = "EURJPY";
	Pairs[9] = "EURCHF";
	Pairs[10] = "GBPJPY";
	Pairs[11] = "GBPCHF";
	Pairs[12] = "AUDJPY";
	Pairs[13] = "AUDCHF";
	Pairs[14] = "NZDCAD";
	Pairs[15] = "NZDJPY";
	Pairs[16] = "NZDCHF";
	Pairs[17] = "CADJPY";
	Pairs[18] = "CADCHF";
	Pairs[19] = "CHFJPY";
	Pairs[20] = "EURAUD";
	Pairs[21] = "EURNZD";
	Pairs[22] = "EURCAD";
	Pairs[23] = "GBPAUD";
	Pairs[24] = "GBPNZD";
	Pairs[25] = "GBPCAD";
	Pairs[26] = "AUDNZD";
	Pairs[27] = 0;  // End marker

	// Timeframes in minutes (e.g., 60 = 1 hour, 240 = 4 hours)
	Timeframes[0] = "60";
	Timeframes[1] = "240";
}

/*
 * Function to convert a CSV file to a .t6 file.
 * This version splits the CSV data by year and saves each year as a separate .t6 file.
 *
 * Parameters:
 * InName - The path and name of the input CSV file.
 * Pair - The currency pair string to include in the output filename.
 *
 * Outputs:
 * Files are saved as {CurrencyPair}_{Year}.t6, e.g., EURAUD_2025.t6
 */
function ConvertCSV(string InName, string Pair) {
	int Records = dataParse(1, Format, InName);  // Parse the CSV with the defined format
	printf("\n%d lines read from %s", Records, InName);  // Print the number of records read

	if(Records) {
		int i, Start = 0, Year, LastYear = 0;
		for(i = 0; i < Records; i++) {
			Year = ymd(dataVar(1, i, 0)) / 10000;  // Extract the year from the date
			if(!LastYear) LastYear = Year;  // Set the first encountered year

			// Handle the last record
			if(i == Records - 1) { 
				LastYear = Year; 
				Year = 0; 
				i++;
			}

			// When the year changes, save the data segment to a new .t6 file
			if(Year != LastYear) { 
				// Construct the output file name as {Pair}_{Year}.t6
				string OutName = strf("C:\\Users\\**username**\\Zorro\\History\\%s_%4i.t6", Pair, LastYear);
				printf("\nSaving file: %s", OutName);        
				dataSave(1, OutName, Start, i - Start);  // Save the data segment to .t6
				Start = i;  // Update the start index for the next segment
				LastYear = Year;  // Update the current year
			}
		}
	}
}

/*
 * Main function:
 * Loops through all specified currency pairs and timeframes,
 * checks for CSV files in the specified directory, and converts them to .t6 files.
 */
function main() {
	initializePairsAndTimeframes();  // Initialize pairs and timeframes
	int p, t;  // Loop counters for pairs and timeframes

	// Loop through each currency pair
	for(p = 0; Pairs[p]; p++) {
		// Loop through each timeframe
		for(t = 0; t < NUM_TIMEFRAMES; t++) {
			// Construct the CSV file path dynamically
			// Path: C:\Users\**username**\Zorro\History\{CurrencyPair}{Timeframe}.csv
			string FileName = strf("C:\\Users\\**user//name**\\Zorro\\History\\%s%s.csv", Pairs[p], Timeframes[t]);
			printf("\nChecking file: %s", FileName);  // Log the file being checked

			if(file_length(FileName)) {  // Check if the file exists
				printf("\nConverting %s...", FileName);  // Log the conversion process
				ConvertCSV(FileName, Pairs[p]);  // Call the conversion function with the pair name
			} else {
				printf("\nFile not found: %s", FileName);  // Log missing files
			}
		}
	}
	quit("Conversion done!");  // Exit the script when all files are processed
}
81 12,422 Read More
Starting with Gamestudio
02/13/25 05:42
4 97 Read More
Starting with Zorro
02/08/25 14:51
Hey guys,
Has anyone successfully run Zorro inside a Windows Docker container?

If so, what what Windows version and what broker plugin worked for you?

Thank you!
0 114 Read More
Starting with Zorro
02/07/25 18:19
Hi there
I just saw onI have just seen in a youtube video of jcl that in notepad++ command help (see screenshot), where the Zorro functions are explained, can be added as a window. Does anyone know how this is done?
Thank you for your valuable help
0 100 Read More
Starting with Zorro
02/07/25 17:22
For live trading, Zorro will show the current open trades and its status in the html file.

Is there a way to automatically export this list to a csv file, for every bar? I would like to record the current trade status for each bar.

Also, the manual says that the pnl file records the equity or balance, but when I open my pnl file, it shows the Profit & Loss for the session (starting from 0)?
0 103 Read More
Zorro and the Brokers
02/07/25 15:29
I set the DIAG flag but I don't see any errors.
1 125 Read More
Zorro and the Brokers
02/05/25 03:30
hmm, that's said. Algo trading is more popular now. Might be a time to consider different brokers like AMP etc.

In terms of the plugin, if you have a Rithmic account in their test environment, you should be able to test your strategy in the test environment.
4 365 Read More
Starting with Zorro
02/01/25 18:04
Up to a certain level, you can.

https://zorro-project.com/manual/en/engine.htm
3 385 Read More
Starting with Zorro
01/31/25 07:52
Yes, you’re right! I tried several formats, and that was probably my last attempt, which is why the variable was still in there. :-)

I also added a new script here to read out the format again:

Code
function run()  
{  
    set(PLOTNOW);  
    StartDate = 2020;  
    EndDate = 2020;     // nur ein Jahr  
    BarPeriod = 1;      // M1  
    LookBack = 1;       // minimaler lookback  
    
    asset("my_XAUUSD");  
    
    // Chart Einstellung  
    PlotScale = 0.5;    
    
    static int FirstLine = 1;  
    if(FirstLine) {  
        // Debug output of the first line  
        printf("\nDate: %04d-%02d-%02d Time: %02d:%02d",   
            year(), month(), day(), hour(), minute());  
        printf("\nXAUUSD - Open: %.3f High: %.3f Low: %.3f Close: %.3f Volume: %.0f",  
            priceOpen(), priceHigh(), priceLow(), priceClose(), marketVol());  
        
        FirstLine = 0;  
    }  
    plot("Price", priceClose(), NEW, BLUE);  
    plot("Volume", marketVol(), NEW|BARS, GREY);  
}  


Everything is displayed perfectly. The chart correctly shows the M1 data, and the second plot is also displayed correctly.

HTML
XAUUSD - Open: 1097.105 High: 1097.529 Low: 1097.009 Close: 1097.009 Volume: 0  
Test: ChartShowImported_New my_XAUUSD 2010..2020  

Chart...  

ChartShowImported_New compiling............  
Date: 2020-01-01 Time: 22:00  
Error 063: marketVol requires Zorro S  
XAUUSD - Open: 1518.305 High: 1518.755 Low: 1518.008 Close: 1518.715 Volume: 0  
Test: ChartShowImported_New my_XAUUSD 2020 

Chart...   


The other person was right—it really is because I’m still using the demo version!
Error 063: marketVol requires Zorro S smile

But hey, no big deal! Thanks a lot for taking the time to look into this request.
4 198 Read More
Starting with Gamestudio
01/31/25 07:21
the most easy way

Code
while (1)
{
	if (key_a && key_ctrl)
	{ 
		vec_set(sky_color,vector(50,50,50)); //set grey color if ctrl+a is pressed
	}
	else
	{  
		vec_set(sky_color,vector(50,1,1)); //else set blue color
	}
	wait(1);
}
1 136 Read More
Starting with Gamestudio
01/30/25 16:09
Well... At my side nothing.
Thank you for the feedback.
2 274 Read More
Jobs Wanted
01/30/25 10:44
93 35,891 Read More
Starting with Gamestudio
01/27/25 13:49
Message from 3dgs discord (https://discord.gg/hEDAZjft)

Quote
According to a Zorro forum announcement, the online retailer they were using weren't paying their clients bills and as a matter of fact are going bankrupt.
You now have to order A8 via email.
https://opserver.de/ubb7/ubbthreads.php?ubb=showflat&Number=488413#Post488413


at https://3dgamestudio.net/english/gstudio/order8.php you can find

Quote
Order by email to sales(at)opgroup.de


to update version you need to have A7 key7*.dta file
1 159 Read More
A8 Engine
01/24/25 20:31
sure u need blender and the addon (better fbx importer/exporter )
https://blendermarket.com/products/better-fbx-importer--exporter
Acknex supports only the fbx 2010 files, notice + acknex supports limited weight animations!
have fun
1 157 Read More
Editors & Templates
01/23/25 16:06
Hello everyone,

Lightmap and File Format Comparison in Acknex A8 – Advice Needed

Content:
Hello everyone,

I’m currently working on an indoor block-based level in Blender for the Acknex A8 engine. Since dynamic lights in A8 are limited to 8 light sources per model, I’m considering different methods for handling shadows and lighting while balancing performance.

Here are the three options I’m evaluating:

MDL file with baked textures (shadows and lighting fully baked in Blender).
OBJ file as concave geometry with static lights (no shadowmap).
FBX 2010 as concave geometry with static lights but using a shadowmap.

I’m also using PSSM shadows, but since this is a closed indoor level, I currently don’t get proper indoor shadows unless I go with method 1 or 3. However, I’m concerned that these might negatively impact performance.

My key questions are:

Which method offers the best balance between visual quality and performance in A8?
Is there a significant performance difference between baked lighting (MDL) and static lights with a shadowmap (FBX)?
Are there any known limitations or best practices when using OBJ or FBX for concave geometry in A8?

I’d really appreciate hearing your experiences or advice on this topic!

Best regards,
Henrik

[Linked Image]

[Linked Image]
0 154 Read More
Showcase
01/21/25 10:09
Congratulations! It looks fantastic!
2 3,558 Read More

Gamestudio download | 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