Romhacker Опубликовано 22 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 22 июня, 2013 //+------------------------------------------------------------------+double FindLastPrice(int otype){ double oldopenprice; int oldticket; ticket = 0; for(int i = OrdersTotal()-1; i>0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == otype) { oldticket = OrderTicket(); if(oldticket > ticket) { oldopenprice = OrderOpenPrice(); ticket = oldticket; } } } } return(oldopenprice);}В этом цикле ошибка. Должно быть i>=0. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Dimasyok Опубликовано 22 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 22 июня, 2013 //+------------------------------------------------------------------+double FindLastPrice(int otype){ double oldopenprice; int oldticket; ticket = 0; for(int i = OrdersTotal()-1; i>0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == otype) { oldticket = OrderTicket(); if(oldticket > ticket) { oldopenprice = OrderOpenPrice(); ticket = oldticket; } } } } return(oldopenprice);}В этом цикле ошибка. Должно быть i>=0. Спасибо, подправил, но вот выскакивают постоянно ошибки:2013.06.23 01:06:14 2011.11.09 23:36 Martin EURUSD,H1: invalid lots amount for OrderSend function2013.06.23 01:06:14 2011.11.09 23:40 Martin EURUSD,H1: OrderSend error 40512013.06.23 01:06:15 2012.02.13 15:59 Martin EURUSD,H1: OrderModify error 1Martin.ex4Martin.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
larhange Опубликовано 22 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 22 июня, 2013 Всем привет!Считаю что было бы очень не плохо, перед началом следующего урока, разбирать домашнее задание предыдущего!Как кто считает? Изменено 24 июня, 2013 пользователем larhange 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Romhacker Опубликовано 23 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 23 июня, 2013 Спасибо, подправил, но вот выскакивают постоянно ошибки:2013.06.23 01:06:14 2011.11.09 23:36 Martin EURUSD,H1: invalid lots amount for OrderSend function2013.06.23 01:06:14 2011.11.09 23:40 Martin EURUSD,H1: OrderSend error 40512013.06.23 01:06:15 2012.02.13 15:59 Martin EURUSD,H1: OrderModify error 1 if(Bid { lastlot = FindLastLots(OP_BUY); if (lastlot lastlot = NormalizeDouble(lastlot * Multipler, 2); Print("Last Lot = ", DoubleToStr(lastlot,2)); ticket = OrderSend(Symbol(), OP_SELL, lastlot, Bid, Slippage, 0, 0, "", Magic,0, Red); }В этом условии должно быть (Bid >= price + Step*Point).И проверку надо добавить такую lastlot = FindLastLots(OP_BUY); if (lastlot Добавлено: 23-06-2013 15:13:20Да и ещё в функции инициализации надо добавить проверку:if(Digits == 3 || Digits == 5){ TakeProfit *= 10; Step *= 10; Slippage *= 10; MaxLoss *= 10; } Изменено 23 июня, 2013 пользователем Romhacker Ссылка на сообщение Поделиться на другие сайты More sharing options...
Dimasyok Опубликовано 23 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 23 июня, 2013 Подправил, уже лучше, но по-прежнему висит ошибка:OrderModify error 1 Martin.ex4Martin.mq4 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
bizforex Опубликовано 24 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 июня, 2013 Большое спасибо за уроки, если можно сделайте еще урок по применению в советнике внешних индикаторов. Не совсем понятно как использовать стрелочные индикаторы или индикаторы меняющие цвет. Ссылка на сообщение Поделиться на другие сайты More sharing options...
xbms Опубликовано 24 июня, 2013 Автор Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 июня, 2013 Подправил, уже лучше, но по-прежнему висит ошибка:OrderModify error 1 Итак, я поправил функцию ModifyOrders следующим образом: if (NormalizeDouble(OrderTakeProfit(), Digits) != TP) OrderModify(OrderTicket(), OrderOpenPrice(), 0, TP, 0, 0); так мы избавились от ошибки OrderModify error 1и поправил закрытие ордеров при убытке: if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Black); if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Black); так закрыли ошибки 4108всё работает как часики, в целом молодец :) 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Dimasyok Опубликовано 24 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 июня, 2013 Спасибо, в самом деле как часики :) Ссылка на сообщение Поделиться на другие сайты More sharing options...
larhange Опубликовано 24 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 июня, 2013 DimasyokКстати, твой Мартин с данными исправлениями, очень хорошо себя показывает на тесте, а именнопара EURUSD, таймфрейм М15Попробуй сам!) Ссылка на сообщение Поделиться на другие сайты More sharing options...
Dimasyok Опубликовано 24 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 июня, 2013 DimasyokКстати, твой Мартин с данными исправлениями, очень хорошо себя показывает на тесте, а именнопара EURUSD, таймфрейм М15Попробуй сам!) Тестил на Н1 за 2013 год, да в самом деле прибыль очееень хорошая Ссылка на сообщение Поделиться на другие сайты More sharing options...
larhange Опубликовано 24 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 июня, 2013 На М15, за тот же период, тебе понравиться ещё больше! Ссылка на сообщение Поделиться на другие сайты More sharing options...
Dimasyok Опубликовано 24 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 июня, 2013 На М15, за тот же период, тебе понравиться ещё больше! Всё зависит от настроек... но я думаю наш диалог это уже оффтоп :)Добавлено: 24-06-2013 15:02:33 xbms, добрый деньПри частичном закрытии ордера, оставшийся ордер сохраняет magic исходного ордера? Да, сохраняет...Вы ведь закрываете только часть объёма этого ордера...Добавлено: 04-06-2013 05:43:49Кстати, а где домашние задания?Кто-то вообще смотрит уроки?Нужны они кому-то? Конечно нужны, к 1 уроку дз не делал, вот ко второму сделал, а третье сейчас мучаю.Добавлено: 15-06-2013 09:57:29Вот закончил домашнее задание к 3 уроку. Но немогу пока прикрепить, потому-что больше 4-х вложений вставлять нельзя.... Вот кстати вспомнил, что не выкладывал к 3-му уроку д/зTest3ДЗ.ex4Test3ДЗ.mq4 Изменено 24 июня, 2013 пользователем Dimasyok 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
denis77515 Опубликовано 25 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 25 июня, 2013 Доброго времени суток всем, ребята нужна помощь такого плана.Сергей выкладывал уроки по программированиюна MQL4 если честно являюсь чайником в этом, хотя когда то начинал заниматься програмированием на Basic, но это было давно.Так что думал разберусь,но не тут то оказалось.В общем он написал советника по мартину, а до этого было видео о циклак ордерах и все такое.Я видать что то не понял,написал,точнее слизал буква в букву,коды отдельно друг от друга компилируются нормально без ошибок,а вот объеденить у меня мозгов не хватает.Суть его работы должна быть такова,расмотрим вариант Buy. Анализирует два последних бара,если цена ХАЙ выше Лоу предыдущего бара,то окрывает позицию на пакупку. Цена уходит ниже на определенное количество пунктов открывает еще один ордер,с увеличенным лотом,Модифицирует и выставляет общий Тейк Профит для всех ордеров.На продажу то же, только на оборот.Еще надо ограничить количество открываемых ордеров,то есть задать количество открываемых ордеров во внешних параметрах,как в BUY так и в Sell отдельно друг от друга. Если кому интересно свяжитесь со мной. Есть еще идея что туда можно прикрутить,я так торгую на реале,довольно не плохо только отслеживать все ордера в ручную ,напрягает очень. Прикрепляю два исходника в архиве 7-Zip, какие я написал,один рабочий, другой нет.Очень жду ваших ответов,заранее благодарен за уделенное время. Test.zip Ссылка на сообщение Поделиться на другие сайты More sharing options...
xbms Опубликовано 26 июня, 2013 Автор Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 июня, 2013 Привет, Денис!А почему не обсудить накопившиеся вопросы в теме уроков?http://tlap.com/forum/ugolok-programmista/13/obuchenie-yazyku-mql4-pod-metatrader-4/4034 Ссылка на сообщение Поделиться на другие сайты More sharing options...
denis77515 Опубликовано 26 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 июня, 2013 Здрасте всем,ребята смотрел уроки написал сову, но что не учел и не как не пойму в чем ошибка.Давайте разберем ее ? Ото получилась не сова, а так набор бесполезных символов. Tester_5.mq4 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
xbms Опубликовано 26 июня, 2013 Автор Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 июня, 2013 Здрасте всем,ребята смотрел уроки написал сову, но что не учел и не как не пойму в чем ошибка.Давайте разберем ее ? Ото получилась не сова, а так набор бесполезных символов. Ты может файлы попутал?там у тебя всего две строчки... Ссылка на сообщение Поделиться на другие сайты More sharing options...
denis77515 Опубликовано 26 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 июня, 2013 Ну да,сейчас исправлюсь. Добавлено: 26-06-2013 05:21:18По отдельности коды работают, попытался их объеденить их в кучу. Видать где то наделал ошибок и не разберусь где именно. Неделю уже сижу юзаю это дело, до меня не доходит не как. Вот и прошу помощи.Tester_6.mq4 Изменено 26 июня, 2013 пользователем denis77515 Ссылка на сообщение Поделиться на другие сайты More sharing options...
xbms Опубликовано 26 июня, 2013 Автор Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 июня, 2013 Денис, я посмотрел Ваш код...Вам нужно вернуться к началу, т.е. пересмотреть уроки 1,2,3.Вы сейчас даже не понимаете что Вы там пишете или пытаетесь скопировать из видео...В этом нет никакого смысла, если нет понимания.Поэтому рекомендую посмотреть первые части, прежде чем приступать к написанию советника такого плана. Ссылка на сообщение Поделиться на другие сайты More sharing options...
denis77515 Опубликовано 26 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 июня, 2013 Спасибо, вопрос а где они эти уроки? Я скачивал какие то,но мне кажется что они не последовательны.Если не затруднит скиньте ссылки на просмотр последовательно этих уроков. Еще раз спасибо. Ссылка на сообщение Поделиться на другие сайты More sharing options...
xbms Опубликовано 26 июня, 2013 Автор Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 июня, 2013 Спасибо, вопрос а где они эти уроки? Я скачивал какие то,но мне кажется что они не последовательны.Если не затруднит скиньте ссылки на просмотр последовательно этих уроков. Еще раз спасибо. Информация добавлена в первый пост... Изменено 26 июня, 2013 пользователем xbms Ссылка на сообщение Поделиться на другие сайты More sharing options...
denis77515 Опубликовано 26 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 июня, 2013 Вот спасибо,немедленно приступлю к изучению.Я как понимаю вы понели идею советника,вот хочу его написать. Просто в ручную следить тяжело за всем. Добавлено: 26-06-2013 07:23:10Уважаемый xbms,а поправить мою писанину можно? Привести в надлежащий вид ? Изменено 26 июня, 2013 пользователем denis77515 Ссылка на сообщение Поделиться на другие сайты More sharing options...
xbms Опубликовано 26 июня, 2013 Автор Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 июня, 2013 Цитата Уважаемый xbms,а поправить мою писанину можно? Привести в надлежащий вид ? Да, можно, поправьте! :)Однако заняться этим рекомендую после изучения предыдущих уроков...;) Ссылка на сообщение Поделиться на другие сайты More sharing options...
denis77515 Опубликовано 26 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 июня, 2013 Чем я сейчас и занялся,начал смотреть прямо с первого урока. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Шамиль Опубликовано 26 июня, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 июня, 2013 Привет. Я по привычке лечу всегда вперед. И на сегодняшний день столкнулся с проблемой создания информационных стрелочек на графике. Делаю вроде все правильно но , но не правильно !Не хочу мучать программера и просить создавать отдельно урок по дате и графическим указателям. Но прошу подсказать как решить мою задачу.Код прикрепленПеременная time_2 down_ содержит в себе время свечи. Мне это время надо вставить в ObjectCreate();время должно быть с префиксом D (пример D'2013.01.09 16:00')переменная содержит дату в виде 2013.01.09 16:00ObjectCreate ругаетсяпропись в виде = "D"+time_down_2;ObjectCreate ругаетсяЧто делать , как проставить стрелочки по указанным свечам. Чтоб они не летали где то за 10000 пунктов и пару лет назад а стояли над или под свечой.Заранее благодарен. perebor_svechey2.mq4 Изменено 26 июня, 2013 пользователем Шамиль Ссылка на сообщение Поделиться на другие сайты More sharing options...
xbms Опубликовано 26 июня, 2013 Автор Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 июня, 2013 Шамиль, дружище, пока не решишь домашние задания по предыдущим темам, даже не пытайся лететь впереди поезда...И новый минимум поТдержки тебе не вставить в ObjectCreate :) Добавлено: 26-06-2013 14:50:00В помощь изучающим MQL :)Rita Lasker тут прислала исходник своего нового советника...Эксперт работает, используя сразу три индикатора: Stochastic, RSI, WPR.Изучающим MQL должно быть интересно, прикладываю...Stoch_EA-mm-V4.mq4 Изменено 26 июня, 2013 пользователем xbms 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти