Ваши вопросы по языку MQL4

Ugar

Гуру форума
Скажите, есть ли способ проверить быстродействие индикатора? Его нагрузку в каком то измерении...?

Я хочу сравнить 2 индикатора, по нагрузке, какой "легче".
Конечно есть.
Засечь и запомнить время в миллисекундах, в цикле вызвать индикатор раз эдак 1000, снова получить время в миллисекундах, разницу времени после вызова и до вызова индикатора поделить на количество вызовов. Получится время затраченное на вызов индикатора.
 

elgaza

Новичок форума
есть ли индикатор, который показывает размер тика и его значение (не значение пункта, а значение тика)
Спасибо
 

Ugar

Гуру форума
есть ли индикатор, который показывает размер тика и его значение (не значение пункта, а значение тика)
Спасибо
Наверняка есть, но сначала надо понять что имеете ввиду. Тик это момент прихода новой цены. Размер тика это, что? Сколько времени прошло между тиками, или на сколько пунктов изменилась цена с прошлого тика? Или что то ещё?
 

elgaza

Новичок форума
Наверняка есть, но сначала надо понять что имеете ввиду. Тик это момент прихода новой цены. Размер тика это, что? Сколько времени прошло между тиками, или на сколько пунктов изменилась цена с прошлого тика? Или что то ещё?
Привет, я имел в виду, например
EURUSD, тик или наименьшее движение составляет 0,00001, а значение этого тика составляет 1 доллар США.
то, что я ищу, - это индикатор, который показывает размер движения tikc, например 0,00001, и стоимость этого движения в долларах, что означает 1 доллар для этого примера.
и спасибо за ответ, очень признателен
 

Ugar

Гуру форума
Привет, я имел в виду, например
EURUSD, тик или наименьшее движение составляет 0,00001, а значение этого тика составляет 1 доллар США.
то, что я ищу, - это индикатор, который показывает размер движения tikc, например 0,00001, и стоимость этого движения в долларах, что означает 1 доллар для этого примера.
и спасибо за ответ, очень признателен
Похоже нужна стоимость пункта в валюте депозита на 1 лот. Я выложил простенький индикатор в своей ветке 372 посте, он отображает эту информацию в том числе.
 

elgaza

Новичок форума
Похоже нужна стоимость пункта в валюте депозита на 1 лот. Я выложил простенький индикатор в своей ветке 372 посте, он отображает эту информацию в том числе.
прежде всего большое спасибо
2-й, очень жаль, что я не понимаю по-русски и не очень понимаю текст на индикаторе.
Я использую Google Translate, чтобы читать и писать здесь сообщения.
Спасибо, мой друг
 

Ugar

Гуру форума
прежде всего большое спасибо
2-й, очень жаль, что я не понимаю по-русски и не очень понимаю текст на индикаторе.
Я использую Google Translate, чтобы читать и писать здесь сообщения.
Спасибо, мой друг
Эта ветка по вопросам программирования. Здесь уместней подсказать код.
Значение можно получить функцией MarketInfo, преобразовать в текст и отобразить в виде комментария.
Comment("Tick=",DoubleToStr(MarketInfo(Symbol(),16),4));
 

elgaza

Новичок форума
Эта ветка по вопросам программирования. Здесь уместней подсказать код.
Значение можно получить функцией MarketInfo, преобразовать в текст и отобразить в виде комментария.
Comment("Tick=",DoubleToStr(MarketInfo(Symbol(),16),4));
Я бы, если бы у меня был исходный код, там был только файл .ex4
 

Alex190

Интересующийся
Народ всем привет! Подскажите человеку без опыта. сделал следующее
1) заказал дополнительную функцию к советнику
2) открыл код советника
3) скопировал нововведения из советника.
4) залил нововведения в советник в том состоянии в каком он был до заказаных нововведений.туда где они и должны быть согласно изменениям в коде
5) нажал СКОМПИЛИРОВАТЬ (вродибы должен получится тот же самый советник только с нововведениями)
6) получил ошибку.
7) кто нибудь подскажите... есть видео по тому как заливать кусочки кода в советник? Я В ЭТОЙ ТЕМЕ ПОЛНЫЙ НОЛЬ.
 

Вложения

  • Скриншот 01-03-2022 205809.jpg
    Скриншот 01-03-2022 205809.jpg
    86,5 КБ · Просмотры: 18
Последнее редактирование:

vladradon

Программист
как заливать кусочки кода в советник?
Кусочки кода в советник (или другую программу) вставляют в нужные места, согласовывая с уже имеющимся кодом и для этого нужно знать язык программирования и разбираться в алгоритме программы. В основном просто так вставить кусок и он заработает сразу правильно не получится. На скрине, скорее всего, после max_lot строкой выше должна стоять запятая, а не точка с запятой (max_lot,).
 

Art-fx

Новичок форума
Приветствую. Есть множество примеров кода, как получить данные ПОСЛЕДНЕГО закрытого ордера.
Например вот это:

int LastfOrder(int magic_,int &ordtype,double &lot) { int i,k=OrdersHistoryTotal(); string sy=Symbol(); datetime t,lasttime=0; ordtype=-1; lot=-1.0; int ticket=-1; for(i=0; i<k; i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { if((OrderMagicNumber()==magic_) && (OrderSymbol()==sy)) { t=OrderCloseTime(); if(t>lasttime) { lasttime=t; ticket=OrderTicket(); ordtype=OrderType(); lot=OrderLots(); } } } } return(ticket); }

А как выбрать предпоследний ордер? Гугл ничего не находит по этому поводу.
Может кто знает?
 

AlexeNP

Гуру форума
Приветствую. Есть множество примеров кода, как получить данные ПОСЛЕДНЕГО закрытого ордера.
Например вот это:

int LastfOrder(int magic_,int &ordtype,double &lot) { int i,k=OrdersHistoryTotal(); string sy=Symbol(); datetime t,lasttime=0; ordtype=-1; lot=-1.0; int ticket=-1; for(i=0; i<k; i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { if((OrderMagicNumber()==magic_) && (OrderSymbol()==sy)) { t=OrderCloseTime(); if(t>lasttime) { lasttime=t; ticket=OrderTicket(); ordtype=OrderType(); lot=OrderLots(); } } } } return(ticket); }

А как выбрать предпоследний ордер? Гугл ничего не находит по этому поводу.
Может кто знает?
а предпоследний по какому признаку? время открытия, закрытия, предпоследний проигрышный-выигрышный?
в общем случае - делай массив, записывай туда тот признак, который нужен - сортируй, бери предпоследний
 

Art-fx

Новичок форума
а предпоследний по какому признаку? время открытия, закрытия, предпоследний проигрышный-выигрышный?
в общем случае - делай массив, записывай туда тот признак, который нужен - сортируй, бери предпоследний

Предпоследний ордер по времени закрытия. С массивами еще не разобрался.
Но продолжаю работать над собой!
 

Alex190

Интересующийся
Кусочки кода в советник (или другую программу) вставляют в нужные места, согласовывая с уже имеющимся кодом и для этого нужно знать язык программирования и разбираться в алгоритме программы. В основном просто так вставить кусок и он заработает сразу правильно не получится. На скрине, скорее всего, после max_lot строкой выше должна стоять запятая, а не точка с запятой (max_lot,).
Великолепно!!! Я прям програмистом себя почувствовал)) Спасибо уважаемый!!!
 
Верх