<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forex Software — Where does the Express Generator start for each run?]]></title>
	<link rel="self" href="https://forexsb.com/forum/feed/atom/topic/9925/" />
	<updated>2025-03-23T07:44:12Z</updated>
	<generator>PunBB</generator>
	<id>https://forexsb.com/forum/topic/9925/where-does-the-express-generator-start-for-each-run/</id>
		<entry>
			<title type="html"><![CDATA[Re: Where does the Express Generator start for each run?]]></title>
			<link rel="alternate" href="https://forexsb.com/forum/post/82580/#p82580" />
			<content type="html"><![CDATA[<p>&gt; If it starts from the beginning each time, is there a way to tell where it stopped so that I can put in that date and start from there?</p><p>Express Generator generates new collections every time you run it by default.</p><p>We can also use it to validate previously generated collections. We do it by setting the <strong>--input</strong> parameter.</p><div class="codebox"><pre><code> node .\bin\gen.js --server Eightcap --symbol EURUSD --period M30 --input my-generated-collection.json</code></pre></div><p>(Provided that we have a collection named &quot;my-generated-collection.json&quot; )</p><p>The principle is the same — Express Generator will use the complete data set for the calculation, with the limitation we provide, as I mentioned in my previous post.</p><p><strong>Forward Testing</strong></p><div class="codebox"><pre><code>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Forward testing          ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Validate strategies on new unseen data.

use_forward_testing = false
preload_data_bars   = 0</code></pre></div><p>We can set the Generator to calculate Backtest statistics only on the new data with these parameters.<br />It will work only if the loaded collection was tested with an Out-of-sample or with data limited by other means.</p><p>Let&#039;s have a collection generated on data ending on 31st December 2024. We can set the backtest calculating only on the new data (since January 1st 2025).</p><div class="codebox"><pre><code>PS C:\express-generator&gt; node .\bin\gen.js --server Eightcap --symbol EURUSD --period M30 `
&gt;&gt; --input my-generated-collection.json --use-forward-testing true --preload-data-bars 1000</code></pre></div><p>The <strong> --preload-data-bars 1000</strong> sets the Generator to load 1000 bars more. The trades will still start from the time the calculation was calculated.</p><p>Let&#039;s recap:</p><p>The Generator will use the complete data set when you validate an already generated collection.</p><p>You can set it to calculate on the new (unseen or Out-of-sample) data in two ways:</p><p><strong> 1) Limit the data start:</strong></p><div class="codebox"><pre><code>PS C:\express-generator&gt; node .\bin\gen.js --server Eightcap --symbol EURUSD --period M30 `
&gt;&gt; --input my-generated-collection.json `
&gt;&gt; --use-data-start true --data-start &quot;2025-01-01 00:00 UTC&quot;</code></pre></div><p><span class="postimg"><img src="https://image-holder.forexsb.com/store/ex-gen-data-start-back-tick-1.png" alt="https://image-holder.forexsb.com/store/ex-gen-data-start-back-tick-1.png" /></span></p><p><strong>2) Forward testing </strong></p><div class="codebox"><pre><code>PS C:\express-generator&gt; node .\bin\gen.js --server Eightcap --symbol EURUSD --period M30 `
&gt;&gt; --input my-generated-collection.json --use-forward-testing true --preload-data-bars 1000</code></pre></div><p>The Generator will load data 1000 bars earlier than the time the original strategy was generated and will perform trading only on thenew data.</p>]]></content>
			<author>
				<name><![CDATA[Popov]]></name>
				<uri>https://forexsb.com/forum/user/2/</uri>
			</author>
			<updated>2025-03-23T07:44:12Z</updated>
			<id>https://forexsb.com/forum/post/82580/#p82580</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Where does the Express Generator start for each run?]]></title>
			<link rel="alternate" href="https://forexsb.com/forum/post/82579/#p82579" />
			<content type="html"><![CDATA[<p>Express Generator calculates the backtest on all of the provided data by default.</p><p>We have several means to control the data set.</p><p><strong>1) Limit the count of the data bars:</strong></p><p>We can do it when fetching the data or when running the Generator.</p><div class="codebox"><pre><code>&gt; node .\bin\fetch.js --server Eightcap --symbol EURUSD --period M30 --max-data-bars 100000

         ..:: Express Generator Fetch v2.65 ::..

Fetched: Eightcap EURUSD M30, From: 2017-03-08 00:00, To: 2025-03-21 22:30, Bars: 100000


&gt; node .\bin\gen.js --server Eightcap --symbol EURUSD --period M30</code></pre></div><p>We see that the Generator uses the complete data set.</p><p><span class="postimg"><img src="https://image-holder.forexsb.com/store/ex-gen-run-eightcap-100000-bars.png" alt="https://image-holder.forexsb.com/store/ex-gen-run-eightcap-100000-bars.png" /></span></p><br /><p>We obtained the same result by downloading the complete data set and limiting the data bars when running the generator.</p><br /><div class="codebox"><pre><code>&gt; node .\bin\fetch.js --server Eightcap --symbol EURUSD --period M30

         ..:: Express Generator Fetch v2.65 ::..

Fetched: Eightcap EURUSD M30, From: 2009-02-04 17:00, To: 2025-03-21 22:30, Bars: 200000

Data fetch ready!

&gt; node .\bin\gen.js --server Eightcap --symbol EURUSD --period M30 --max-data-bars 100000</code></pre></div><br /><p><strong>2) Limit the data&#039;s start and end dates.</strong></p><p>We have four parameters to control the start and end dates of the data set. The </p><div class="codebox"><pre><code>use_data_start  = false
data_start      = &quot;01 Jan 2020 00:00 UTC&quot;

use_data_end    = false
data_end        = &quot;30 Jun 2023 00:00 UTC&quot;</code></pre></div><p>We enable the corresponding limitation and set the desired date and time.</p><p>Usually, we limit the &quot;data end&quot; and use the count of bars limitation.</p><p><span class="postimg"><img src="https://image-holder.forexsb.com/store/ex-gen-data-end-max-bars-back-tick.png" alt="https://image-holder.forexsb.com/store/ex-gen-data-end-max-bars-back-tick.png" /></span></p><p>( I&#039;m using &quot;backtick `&quot;&nbsp; and shift+enter to make a new line)</p><p>We see that the Generator loads 100,000 bars ending at 2024-12-31 23:00.</p><br /><p>We can also make it by setting the count of days for the data end. This is useful because we can have it in a settings file, which will work with the time.</p><div class="codebox"><pre><code>PS C:\express-generator&gt; node .\bin\gen.js --server Eightcap --symbol EURUSD --period M30 `
&gt;&gt; --use-data-end true --data-end -90 --max-data-bars 100000</code></pre></div><p><strong>--use-data-end true --data-end -90</strong> - it sets the Generator to load data up to 90 days back from the current time.</p><br /><p><strong>3) Out of sample</strong></p><p>We have a convenient way to cut part of the data.</p><div class="codebox"><pre><code>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Out of sample            ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Use these parameters to set the data range.
; The program cuts data after applying Data Horizon.

data_start_percent = 0
data_end_percent   = 100</code></pre></div><p>The out-of-sample parameters are applied after the data-sart, data-end, and max-bars limitations.</p><p>Here is how to have the oldest 80% of the data</p><div class="codebox"><pre><code>PS C:\express-generator&gt; node .\bin\gen.js --server Eightcap --symbol EURUSD --period M30 `
&gt;&gt; --data-start-percent 0 --data-end-percent 80

                        ..:: Express Generator v2.65 ::..


    Market : Eightcap EURUSD M30
    From   : 2017-03-08 00:00, To: 2023-08-11 06:30, Bars: 80000
    Spread : 20, Swap long: -7.44, Swap short: 2.9, Commission: 6 USD
    Account: 10000 USD, Leverage: 100, Entry: 0.01 lots</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Popov]]></name>
				<uri>https://forexsb.com/forum/user/2/</uri>
			</author>
			<updated>2025-03-23T07:20:00Z</updated>
			<id>https://forexsb.com/forum/post/82579/#p82579</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Where does the Express Generator start for each run?]]></title>
			<link rel="alternate" href="https://forexsb.com/forum/post/82578/#p82578" />
			<content type="html"><![CDATA[<p>Ele comeca sempre do início a única hora que ele randomiza e quando monte Carlo é ligado</p>]]></content>
			<author>
				<name><![CDATA[gabdecsters]]></name>
				<uri>https://forexsb.com/forum/user/14801/</uri>
			</author>
			<updated>2025-03-23T07:09:44Z</updated>
			<id>https://forexsb.com/forum/post/82578/#p82578</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Where does the Express Generator start for each run?]]></title>
			<link rel="alternate" href="https://forexsb.com/forum/post/82569/#p82569" />
			<content type="html"><![CDATA[<p>Hello,</p><p>If I have, let&#039;s say, 10 years worth of history data for a symbol and I run the express generator.&nbsp; </p><p>But for whatever reason I need to stop it before it gets through all 10 years.</p><p>And I run it again with the exact same parameters and same history data, will the Express Generator pick up where it left off or start from the beginning?</p><p>Does the EG start from the beginning of the data set every run, randomize where it starts or pick up from where it left off?</p><p>If it starts from the beginning each time, is there a way to tell where it stopped so that I can put in that date and start from there?</p><p>Thank you</p>]]></content>
			<author>
				<name><![CDATA[scoast3]]></name>
				<uri>https://forexsb.com/forum/user/16633/</uri>
			</author>
			<updated>2025-03-20T12:06:25Z</updated>
			<id>https://forexsb.com/forum/post/82569/#p82569</id>
		</entry>
</feed>
