Weekly batch on Amibroker 7

Hi,

I'm sorry to ask a simple question. I've just updated my Amibroker from version 6.x to 7.0.1 yesterday. I found my daily batches are all changed to hourly by default. That's ok, as I can still modify it back to daily. However, for some weekly batches which to supposed to run only on Sat/Sun, are now running disregard the week day now.

I notice the interface has been updated. Previously we can select from Daily with checkbox on week day to run the batches.

While there is no such option to select now, the options are moved to "Every:". But I don't want to run every few minutes. There is also no way to specify minutes of the hour, except 00.

Sorry to ask if it is a stupid question, but I couldn't find a simple way to schedule a weekly job to run at certain time now. See if anyone could shed some lights on it. Thanks.

Best regards,
Henry

Please do read release notes / change log. It explains that these settings apply to ANY repeat interval, not just minute or daily.

So your batch should run on Saturday, as before.

Observe scheduler list. It shows precisely the NEXT date it will run.

Hi Thomasz,

Thanks for your reply. Not sure if it's my config issue or due to my upgrade. I specified Sat only, but I notice the next run is today Tue. Could you please advise if anything is incorrect with my setting?

If you want to run it on Saturday the start date that you set should be Saturday too (29/12 is NOT Saturday)

Hi Tomasz, I set the start date to 27 Dec 2025 (Sat), but the next run is still today (Wed). Could you please advise again? Thanks.

Next run is stored already once task was created. You would need to recreate this task (create new task) and set start date to Saturday.

An alternative workflow for those running batch jobs (especially those who have it as part of a workflow) is to use command line with /runbatch

eg:

"C:\Program Files\AmiBroker\Broker.exe" /runbatch "C:\Path\To\Your\BatchFile.abb" 

You might walso want to add in the /database to go straight to the database you desire.

"C:\Program Files\AmiBroker\Broker.exe" 
/database "C:\Path\To\Your\Database" /runbatch "C:\Path\To\Your\BatchFile.abb" 

And to exit after the batch is run, add /exit

"C:\Program Files\AmiBroker\Broker.exe" 
/database "C:\Path\To\Your\Database" /runbatch "C:\Path\To\Your\BatchFile.abb" /exit 

These give you the flexibility to use a scheduler outside of AmiBroker, as long as you need a fresh instance of AmiBroker to start - which is typical of many workflows.

Best regards,
Richard Dale
Chief Information Officer / Managing Director
Norgate Data

Hi Tomasz, I just recreated the task, set to today Wed as the start date. However, next run is still tmr Thu. Even we can see that the repeat is specified as only Sat.

Let me show you how it works ON MY END. I add a task with start date today (FRIDAY) and Repeat DAILY and only on SATURDAY, and it correctly calculates next run for Saturday January 3, 2026:

Animation

I followed the same steps, the batch are still not scheduled as expected. Is it due to upgrade version instead of release version?
output5

Hi Tomasz, any advise? Thanks

@Tomasz I think you should repeat your test today. In your previous message, you ran your test on a Friday, and the batch was correctly scheduled for Saturday (the next day). However, when I try the test today (Monday), the Scheduler window shows Repeat “Only Sat” but the next run date is tomorrow (Tuesday).

Looks like there is no solution for it. I'll downgrade my Amibroker back to version 6.

I rechecked it and yes, I can confirm that when you select "Daily" it schedules on next day so when today is Wednesday it will schedule for Thursday.

I will look into the code and fix it in next update.

For now the solution is very simple: set batch start date to SATURDAY using date-time picker

Select Repeat: "Run once only".

You can also try this: Once task is created with correct first date, enter it again and change Repeat to Daily.

If that won't work, you can create another "Once only" task.

Thanks Tomasz. Will use the workaround.

The work-around works for next run once only.