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

Milord

Местный знаток
Что касается твоего непонимания записи о которой ты говоришь "вапще..." так это абсолютно логичная запись. Применяется такое с переменными типа bool Вот переменная FridayExit имеет тип bool и соответственно запись if(FridayExit) читается как если переменная FridayExit = true а запись if(!FridayExit) читается если переменная FridayExit = false
это было бы все логично, если бы в справке было написано примерно так:
в случае если аргумент оператора имеет тип bool, допускается использование оператора if без знаков сравнения..
и запись if(FridayExit) эквивалентна записи if(FridayExit==TRUE), но такого в справке не написано, поэтому я и говорю - справку писали "партизаны" из застенков гестапо...):facepalm:
 
Последнее редактирование:

AlexeyVik

Программист mql4 mql5
Видимо ты хочешь справку в виде учебного пособия. Ну не бывает так. Прими это как факт и поищи такие учебники которые рассказывают обо всём этом.
Дать сцильку не проси. Её нет. Я учился на чтении справки и больше ничего.
 

Milord

Местный знаток
Это совершенно разные операторы.
break прекращает цикл, а return прекращает функцию. А чем отличается цикл от функции надеюсь ты сам понимаешь.
я с трудом перехожу с правил и синтаксиса бейсика для MSDOS на синтаксис и правила MQL4, если в бейсике было все ясно и понятно, и все строчки были пронумерованы, основное тело кода - была программа, отдельные части подпрограммы(функции), которые вызывались оператором GOSUB 310, где 310 номер строки куда передавалось управление, и возврат из подпрограммы(функции) назад в то же место, вернее на следующую строку оператором return
на мой взгляд справка MQL4 сделана на скорую руку,и очень сжато, многое упущено и опущено, много логических ошибок и нестыковок...
например есть индикатор в МТ4, он называется обычно ADX, я его с трудом нашел в списке MT4, потому что он там значится под именем Average Directional Movement Index, но тогда он должен был называться ADMI по первым буквам как и другие индикаторы ,смотрим другие индикаторы:
iATR - Average True Range
iAO - Awesome oscillator
iCCI - Commodity Channel Index
iMFI - Money Flow Index
iMA - Moving Average
iMACD - Moving Averages Convergence/Divergence
iOBV - On Balance Volume
и другие, как видно все логично в названиях почти у всех индикаторов, но не у всех, есть явно не логично названные...:facepalm:
 
Последнее редактирование:

Ugar

Гуру форума
я с трудом перехожу с правил и синтаксиса бейсика для MSDOS на синтаксис и правила MQL4, если в бейсике было все ясно и понятно, и все строчки были пронумерованы,
Стоит забыть о бейсике и о досе. Со времён 386, компьютеры далеко шагнули. И продолжают шагать всё быстрее. Современные языки программирования высокого уровня отличаются от Алгола и Бейсика, как флешка от перфокарты.
многое упущено и опущено, много логических ошибок и нестыковок...
например есть индикатор в МТ4, он называется обычно ADX, я его с трудом нашел в списке MT4, потому что он там значится под именем Average Directional Movement Index, но тогда он должен был называться ADMI по первым буквам как и другие индикаторы ,
А при чём тут MT4? Все претензии к автору индикатора. Он действительно называется Average Directional Movement Index, а вот сокращают его как ADMI редко, чаще его обзывают именно ADX. ADX-самое узнаваемое сокращение. Некоторые трейдеры даже не знают его полного названия. Это на всех биржевых площадках и платформах. Это не косяк метаквотов, просто надо знать если пришел на биржу, любую.
Косяков в справочнике осталось совсем мало. Нет некоторых разжёвываний, но ведь это справочник, а не букварь.
А всем ведь не угодишь.
Описание оператора if на страницу А4 будет неудобно большинству, понравится разве что любителям захватывающих романов.
Сухая чёткая формулировка в 1-2 предложения и пример для пущей понятности, самое то. Так ведь и написано.
Кому справочник сложно, можно начать с букваря. Например на официальном сайте _http://book.mql4.com/ru/
 
Последнее редактирование:

asers1111

Активный участник
Добрый день.Решил обратиться к вам - знатоки програмирования MQL.Нашел вчера индюшок StepMA_v9 и решил по нему советничек маленький написать.НЕ МОГУ ДОБИТЬСЯ ОТКРЫТИЯ СДЕЛОК!Сравнивал буфера 0 и 1 и с 0-лем,и к EMPTY_VALUE приравнивал,и между собой буфера сравнивал - больше,меньше ,а сделки так и не открылись.Господа програмисты,подскажите пожалуйста,что в этом индюке надо с чем сравнить,чтоб открылись сделки?
 

Вложения

  • StepMA_v9.mq4
    12,8 КБ · Просмотры: 37
  • StepMA_v9.ex4
    11 КБ · Просмотры: 19

_SERG_

Активный участник
Max020780,

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

1. Модификация Рыночного ордера, с получением кода результата операции.
2. Модификация отложенного ордера, с получением кода результата операции.
3. "Придача" - тут совсем непонятною.
4. Советник работает с одним инструментом одновременно. Т.е. не мультивалютник, а следовательно должен работать только с ордерами своего инструмента.
5. "он модифицирует отложенный по цене открытого ордера по другой валютной паре,если ордера открыты в том же направлении" - Надо добавить анализ инструмента, при модификации ордера и тип ордера. (Тут вааще бардак!)

Дополнительно: Думаю сова у тебя в журнал ещё пишет 130 ошибку, ну ещё парочку других.

Это ответ на вскидку, так что, коли что не так, звыняйте. :laugh:
 

eevviill

Заблокирован
Добрый день.Решил обратиться к вам - знатоки програмирования MQL.Нашел вчера индюшок StepMA_v9 и решил по нему советничек маленький написать.НЕ МОГУ ДОБИТЬСЯ ОТКРЫТИЯ СДЕЛОК!Сравнивал буфера 0 и 1 и с 0-лем,и к EMPTY_VALUE приравнивал,и между собой буфера сравнивал - больше,меньше ,а сделки так и не открылись.Господа програмисты,подскажите пожалуйста,что в этом индюке надо с чем сравнить,чтоб открылись сделки?
Попробуй именно так.
http://forexsystemsru.com/yazyk-programmirovaniya-mql4/67073-mql4-uroki-ot-eevviill-5.html#post419102

Если не так то зайди в индикатор и удали строки с SetIndexEmptyValue...
 

matro3

Почетный гражданин
Есть такой индюк:
_http://www.forexfactory.com/attachment.php?attachmentid=855324&d=1323796861
Так вот он перестает рисовать после какого-то промежутка времени.
Ни с чем связать не могу.
Последнее время вообще показывает только то состояние, в котором был когда его кидаешь на график или изменяешь настройки.
Не хватает знаний чтоб понять что нужно изменить для нормальной его работы.
Кто-нибудь может глянуть его? Спасибо...
 
Последнее редактирование модератором:

qqmber

Почетный гражданин
Есть такой индюк:
_http://www.forexfactory.com/attachment.php?attachmentid=855324&d=1323796861
Так вот он перестает рисовать после какого-то промежутка времени.
Ни с чем связать не могу.
Последнее время вообще показывает только то состояние, в котором был когда его кидаешь на график или изменяешь настройки.
Не хватает знаний чтоб понять что нужно изменить для нормальной его работы.
Кто-нибудь может глянуть его? Спасибо...
Косяк почти наверняка в StatusMessage().
Код:
double dayhigh = iHigh(NULL,PERIOD_D1,0);
double daylow = iLow(NULL,PERIOD_D1,0);
double atr = iATR(NULL,PERIOD_D1,20,1); // yesterday's ATR(20)
double range = dayhigh - daylow;
double ratio = range / atr;
double volratio = MathMax(Volume[1],Volume[0]) / volmaslow1;
Если нет D1 истории или если отключен VolFilter, то будет деление на нуль.
Отключи ShowStatus, если поможет, значит оно.
 

eevviill

Заблокирован
Тупорылым MetaQuotes

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

Конкретно.
PHP:
Alert(ObjectName(ObjectsTotal()-1));
Это ж какими бл... тупыми надо быть чтобы сделать порядок в объектах не по времени создания, а по алфавиту? Вы что ебан....?
 

Вложения

  • mql4 тупорыл.jpg
    mql4 тупорыл.jpg
    98,8 КБ · Просмотры: 24
Последнее редактирование:

ansol

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

Конкретно.
PHP:
Alert(ObjectName(ObjectsTotal()-1));
Это ж какими бл... тупыми надо быть чтобы сделать порядок в объектах не по времени создания, а по алфавиту? Вы что ебан....?

:laugh:
Тогда у объектов надо будет где-то хранить время создания!
Это ж не файл, такого свойства у объекта нет :facepalm:
 

ansol

Местный знаток

Это горизонтальная координата, на которой ты поставил стрелочку(Arrow), ее можно поставить в любой момент на любое "время" по оси Х :D
У других объектов такого нет, если что, я аж специально полезз смотреть
 

eevviill

Заблокирован
Это горизонтальная координата, на которой ты поставил стрелочку(Arrow), ее можно поставить в любой момент на любое "время" по оси Х :D
У других объектов такого нет, если что, я аж специально полезз смотреть
Значит пусть сделают. Я за то и говорю.
Зачем мне писать кучу не нужного кода если создатели должны улучшать то что сделали.
 

ansol

Местный знаток
Значит пусть сделают. Я за то и говорю.
Зачем мне писать кучу не нужного кода если создатели должны улучшать то что сделали.

Так надо к ним на форум писать(наверное) я вот тоже глюк у боллинджера нашел, а им пофиг, они об этом оказывается минимум с 2009 года знают :nda:
 

eevviill

Заблокирован
Так надо к ним на форум писать(наверное) я вот тоже глюк у боллинджера нашел, а им пофиг, они об этом оказывается минимум с 2009 года знают :nda:
Я писал им на форум, удалили. Теперь им на форум только писать хочется.
 
Верх