Перейти к содержанию

Обучение языку MQL4 под MetaTrader 4


Рекомендуемые сообщения

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Шамиль, дружище, пока не решишь домашние задания по предыдущим темам, даже не пытайся лететь впереди поезда...

И новый минимум поТдержки тебе не вставить в ObjectCreate :)


Добавлено: 26-06-2013 14:50:00

В помощь изучающим MQL :)

Rita Lasker тут прислала исходник своего нового советника...
Эксперт работает, используя сразу три индикатора: Stochastic, RSI, WPR.
Изучающим MQL должно быть интересно, прикладываю...



За это время я сделал не только домашнее задание но и пошел вперед и удостоверился в не правильности некоторых своих идей. Если бы я , сидел и ждал когда что-то произойдет , то потерял бы интерес к предмету . Такой я человек !

Прикладываю то что сделал


Ну и все-же , как проставить стрелочки над или под указными барами ?

ObjectCreate("st"+klac1, OBJ_ARROW, 0, Time[iBarShift(0, PERIOD_H1, time_down_2)], Low3);

тоже неработает

Добавлено: 26-06-2013 15:10:36

Тут у Rita Lasker , да и на других советниках. Вход одинаковым лотом - бред !

Почему бред ? Да потому что у нее больше минусовых позиций чем прибыльных. И в пунктах тоже самое.


Зачем вообще ориентироваться на то что заранее убыточно ?!

Необходимо выявить стратегию входа и выхода ( Пусть они и редкие ). Главное чтобы на истории , показывало кол-во меньше убыточных, чем прибыльных. Вот это уже 30 % успеха !!! А там включается мани менеджмент.


Я блин , пару недель пишу скрипты и то , показатели лучше чем у Нее. В тестере мои файлы просмотрите.

файл skalp на 5 мин

Martin на 1 часе

Кстати лучшее решение на сегодня - файл skalper_Mov_Av
его гонять по 1 часу

skalp_5.mq4
Martin4.mq4
skalper_Mov_Av.mq4

Изменено пользователем Шамиль
Ссылка на сообщение
Поделиться на другие сайты

  • Ответов 6,8k
  • Создано
  • Последний ответ

Популярные авторы

Популярные авторы

Популярные посты

Смотрим видео-уроки, изучаем MQL:       Скачать видеокурс «MQL программирование. Как самому написать форекс советник/ индикатор/ скрипт»   P.S. Тема про Обучение MQ

Перейти

Циклы цикл for Иногда необходимо повторять одно и то же действие несколько раз подряд. Для этого используют циклы. К примеру, мы хотим проанализировать последние 10 баров и выяснить наименьшую цен

Перейти

Речь идет о том, что не будет значимых нововведений. А только баги периодически будут править. А вот все новое мол - в МТ5. Когда они вживую сказали то же самое на конференции в Москве, я уточнил: "То

Перейти
Обучение языку MQL4 под MetaTrader 4 Опубликовано
Шамиль, извини, дружище, но если ты такой неудержимый, то мне тебя не остановить и не догнать...
Если не хочешь ждать уроков по граф. объектам, то тебе самому придётся в этом разобраться, тем более, что из твоего кода ничего не понятно, он далеко не полный.

К примеру я не нашёл и не понял что такое Low3 и откуда он взялся, равно как и с остальными переменными, объявления которых я не вижу... ну и т.д.

Так что тут только сам :)

И по поводу Риты Ласкер...
Тут ведь цель учиться по чужим исходникам, понять идею, и может быть использовать её в своих будущих разработках...

-----------------------------------
P.S.: Вопрос к тебе: В каком классе учишься?
Изменено пользователем xbms
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Шамиль, извини, дружище, но если ты такой неудержимый, то мне тебя не остановить и не догнать...
Если не хочешь ждать уроков по граф. объектам, то тебе самому придётся в этом разобраться, тем более, что из твоего кода ничего не понятно, он далеко не полный.

Я изменил запрос , вложил файл исходник.

И по поводу Риты Ласкер...
Тут ведь цель учиться по чужим исходникам, понять идею, и может быть использовать её в своих будущих разработках...

Согласен , спасибо !


P.S.: Вопрос к тебе: В каком классе учишься?


Лучше спроси - в какой школе. Ответ - нахожусь в постоянном поиске.
Если интересует образование - у меня 2 высших.
1 - веб программист
2 - психология.
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
Цитата


Лучше спроси - в какой школе. Ответ - нахожусь в постоянном поиске.
Если интересует образование - у меня 2 высших.
1 - веб программист
2 - психология.



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

Обучение языку MQL4 под MetaTrader 4 Опубликовано

И тишинааа , и словно Мертвые с косами стоят ))


Добавлено: 27-06-2013 20:10:35


И тишинааа , и словно Мертвые с косами стоят ))



Складывается впечатление что либо нет никого , либо все все знают и кое-кому назззрать))))))))

Наверно , все-же , нет никого ! Изменено пользователем Шамиль
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

я ответил на твой вопрос, читай тут: http://tlap.com/forum/ugolok-programmista/13/obuchenie-yazyku-mql4-pod-metatrader-4/4034/?do=findComment&comment=78680
если не понял ответа, то перечитай ещё раз...

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Ребята вот что я думаю по поводу начала написания советников, да и вобще написания кода. Для начала,как я понимаю надо нарисовать таблицу чего он должен выполнять.То есть тех задание,потом для себя нарисовать такую же таблицу, чего писать,что за чем следует. Например (внешние параметры, потом 5 знаков или 4 знака после запятой, Потом есть открытые ордера в рынке). И так далее, описать последовательность написания кода,что за чем следует.А потом только приступать к написанию самого кода. И мне кажется что нужно начинать обучение написания программы именно с этого. Я раз 20 уже пересмотрел видео господина xbms, общая картина работы советника складывется, но вот последовательность написания того или иного кода не как уловить не могу. Почитал учебник как все работает, операторы,функции,циклы,вроде бы все правильно,но все равно выдает ошибку. И в чем ошибка не могу понять.Так что господа программисты напишите по подробней для чайников !!! :(( :!!

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Ребята вот что я думаю по поводу начала написания советников, да и вобще написания кода. Для начала,как я понимаю надо нарисовать таблицу чего он должен выполнять.То есть тех задание,потом для себя нарисовать такую же таблицу, чего писать,что за чем следует. Например (внешние параметры, потом 5 знаков или 4 знака после запятой, Потом есть открытые ордера в рынке). И так далее, описать последовательность написания кода,что за чем следует.А потом только приступать к написанию самого кода. И мне кажется что нужно начинать обучение написания программы именно с этого. Я раз 20 уже пересмотрел видео господина xbms, общая картина работы советника складывется, но вот последовательность написания того или иного кода не как уловить не могу. Почитал учебник как все работает, операторы,функции,циклы,вроде бы все правильно,но все равно выдает ошибку. И в чем ошибка не могу понять.Так что господа программисты напишите по подробней для чайников !!! :(( :!!



Тут все просто. Ты правильно подметил что необходимо составить план действий. Обычно он составляется в голове , а действия пишутся логически по цепочке. Ну допустим , ты не можешь написать команду стоп без того чтобы изначально запустить. Иначе ты не проверишь работу стоп. Просто , по цепочке логики.
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Шамиль это тебе понятно,ты занемаешся этим сколько времени ? А я говорю про чайников типа меня.Который толком не знает с какого боку подойти и с чего начать.

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Ребята вот что я думаю по поводу начала написания советников, да и вобще написания кода. Для начала,как я понимаю надо нарисовать таблицу чего он должен выполнять.То есть тех задание,потом для себя нарисовать такую же таблицу, чего писать,что за чем следует. Например (внешние параметры, потом 5 знаков или 4 знака после запятой, Потом есть открытые ордера в рынке). И так далее, описать последовательность написания кода,что за чем следует.А потом только приступать к написанию самого кода. И мне кажется что нужно начинать обучение написания программы именно с этого. Я раз 20 уже пересмотрел видео господина xbms, общая картина работы советника складывется, но вот последовательность написания того или иного кода не как уловить не могу. Почитал учебник как все работает, операторы,функции,циклы,вроде бы все правильно,но все равно выдает ошибку. И в чем ошибка не могу понять.Так что господа программисты напишите по подробней для чайников !!! :(( :!!



Я думаю перед тем как писать видео "господин xbms" это делает сам, а потом в ходе написания советника он это проговаривает, например "Итак нам необходимо модифицировать все ордера, для этого мы будем использовать функцию ОрдерМодифи, которую сейчас и напишем". Что тут может быть не понятного. А ту логическую цепочку действий ты должен сам себе складывать, форма в какой ты это будешь делать не важна. А по поводу ошибок, они будут до тех пор, пока не пропишешь гору строчек кода, и не набьеш руку. По поводу того что у тебя ошибки могу сказать одно, для этого и была создана эта тема, чтоб выкладывались уже готовые советники, и если вдруг что нетак. и ты ломал голову несколько часов и не смог найти (глаз замылился), посмотрит кто-то другой и укажет на ошибки.
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

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

{
if (CountTrades()==0)
{
double ima = iMA(Symbol(), 0, period, 0, MODE_EMA, PRICE_MEDIAN, ma_shift);



if (Ask > ima)
{
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "", Magic, 0, Blue);
if (ticket > 0)

{
TP = NormalizeDouble(Ask + TakeProfit * Point, Digits);
OrderModify(ticket, OrderOpenPrice(), 0, TP, 0);
}
}

else

if(Bid {
ticket =OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, "", Magic, 0, Red);
if (ticket > 0)

{
TP = NormalizeDouble(Bid - TakeProfit * Point, Digits);
OrderModify(ticket, OrderOpenPrice(), 0, TP, 0);
}
}
}

а само действие написанно самом низу.


int CountTrades()
{
int cound = 0;
for (int i = OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES ))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
cound++;
}
}
return(cound);
}


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

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


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

{
if (CountTrades()==0)
{
double ima = iMA(Symbol(), 0, period, 0, MODE_EMA, PRICE_MEDIAN, ma_shift);



if (Ask > ima)
{
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "", Magic, 0, Blue);
if (ticket > 0)

{
TP = NormalizeDouble(Ask + TakeProfit * Point, Digits);
OrderModify(ticket, OrderOpenPrice(), 0, TP, 0);
}
}

else

if(Bid {
ticket =OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, "", Magic, 0, Red);
if (ticket > 0)

{
TP = NormalizeDouble(Bid - TakeProfit * Point, Digits);
OrderModify(ticket, OrderOpenPrice(), 0, TP, 0);
}
}
}

а само действие написанно самом низу.


int CountTrades()
{
int cound = 0;
for (int i = OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES ))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
cound++;
}
}
return(cound);
}


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



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

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Может посмотришь код,попробуй исправить что не так,и там в комментариях пропиши где ошибки и какие ?

TESRER_5.mq4

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Пока не смотрел, но дам рекомендацию, очень полезную, расставляй {} по уровням, так понятней какой код отвечает какой функции. У тебя просто все тупо в ряд и не разберешь. И все-таки лучше выносить написание самой функции вниз, так код более читабелен чтоли

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

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

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Пробежался немного, в пару замечаний и ошибок нашел, но там надо смотреть глубже, подправь и попробуй сам еще что-нибудь найти. Завтра если время будет еще посмотрю

TESRER_5.mq4

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Господа программисты поясните вот такое выражение; Шестнадцатеричные значения могут состоять из букв латинского алфавита от A до F или от a до f, цифр от 0 до 9, обязательно должны начинаться с 0x или 0X и принимать положительные и отрицательные значения: 0x1a7b, 0xff340, 0xAC3 0X2DF23, 0X13AAB, 0X1.

Так вот тут вообще не понятно где положительные,где отрицательные ? Оно вообще это надо ?

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Господа программисты поясните вот такое выражение; Шестнадцатеричные значения могут состоять из букв латинского алфавита от A до F или от a до f, цифр от 0 до 9, обязательно должны начинаться с 0x или 0X и принимать положительные и отрицательные значения: 0x1a7b, 0xff340, 0xAC3 0X2DF23, 0X13AAB, 0X1.

Так вот тут вообще не понятно где положительные,где отрицательные ? Оно вообще это надо ?





Ты где нашел то такое ?

Кстати я просмотрел сегодня твой код, там проверь количество и место {}, и там потом внизу надо будет вместо ; после 1000000 поставить ,
double GetMinPrice() //// перенёс вниз
{
double dLow = 1000000,
dprice;


Также в строке
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, TP, "", Magic,0, Blue);
убери ТР, поставь 0, ты ж потом модифицируешь.
Добавил еще строку
if (LastLots в общем вроде работает, но сливает на "заводских" настройках. Изменил шаг, поставил 50 вместо 5, работает и даже с января 2013 по сегодняшний день есть 50% прибыли :) Изменено пользователем Dimasyok
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Нашел я это выражение,на сайте MQL 4 в учебнике.
А на каком тайм фрейме ? Я хочу использовать его на 5 минутах. Вручную так торгую.Еще растояние зависит от инструмента. AUDUSD подходит не плохо под эти настройки.Скинь исходник сравню со своим.

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Нашел я это выражение,на сайте MQL 4 в учебнике.
А на каком тайм фрейме ? Я хочу использовать его на 5 минутах. Вручную так торгую.Еще растояние зависит от инструмента. AUDUSD подходит не плохо под эти настройки.Скинь исходник сравню со своим.



Тестировал на Н1, настройки твои, при тестировании просто менял, у тебя ошибок никаких больше небыло, когда тестировал, посмотри, может я что-то упустил.
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

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

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


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



Я тебе написал что где поменять, поменяй, по идее будет без ошибок после компиляции, потом проверь в тестере как он торгует, если так как ты от него ожидаешь, значит всё ок. Если я тебе скину исходник, то ты ж свои ошибки тем более не найдешь.
Начни с количества и расположения {} из-за них много ошибок, определи некоторые переменные, я тебе кидал какие именно. Выше почитай. Если после того как все сделаешь, на что я указывал не получится, кинешь еще раз уже редактированное я посмотрю.
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Господа программисты поясните вот такое выражение; Шестнадцатеричные значения могут состоять из букв латинского алфавита от A до F или от a до f, цифр от 0 до 9, обязательно должны начинаться с 0x или 0X и принимать положительные и отрицательные значения: 0x1a7b, 0xff340, 0xAC3 0X2DF23, 0X13AAB, 0X1.

Так вот тут вообще не понятно где положительные,где отрицательные ? Оно вообще это надо ?


Я думаю, оно вам вряд ли понадобится при написании советников.
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Долго бился над ошибкой, сов сразу открывал максимально возможное количество ордеров пока хватало баланса.
Сверился с выложенным на форуме, расхождений нет. Потом логически перепроверил, заменил (Bid = price + Step * Point) заработало. :d

логическая ошибка, заменить надо здесь:

111111.jpg

Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Специальное предложение


  • Рекомендуемые брокеры

  • ×
    ×
    • Создать...