How to fix it?
You should not be getting info about the account in OnInit as it may not be loaded yet.
OnInit is only called once when the EA initiates so it will not be updated. So set your comment in OnTick
You should not be getting info about the account in OnInit as it may not be loaded yet.
OnInit is only called once when the EA initiates so it will not be updated. So set your comment in OnTick
void OnTick() { Comment( StringFormat( "Equity = %.2f; Balance = %.2f; Free Margin = %.2f", AccountInfoDouble( ACCOUNT_EQUITY ), AccountInfoDouble( ACCOUNT_BALANCE ), AccountInfoDouble (ACCOUNT_MARGIN_FREE) ) ); } // Right? It doesn't work.
It does work, provided it is an Expert Advisor (EA) and not an Indicator (you did not specify which one you are coding).
If it is an Indicator then you have to use OnCalculate() instead of OnTick().
Also, if you don't have any trade activity going on, then obviously those values will not change.
Given that you are having so much difficulty with MQL4, I suggest reading and following the lessons in the following book. It is how I started with MQL4.
EDIT: But make sure to get the latest edition with MQL4+ code.
Forum on trading, automated trading systems and testing trading strategies
Sergey Golubev, 2017.09.16 05:40
Expert Advisor Programming for MetaTrader 4
This book will teach you the following concepts:
- The basic of the MLQ4 language, including variables and data types, operations, conditional and loop operators, functions, classes and objects, event handlers and more.
- Place, modify and close market and pending orders.
- Add a stop loss and/or take profit price to an individual order, or to multiple orders.
- Close orders individually or by order type.
- Get a total of all currently opened orders.
- Work with OHLC bar data and locate basic candlestick patterns.
- Find the highest high and lowest low of recent bars.
- Work with MetaTrader’s built-in indicators, as well as custom indicators.
- Add a trailing stop or break even stop feature to an expert advisor.
- Use money management and lot size verification techniques.
- Add a flexible trading timer to an expert advisor.
- Construct several types of trading systems, including trend, counter-trend and breakout systems.
- Add alert, emails, sounds and other notifications.
- Add and manipulate chart objects.
- Read and write to CSV files.
- Construct basic indicators, scripts and libraries.
- Learn how to effective debug your programs, and use the Strategy Tester to test your strategies.
All of the source code in this book is available for download, including an expert advisor framework that allows you to build robust and fully-featured expert advisors with minimal effort.
Given that you are having so much difficulty with MQL4, I suggest reading and following the lessons in the following book. It is how I started with MQL4.
EDIT: But make sure to get the latest edition with MQL4+ code.
Fernando, under each of my posts under which you answer, you mention my level of programming knowledge and that I should do this or that. I know what I need to do. Just answer my question, please, and thank you very much!
I've read this book recently.
And that I realized that it is not about reading words, but about practice. It's a slow road, I'm done with this book. I chose the path of learning for myself by collecting and filtering information. You may not understand, but the main thing is that I understand. Accordingly, one of the ways to learn programming is to ask questions, is it bad? The book will not answer all my questions, what idea of an adviser will come into my head, I will implement it by collecting information on the MQL5 website and others. It's a billion times faster. I am grateful to this book all the same, I borrowed some functions from there anyway.
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use