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

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


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

Обучение языку MQL4 под MetaTrader 4 Опубликовано
romses здесь мы не подскажем, ибо не знаем когда вызывается функция трала. Вы по свечам тралите или как? Три ордера в убыток, а ещё 5 штук в прибыль? или всего 3? Вы-бы хоть лог показали...
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

Перейти

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

Перейти

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

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

Сделай проверку на модификацию, он же у тебя меняет в не зависимости от того в нужную сторону идёт цена или нет! ;)

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

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


Сделай проверку на модификацию, он же у тебя меняет в не зависимости от того в нужную сторону идёт цена или нет! ;)

У romses в коде модификация не от цены, а от уровня БУ, которая меняется только с открытием/закрытием ордеров...
Ссылка на сообщение
Поделиться на другие сайты

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


Изучайте
_http://docs.mql4.com/ru/chart_operations/windowscreenshot
_http://docs.mql4.com/ru/chart_operations/chartscreenshot
_http://docs.mql4.com/ru/common/webrequest
_http://docs.mql4.com/ru/common/sendftp



Черт, я ничего не понимаю в mql4, там просто темный лес для меня. Можно ли как то по простому? Что сделать нужно?
Ссылка на сообщение
Поделиться на другие сайты

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

На этот раз не устанавливает указатель на начало файла.

int SetFilePointer (string lpFileName, int lDistanceToMove=0, int lpDistanceToMoveHigh=0, int dwMoveMethod=0);

result=SetFilePointer(handle,0,0,0);

ПыСы: через CreateFileW заработало, с пробелами, без проблем. Теперь беда другая:)

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

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

Вы создали тему в разделе программирования и удивляетесь ответам где надо самостоятельно попытаться найти решение.

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

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


На этот раз не устанавливает указатель на начало файла.

int SetFilePointer (string lpFileName, int lDistanceToMove=0, int lpDistanceToMoveHigh=0, int dwMoveMethod=0);

result=SetFilePointer(handle,0,0,0);

ПыСы: через CreateFileW заработало, с пробелами, без проблем. Теперь беда другая:)


Рекомендую ознакомиться с описанием результатов работы функции SetFilePointer и сделать выводы
_https://msdn.microsoft.com/ru-ru/library/windows/desktop/aa365541%28v=vs.85%29.aspx
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

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


romses здесь мы не подскажем, ибо не знаем когда вызывается функция трала. Вы по свечам тралите или как? Три ордера в убыток, а ещё 5 штук в прибыль? или всего 3? Вы-бы хоть лог показали...



Фунцкия трала вызывается каждую новую свечку, на м1 соответсвенно каждую минуту, так же как и функция открытия оредров.

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

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

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


Вы создали тему в разделе программирования и удивляетесь ответам где надо самостоятельно попытаться найти решение.


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

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



romses здесь мы не подскажем, ибо не знаем когда вызывается функция трала. Вы по свечам тралите или как? Три ордера в убыток, а ещё 5 штук в прибыль? или всего 3? Вы-бы хоть лог показали...



Фунцкия трала вызывается каждую новую свечку, на м1 соответсвенно каждую минуту, так же как и функция открытия оредров.

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

Я не могу понять как он может такое делать?

Вы не думали что средне арифметическое взвешенное может давать ТР в минус?
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

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


Вы не думали что средне арифметическое взвешенное может давать ТР в минус?

и про спрэд не забываем. Вы рассчитываете уровень БУ по ценам открытия, поэтому нужно спрэд учитывать...
Ссылка на сообщение
Поделиться на другие сайты

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

Как среднее арифметическое с учетом лотности плюс ТП может давать минус?

По поводу спрэда, свопа и комиссии, то они судя по логу не съедают прибыль, а именно назначение ТП ниже нужного дает минус.

А что если добавить проверку в случае оредров на BUY ТП BID и отправлять на пересчет?

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

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

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

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

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


Как среднее арифметическое с учетом лотности плюс ТП может давать минус?

По поводу спрэда, свопа и комиссии, то они судя по логу не съедают прибыль, а именно назначение ТП ниже нужного дает минус.

А что если добавить проверку в случае оредров на BUY ТП BID и отправлять на пересчет?


1. Мы не ведаем о Вашем размере ТП - мы предполагаем...
2. У Вас расчётный уровень БУ всегда в минусе, а не в "0", значит в размер ТП нужно закладывать спрэд на момент закрытия.
3. Вы имеете в виду расчётный уровень ТП? Ну тогда Бай ТП
Ссылка на сообщение
Поделиться на другие сайты

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


Как среднее арифметическое с учетом лотности плюс ТП может давать минус?


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

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


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


Нужны именно скрины моих шаблонов, терминал в мобиле не канает. Просматривать и с планшета, и с телефона. Я вообще пока не вижу другого способа дисциплинированно торговать без такой отправки, для меня нереально доставать копм в нужное время, всегда это неудобно, сигналы пропускаются, раздражение, психологическое давление растет - скрины на почту реально спасение и получится охватить необходимое мне кол-во пар, но как это сделать?.. Изменено пользователем Ленивый Лис
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
Ленивый Лис, если вы не программист и вам нужен скриншот экрана, где не стоит ваш или чей-то бот (куда скриншот и отсылку на почту можно было бы встроить), то у вас прямая НЕ форекс задача - по определенному временному графику, задаваемому с точностью до минут, скриншотить экран и отсылать вам на почту.
Забудьте по ТФ, свечи и всю форекс атрибутику - вам нужны скрины экрана раз в сколько-то минут по какому-то графику и отсылка скрина на почту.
А что на экране, хоть порнуха - то программе-скриншотеру по барабану.

Такие вещи должны уметь делать бесплатные программы-скриншотеры из инета.
Я серьезно говорю - погуглите, на 90% уверен, что нужное вам в данном случае решение в инете готовое есть.


Вариант 2. у вас прямо в терминале есть вкладка Библиотека. Там смотрели нужную вам программу?


Вариант 3. _https://www.mql5.com/ru/code/mt4/scripts Здесь смотрели?


А вообще-то, насколько понимаю, вы всех ввели в недоумение, написав не в тот раздел - вам-то нужен раздел ПОИСКА.
Это соседний топик.

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

Обучение языку MQL4 под MetaTrader 4 Опубликовано
Старик делать скрины может много программ, например эта, а вот отсылать скрин по почте - дело не такое лёгкое, да и не особо нужное...
Если есть ВПС поставить туда терминал с шаблонами и с мобилы подключиться через виртуальный рабочий стол. Я так и сделал и полноценный терминал под рукой и торговать с мобилы можно... Можно и к домашнему компу с мобилы подключиться, но тут я не подскажу как настраивать...
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

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

:) интересно, а просто в терминале это сделать нельзя?
Скриншотить можно всё, настройки на почту тоже вроде в терминале - вопрос можно ли настроить это делать по временному графику...

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

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

Фух, нашёл сову которая отправляет скрины на почту. Сделал-таки работу за топикстартера.
Вот ссылка

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

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

Не могу побороть чтение из файла.
Вот этой функцией я открываю файл:

int CreateFileW (string lpFileName,int dwDesiredAccess=1,int dwShareMode=0x00000001,int lpSecurityAttributes=NULL, int dwCreationDisposition=3, int dwFlagsAndAttributes=0x80, int hTemplateFile=NULL);
А читаю не понял какой...
1 вариант:
int ReadFileEx (int hFile, string lpBuffer, int nNumberOfBytesToRead, int lpOverlapped, int lpCompletionRoutine);
Выдает ошибку Access violation read to 0x00000008
2 вариант
int ReadFile (int hFile, string lpBuffer, int nNumberOfBytesToRead, int lpNumberOfBytesRead, int lpOverlapped);
Возвращает единицу, тоесть тру.

Вот кусок кода:

Спойлер

if (FileExists(filepath)==-1)
{
Print("Такого файла не существует ",filepath);

return (-1);
}
int handle=CreateFileW (filepath);
if(handle {
Print("Ошибка открытия файла ",filepath);
return (-1);
}
result=SetFilePointer(handle);
if(result {
Print("Ошибка установки указателя" );
return (-1);
}

int q=GetFileSize(handle,0); //Определил размер файла в байтах
result=ReadFileEx (handle,s,1,0,0); //прочитал, в s залили первый байт
Print("result ReadFile=",result); //вернуло единичку

int i=0;
int d=0;
for(i=0;i {
result=ReadFileEx (handle,s,1,0,0); // возвращает единичку
Print("result=",result);
if(s=="" || StringFind(s,",")>0) continue; //а тут вот обнаруживается, что s="", тобишь ничего. Может быть она должна быть не стринг? Или не переменная? В описании написано, что в нее возвращается дата из файла как раз, если я правильно понял.
Print("s=",s);
Print("d=",d);
lines=s; //сохраним все переменные из файла в массив для последующего поиска и выборки

Print("result=",result);
ArrayResize(lines,i+1);
}



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

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

и почему меня не удивляет, что работу за Ленивого Лиса сделал кто-то другой... :d

0ll очередной поклон!

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

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

Что такое "s"? как описал? mql строки не всегда можно передать напрямую в апи-функции, надо читать мсдн.
Если читать по-байтово, то явно напрямую не прочтёшь - у тебя сэт-файл в юникоде, а он 2 байта / символ.
Сайлент, реально, поверь - работать со строками через апи - геморрой, навык нужен. Я сам не великий мастер, но еле продрался через апи, чтоб строку в юникоде в терминал из инета получить через сокет.

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

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

string s="";
пока как то так.
мсдн читаю, да вот не могу вникнуть, чем должна быть s.
s это string lpBuffer в функции ReadFile
Спасибо, 0ll, действительно, сет файл в юникоде, а читаем мы байты...

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

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


Забудьте по ТФ, свечи и всю форекс атрибутику - вам нужны скрины экрана раз в сколько-то минут по какому-то графику и отсылка скрина на почту.

Вариант 2. у вас прямо в терминале есть вкладка Библиотека. Там смотрели нужную вам программу?

А вообще-то, насколько понимаю, вы всех ввели в недоумение, написав не в тот раздел - вам-то нужен раздел ПОИСКА.



Вариант со скриншотом экрана, разумеется, не подходит
В библиотеке, конечно, нету такого


Старик делать скрины может много программ, например _www.mql5.com/ru/code/11704, а вот отсылать скрин по почте - дело не такое лёгкое, да и не особо нужное...
Если есть ВПС поставить туда терминал с шаблонами и с мобилы подключиться через виртуальный рабочий стол. Я так и сделал и полноценный терминал под рукой и торговать с мобилы можно...


Этот советник делает то, что нужно, спасибо, но нужно еще чтобы скрины отправлялись с ВПС на почту.
В этом есть ряд плюсов, а в подключении к ВПС минусов, которые лично для меня сильно значительны.
Как бы все это организовать...

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



Добавлено: 19-11-2015 15:14:51


Фух, нашёл сову которая отправляет скрины на почту. Сделал-таки работу за топикстартера.
Вот _https://www.mql5.com/ru/code/10352


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

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

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

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

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

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

Войти

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

Войти

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


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

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