Jump to content
Rosh

Статьи по программированию на MQL-4.

Recommended Posts

Rosh

Не имеет значения как хранятся данные массива в памяти, главное правильно использовать то, что задал. Если задал, что размерность первого индекса равна 100, то и обходить в цикле многомерный массив от 0 до 99 можно будет только по первому индексу.

Объясни на пальцах - что этот массив должен содержать, чтобы можно было понять как его объявлять и заполнять.

Share this post


Link to post
Share on other sites
RegrZ
Не имеет значения как хранятся данные массива в памяти, главное правильно использовать то, что задал. Если задал, что размерность первого индекса равна 100, то и обходить в цикле многомерный массив от 0 до 99 можно будет только по первому индексу.

Объясни на пальцах - что этот массив должен содержать, чтобы можно было понять как его объявлять и заполнять.

 

ты знаешь стал готовить модуль с примером на пальцах, :) и разобрался, оказывается я пытался засунуть строки в первое измерение а оно используется под счетчик индекса, все спасибо.


Человек отличается от верблюда тем, что если он плюет на все, то его

ничем не нагрузишь.

Share this post


Link to post
Share on other sites
taurus

Уважаемый Rosh. С большим интересом изучаю Ваши статьи по MQL4.

В ст.4 "Что такое графики" Вы пишете: ...график любого инструмента на любом тайм-фрейме можно представить в виде пяти массивов: Time[], Open[], Low[], High[], Close[] и Volume[].

Вероятно здесь опечатка? Надо было написать - в виде шести массивов?

С уважением, taurus.


"Чем больше я узнаю, тем меньше я знаю"

Share this post


Link to post
Share on other sites
Rosh

Да, опечатка, исправлю. Спасибо.

Share this post


Link to post
Share on other sites
Vacula

Rosh

 

Вопрос к специалистам!!!

Научите пожалуйсто прициплять индикаторы к советникам.

Например #CROSS-S2 или AMA&AMAsig.mq4.

Какие нужно указывать параметры?????

iCustom(NULL, 0,"Kaufman2" .........??????????????????????

Справка в МТ нечего не дает :((

Или где можно подробнее изучить этот материал???

Заранее благодарен.

Share this post


Link to post
Share on other sites
Rosh
Rosh

 

Вопрос к специалистам!!!

Научите пожалуйсто прициплять индикаторы к советникам.

Например #CROSS-S2 или AMA&AMAsig.mq4.

Какие нужно указывать параметры?????

iCustom(NULL, 0,"Kaufman2" .........??????????????????????

Справка в МТ нечего не дает :((

Или где можно подробнее изучить этот материал???

Заранее благодарен.

 

Ближайшей статьей эту тему пройду.

Share this post


Link to post
Share on other sites
taurus

Уважаемый Rosh

Пожалуйста, поясните правила написания двойных кавычек и запятых.

Вот примеры:

1. Comment("Account free margin is ",DoubleToStr(free,2),"\n","Current time is ",TimeToStr(CurTime())); Если я правильно понял, фразы ..."Account free margin is ",... и ... "Current time is ",...взяты в двойные кавычки и после них стоит запятая. С выражением ..."\n", ... тоже понятно, об этом пишется в справочнике. Почему выражения ...DoubleToStr(free,2),...и ...TimeToStr(CurTime())... не взяты в двойные кавычки?

2. Alert("Close price coming ", Close[0],"!!!"); Здесь не берется в кавычки выражение...Close[0],.. Почему?

3. Print(array[j]); Здесь также нет двойных кавычек внутри круглых скобок. Почему?

4. Print(High[index]," ",Low[index]," ",Open[index]," ",Close[index]," бар=",index); Здесь нет кавычек слева от выражения ...High[index],"...

и запятая стоит внутри кавычек, а не после них. Последнее выражение в круглых скобках...",index... не имеет кавычек справа. Выражение ...бар=... вовсе без кавычек.

Как не запутаться при написании кодов? В справочнике по MQL-4 не смог найти ответов на эти вопросы. Где можно об этом почитать?

Спасибо.


"Чем больше я узнаю, тем меньше я знаю"

Share this post


Link to post
Share on other sites
Rosh

Выражение, взятое в двойные кавычки , является строковой. Поэтому выводится в функциях Print(),Commet(),Print(), FileWrite() и так далее как есть, то есть именно то, что взято в кавычки. Остальные перменные при выводе на печать преобразуются также в строковые переменные в соотвествии с правилами.

4. Print(High[index]," ",Low[index]," ",Open[index]," ",Close[index]," бар=",index); Здесь нет кавычек слева от выражения ...High[index],"...

и запятая стоит внутри кавычек, а не после них. Последнее выражение в круглых скобках...",index... не имеет кавычек справа. Выражение ...бар=... вовсе без кавычек.

Выражение " " (пробел в кавычках) дает пробел при печати, чтобы не слипались выводимые выражения. ... бар= стоит в кавычках, посмотрите внимательно.

Share this post


Link to post
Share on other sites
taurus

Супер! Все стало понятно. Насчет ..."бар=",... действительно не углядел. Теперь стало понятно назначение запятых как разделителей в ...4. Print(High[index]," ",Low[index]," ",Open[index]," ",Close[index]," бар=",index); ...

Спасибо большое.


"Чем больше я узнаю, тем меньше я знаю"

Share this post


Link to post
Share on other sites
SoMax
Rosh

 

Вопрос к специалистам!!!

Научите пожалуйсто прициплять индикаторы к советникам.

Например #CROSS-S2 или AMA&AMAsig.mq4.

Какие нужно указывать параметры?????

iCustom(NULL, 0,"Kaufman2" .........??????????????????????

Справка в МТ нечего не дает :((

Или где можно подробнее изучить этот материал???

Заранее благодарен.

 

Ближайшей статьей эту тему пройду.

А в двух словах если это возможно. А то написание диплома остановилось. Нужно добавить silver chanel и другие в эксперт, но понял как вставлять только стандартные индикаторы.


Правило трейдера: проиграл квартиру матери - остановись!

Share this post


Link to post
Share on other sites
Rosh
Rosh

 

Вопрос к специалистам!!!

Научите пожалуйсто прициплять индикаторы к советникам.

Например #CROSS-S2 или AMA&AMAsig.mq4.

Какие нужно указывать параметры?????

iCustom(NULL, 0,"Kaufman2" .........??????????????????????

Справка в МТ нечего не дает :((

Или где можно подробнее изучить этот материал???

Заранее благодарен.

 

Ближайшей статьей эту тему пройду.

А в двух словах если это возможно. А то написание диплома остановилось. Нужно добавить silver chanel и другие в эксперт, но понял как вставлять только стандартные индикаторы.

 

Используй iCustom(), смотри справку и любого выложенного эксперта.

Share this post


Link to post
Share on other sites
RegrZ

Rosh

Подскажи пожалуйста как забить в переменную строку типа:

"Date" "Time" "Open" "High" "Low" "Close" "Volume"

т.е. чтобы в переменной было именно это выражение где каждое слово в кавычках, пытаюсь делать так:

cString = """+Date+"" "+"""+Time+"" "+"""+Open+"" "....... короче так не выходит.

это нужно для выгрузки в .csv файл с историей, где первая строчка должна быть именно такой, в кавычках:

"Date" "Time" "Open" "High" "Low" "Close" "Volume"


Человек отличается от верблюда тем, что если он плюет на все, то его

ничем не нагрузишь.

Share this post


Link to post
Share on other sites
Rosh

Используй шестнадцатеричное представление символов - http://www.mql4.com/ru/codebase/libraries/333/ или переменную типа char (такого нет в MQL-4, я просто так назвал), вот из справки МетаЭдитора

 

Символьные константы

 

Любой одиночный символ, заключенный в одинарные кавычки, или шестнадцатеричный ASCII-код символа в виде '\x10' является символьной константой и имеет тип int. Некоторые символы, например, одинарные кавычки ('), двойные кавычки ("), знак вопроса (?), обратная косая черта (\) и управляющие символы можно представлять комбинацией символов, начинающейся с обратной косой черты(\), в соответствии с приводимой ниже таблицей:

 

новая строка (перевод строки) NL (LF) \n

горизонтальная табуляция HT \t

возврат каретки CR \r

обратная косая черта \ \\

одинарная кавычка ' \'

двойная кавычка " \"

шестнадцатеричный ASCII-код hh \xhh

Если за обратной косой чертой следует символ, отличный от перечисленных, результат не определяется:

 

int a = 'A';

int b = '$';

int c = '©'; // код 0xA9

int d = '\xAE'; // код символа ®

Внутреннее представление - длинное целое число размером 4 байта. Символьные константы могут принимать значения от 0 до 255. Если константа превышает указанный диапазон, то результат не определен.

Share this post


Link to post
Share on other sites
RegrZ
Используй шестнадцатеричное представление символов - http://www.mql4.com/ru/codebase/libraries/333/ или переменную типа char (такого нет в MQL-4, я просто так назвал), вот из справки МетаЭдитора

 

Символьные константы

 

Любой одиночный символ, заключенный в одинарные кавычки, или шестнадцатеричный ASCII-код символа в виде '\x10' является символьной константой и имеет тип int. Некоторые символы, например, одинарные кавычки ('), двойные кавычки ("), знак вопроса (?), обратная косая черта (\) и управляющие символы можно представлять комбинацией символов, начинающейся с обратной косой черты(\), в соответствии с приводимой ниже таблицей:

 

новая строка (перевод строки) NL (LF) \n

горизонтальная табуляция HT \t

возврат каретки CR \r

обратная косая черта \ \\

одинарная кавычка ' \'

двойная кавычка " \"

шестнадцатеричный ASCII-код hh \xhh

Если за обратной косой чертой следует символ, отличный от перечисленных, результат не определяется:

 

int a = 'A';

int b = '$';

int c = '©'; // код 0xA9

int d = '\xAE'; // код символа ®

Внутреннее представление - длинное целое число размером 4 байта. Символьные константы могут принимать значения от 0 до 255. Если константа превышает указанный диапазон, то результат не определен.

 

Спасибо, вывел из тупика :D


Человек отличается от верблюда тем, что если он плюет на все, то его

ничем не нагрузишь.

Share this post


Link to post
Share on other sites
RegrZ

Rosh помоги пожалуйста с написанием Dll для подключения программы обсуждаемой в этой ветке очень хорошая вещь, хотелось бы подключить к МТ4 чтобы советник исполнял приказы этой программы.


Человек отличается от верблюда тем, что если он плюет на все, то его

ничем не нагрузишь.

Share this post


Link to post
Share on other sites
Rosh

Я не программировал по крайней мере 10 лет и помочь с написанием dll не могу. У меня даже подходящая среда не развернута :)

Share this post


Link to post
Share on other sites
RickD

Пример dll есть в MT4.


MQL4: идея * опыт + творческий подход

:agree:

Share this post


Link to post
Share on other sites
NewTartan
Индикатор по статье 11. Создание индикатора

Привет.

С интересом и пользой для себя изучаю твои статьи по программингу.

С МТ3 разобрался, но тут грянул МТ4. Я ейчас работаю в забугорном ДЦ и там пока не переходят на МТ4, но я думаю это не за горами. Вот и готовлю себя для переделки своей матчасти под МТ4. Хочу сказать спасибо за хорошее и добротное описание простых вещей, но есть некоторые вопросы которые не освещены. Например в описании написания индикаторов - извиняюсь за тафталогию. Своял я себе индюков простых - просто сгладил ССИ и ВПР - так их сигналы надёжнее при использовании в экспах. Так вот в чём моя просьба - не сделаешь ли ты мастер класс по переводу (с пояснениями параллелей)

МТ3 в МТ4 и различий одного из этих индикаторов - думаю это будет полезно всем. Я веду ветку форума в другом месте и народ просит многое сделать под МТ4 из того что я выкладываю под МТ3. Кого-то просить? Но у каждого есть свои проекты и идеи. А так я кое-что почерпну для программирования в МТ4 и сам начну делать, хотя конечно уже кое-что и делаю, хочу сам довестись до кондиции.

Думаю это также будет полезно и нужно для других желающих глубже изучить МТ4 программинг. Если ответишь положительно - зашлю индикатор сюда. Попутного тренда и больших профитов.


Бороться, искать, найти и не сдаваться

Share this post


Link to post
Share on other sites
Rosh

Год назад сравнение MQL-2 и MQL-4 было бы более актуальным, сейчас , я думаю, лишь небольшой процент знает и помнит язык для МТ3. Теоретически можно сделать перевод индикатора на МТ4 в виде статьи, надо посмотереть - что-за индикатор.

Share this post


Link to post
Share on other sites
Rosh

Ну как может быть черно-белое кино приятнеее, чем цветное, или моно звук приятнее, чем DTS7.1 ?

Проще - да, но и возможностей на порядок меньше.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×