The problem is not with the code. You don't need external programs to optimize it. You don't need to run optimization wizard either - it can all be done within the EA itself.
Don't run to their forum either - that was discussed numerous times already (how can an MQL4 programmer not know of MQL4.com?

) but no solution was found.
The problem is not with optimization. You can run it manually.
The problem is with the result of the optimization. Or rather with data you use for it.
There are a couple of scenarios you need to optimize to get results:
1. Trending market - high volatility.
2. Ranging market - high volatility.
3. Trending market - low volatility.
4. Ranging market - low volatility.
5. No volatility.
How will you know what will be tomorrow? How will you identify which setting you should use or what period of the past should be used?
The problem is you need optimized settings for one of the scenarios. Not everyday optimization. Its the same as having no stop-loss. You'll be kicked out of the market sooner or later and become a member of 95% who lose.
Its the problem of not knowing what should you expect tomorrow. If you use settings for ranging market - low volatility, you'll end up with loss if tomorrow happens to be trending market - high volatility.
Besides if you optimize a period with different kinds of market conditions you'll end up either with a system that works no matter what the market brings or with a total loser. For scalpers its almost always the second.
Be careful if you are up to it. It would be wiser to find a way to determine market conditions for the near future and wait for a confirmation and then manually set all settings for a specific scenario rather then optimize ranging market with low volatility which lasted 2 last weeks together with trending market of the last week. In this case you'll have a system that is either optimized for ranging market or simply no profitable results.
I hope you get my point. If you have a goal, work for it and don't let anyone stand in your way.