Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1272

 
Sysmart:

Неужели некому подсказать?

Вы зачем код весь картинкой вставили? Думаете кто то будет перепечатывать с картинки и будет Вам помогать ?

Вставите весь код кодом а не картинкой, тогда желающих помочь будет в разы больше...

 
SanAlex:

а в чём у Вас загвоздка ? что Вы хотите получить от Вашей функции ? 

в вкратце - может я пойму, тогда и будем вместе искать способ решения   

Загвоздка в том, что выражение выдает = 0

numPosOr = 4;

numStepCount = 1;

iK = (numPosOr - numStepCount) / numPosOr;

А по логике должно быть так,

в начале считаем в скобках:

(numPosOr - numStepCount) = 4-1 = 3

далее по формуле:

3 / 4 = 0,75 — вот такой должен получиться результат.

Почему у меня считает = 0?

 
Sysmart:

Загвоздка в том, что выражение выдает = 0

numPosOr = 4;

numStepCount = 1;

iK = (numPosOr - numStepCount) / numPosOr;

А по логике должно быть так,

в начале считаем в скобках:

(numPosOr - numStepCount) = 4-1 = 3

далее по формуле:

3 / 4 = 0,75 — вот такой должен получиться результат.

Почему у меня считает = 0?

Вы не показали типы переменных.
 
Sysmart:

Загвоздка в том, что выражение выдает = 0

numPosOr = 4;

numStepCount = 1;

iK = (numPosOr - numStepCount) / numPosOr;

А по логике должно быть так,

в начале считаем в скобках:

(numPosOr - numStepCount) = 4-1 = 3

далее по формуле:

3 / 4 = 0,75 — вот такой должен получиться результат.

Почему у меня считает = 0?

Вам уже несколько раз написали приведите весь код, если у Вас iK тип int  то это нормально получать 0  Какой тип у Вашей переменноЙ???

 
Sysmart:

Загвоздка в том, что выражение выдает = 0

numPosOr = 4;

numStepCount = 1;

iK = (numPosOr - numStepCount) / numPosOr;

А по логике должно быть так,

в начале считаем в скобках:

(numPosOr - numStepCount) = 4-1 = 3

далее по формуле:

3 / 4 = 0,75 — вот такой должен получиться результат.

Почему у меня считает = 0?

 double numPosOr = 4;

 double numStepCount = 1;

 double iK = (numPosOr - numStepCount) / numPosOr;


   Alert("iK = ",iK); //  =0.75

или

 int numPosOr = 4;

 int numStepCount = 1;

 double iK = (double)(numPosOr - numStepCount) / numPosOr;


   Alert("iK = ",iK); //  =0.75
 
Sysmart:

Загвоздка в том, что выражение выдает = 0

numPosOr = 4;

numStepCount = 1;

iK = (numPosOr - numStepCount) / numPosOr;

А по логике должно быть так,

в начале считаем в скобках:

(numPosOr - numStepCount) = 4-1 = 3

далее по формуле:

3 / 4 = 0,75 — вот такой должен получиться результат.

Почему у меня считает = 0?

Сложная арифметика - когда физического его понимания нет.

Что или зачем она нужна? может в каких то местах, нужно прописать реальную цифру, и после получить, его итоговый результат ?

 

Всем доброго времени суток.
Недавно начал изучать mql5. Здесь мне сказали что при тестировании советника в МТ5 открытие и закрытие ордеров происходит на истории с реальными историческими плавающими спредами, которые были на те моменты на реальной торговле.

В mql4 такого нет. Но есть функция  (int)MarketInfo("EURUSD",MODE_SPREAD), которая возвращала при тестировании значение спреда. Правда возвращала не реальное значение спреда, а то которое я указываю в настройках.
ВОПРОС.А при помощи какой функции можно вывести в журнал МТ5 реальное значение плавающего спреда в тестере при открытии и закрытии ордеров советником?
Спасибо за помощь.

Как протестировать торгового робота перед покупкой
Как протестировать торгового робота перед покупкой
  • www.mql5.com
Покупка торгового робота в MQL5 Маркете имеет одно большое преимущество перед всеми другими подобными предложениями -  вы можете устроить комплексную проверку предлагаемой автоматической системы прямо в терминале MetaTrader 5. Советник перед покупкой можно и нужно тщательно прогнать во всех неблагоприятных режимах во встроенном тестере торговых...
 
Всем привет!

Делаю первые шаги в MQL5, и вот споткнулся о глобальную переменную.
Подскажите, каким образом её поменять изнутри блока?

Ну или если это невозможно, то каким образом делать "флажки" для логики советника?
 

Всех с Днем Экономиста!

Я не нашел среди стандартных функций МТ4 для работы с массивами - функцию которая находит первую пустую строку (или значение) в массиве (или со значением "0")

Что я имею ввиду:

Массив [2] [7]

1-2

3-4

8-10

2-5

12-7

0-0

0-0 

Нужна функция которая определит что первое не заполненое/нулевое значение находиться в строке [5] 

ArrayMinimum почему то у меня не находит минимальное "0".


Перебор массива это единственный вариант для этой задачи в МТ4.

Спасибо!

 
SanAlex:

Хотел бы узнать у специалистов - такая заготовка для эксперта правильная или лучше по другому, как то организовать логику ?

Хорошо бы комменты вначале функций, что делают. Так тяжеловато читать)