В OnInit пропишите обнуление этого вашего counter.
В журнале начинается теперь отсчёт с 54-х. )
P.S. Как именно у меня на данный момент код выглядит - я указал сообщением выше.
(перезалил его сейчас.)
Прописал - но тоже самое.
В журнале начинается теперь отсчёт с 54-х. )
P.S. Как именно у меня на данный момент код выглядит - я указал сообщением выше.
(перезалил его сейчас.)
1. Отследите этот момент выводом сообщения в журнал.
2. Или воспользуйтесь отладкой кода.
3. Или воспользуйтесь профилировщиком.
Что такое Отладка и Профилирование можно прочитать в справке MetaEditor.
1. Отследите этот момент выводом сообщения в журнал.
2. Или воспользуйтесь отладкой кода.
3. Или воспользуйтесь профилировщиком.
Что такое Отладка и Профилирование можно прочитать в справке MetaEditor.
(Ещё лучше видео.)
Пробовал как то разобраться во всем этом деле по этой(и ещё одной статье) - вообще ничего не понял. )
Отслеживание момента с выводом тоже не совсем понял, что может дать это дело.
(и главное как это все отслеживать?)
Увидел я допустим, что сообщение первое равняется 54-м. И что это мне дает?
Дальше, с каждым новым вызовом, значение прибавляется по 1-му.
(И какой вывод я должен из этого сделать в данном случае?)
P.S. Уверен, что новичку(в программировании) подобные статьи о профилировании и отладке,
вообще ни чего не дадут в плане получения навыков. )
...
P.S. Уверен, что новичку (в программировании) подобные статьи о профилировании и отладке, вообще ни чего не дадут в плане получения навыков. )
Нужно не пробовать как-то, а взять и разобраться с этим раз и навсегда. Читайте справку по редактору кода (MetaEditor) и пробуйте. В справке всё очень подробно написано. Статьи на сайте тоже есть по этой теме (воспользуйтесь поиском). Если все разобрались, то и Вы сможете.
Увидел я допустим, что сообщение первое равняется 54-м. И что это мне дает?
Если обнуляете переменную при инициализации, то в самом начале будет ноль.
P.S. После изменений скомпилируйте код снова, а то вдруг забыли. ))
Переменную counter нужно расположить до первого ВОЗМОЖНОГО прерывания функции оператором return().
Расположите ее, например, сразу после "{" (отрывающей фигурной скобки) . В этом случае переменная будет показывать общее количество обращений к функции.
//функция формирующая торговый запрос на открытие позиции //и проверки результата открытия bool SendOrder(double price, double volume) { counter++; MqlTradeRequest request = {0}; MqlTradeResult result = {0}; //---заполняем поля торгового запроса request.action = TRADE_ACTION_DEAL; // Тип выполняемого действия request.symbol = _Symbol; // Имя торгового инструмента request.volume = volume; // Запрашиваемый объем сделки в лотах request.price = price; // Цена request.type = ORDER_TYPE_BUY; // Тип ордера request.tp = price + 450*_Point; // Цена, по которой сработает Take Profit ордер при движении цены в благоприятном направлении request.sl = 0; // Цена, по которой сработает Stop Loss ордер при движении цены в неблагоприятном направлении request.type_filling = ORDER_FILLING_FOK; // Тип ордера по исполнению request.type_time = ORDER_TIME_GTC; //---проверим хватает ли средств для открытия позиции double margin = 0.0; if (!OrderCalcMargin(request.type, request.symbol, request.volume, request.price, margin)) return(false); if (margin > AccountInfoDouble(ACCOUNT_FREEMARGIN)) return(false); //---отправка запроса на сервер и проверка результата отправки if (OrderSend(request,result)) { return(true); } else Print(__FUNCTION__," При выставлении ордера произошла ошибка. Error = ",GetLastError()); return(false); }//---------------------------------------------------------------------------+то при таком варианте в журнале самый первый вызов получает номер 8-мь.
Если вы имеете ввиду:
то при таком варианте в журнале самый первый вызов получает номер 8-мь.
Переименуйте переменную counter.
Поэтому стартовый порядковый номер счетчика и был таким большим.(обрезалась история просто.)
Далее заметил, что никогда не бывает(в принтах) порядкового номера 1!
Решил это путем добавления принта(счетчика) в функцию вызова первого ордера.
И пока остается ещё одна проблема - это то что после закрытия позиции счетчик вызова функции
не обнуляется и открытие следующей позиции начинается с отсчета порядкового номера, который заканчивался на прошлой позиции.
(если прошлая позиция имела 3-й номер ордера- то следующая позиция откроется начиная с 4-го порядкового номера(счетчика).)
Не подскажите что можно прописать для этого случая?
(точнее как это сделать наиболее правильно с семантической точки зрения.)
В общем часть проблемы состояла в том что в журнале у меня не помещалась вся история, начиная с самого начала.
Поэтому стартовый порядковый номер счетчика и был таким большим.(обрезалась история просто.)
Далее заметил, что никогда не бывает(в принтах) порядкового номера 1!
Решил это путем добавления принта(счетчика) в функцию вызова первого ордера.
И пока остается ещё одна проблема - это то что после закрытия позиции счетчик вызова функции
не обнуляется и открытие следующей позиции начинается с отсчета порядкового номера, который заканчивался на прошлой позиции.
(если прошлая позиция имела 3-й номер ордера- то следующая позиция откроется начиная с 4-го порядкового номера(счетчика).)
Не подскажите что можно прописать для этого случая?
(точнее как это сделать наиболее правильно с семантической точки зрения.)
В общем часть проблемы состояла в том что в журнале у меня не помещалась вся история, начиная с самого начала.
Поэтому стартовый порядковый номер счетчика и был таким большим.(обрезалась история просто.)
...
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть такой код:
Не подскажите каким образом можно подсчитать кол-во вызовов ф-ции: