0ll Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 romses здесь мы не подскажем, ибо не знаем когда вызывается функция трала. Вы по свечам тралите или как? Три ордера в убыток, а ещё 5 штук в прибыль? или всего 3? Вы-бы хоть лог показали... Ссылка на сообщение Поделиться на другие сайты More sharing options...
ImpAsh Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 Сделай проверку на модификацию, он же у тебя меняет в не зависимости от того в нужную сторону идёт цена или нет! ;) Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 Сделай проверку на модификацию, он же у тебя меняет в не зависимости от того в нужную сторону идёт цена или нет! ;)У romses в коде модификация не от цены, а от уровня БУ, которая меняется только с открытием/закрытием ордеров... Ссылка на сообщение Поделиться на другие сайты More sharing options...
Ленивый Лис Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 Изучайте_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, там просто темный лес для меня. Можно ли как то по простому? Что сделать нужно? Ссылка на сообщение Поделиться на другие сайты More sharing options...
Silentspec Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 На этот раз не устанавливает указатель на начало файла.int SetFilePointer (string lpFileName, int lDistanceToMove=0, int lpDistanceToMoveHigh=0, int dwMoveMethod=0);result=SetFilePointer(handle,0,0,0);ПыСы: через CreateFileW заработало, с пробелами, без проблем. Теперь беда другая:) Ссылка на сообщение Поделиться на другие сайты More sharing options...
nixxer Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 Вы создали тему в разделе программирования и удивляетесь ответам где надо самостоятельно попытаться найти решение. 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
nixxer Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 На этот раз не устанавливает указатель на начало файла.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 Ссылка на сообщение Поделиться на другие сайты More sharing options...
romses Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 romses здесь мы не подскажем, ибо не знаем когда вызывается функция трала. Вы по свечам тралите или как? Три ордера в убыток, а ещё 5 штук в прибыль? или всего 3? Вы-бы хоть лог показали... Фунцкия трала вызывается каждую новую свечку, на м1 соответсвенно каждую минуту, так же как и функция открытия оредров.В 90 процентов случаях тралл срабатывает правильно и часть ордеров закрывает в минус, а часть в плюс и в итоге общий плюс.Но иногда она сдвигает ТП так что общий итог минус хоть часть оредров тоже может закрыть в плюс. Я не могу понять как он может такое делать? Ссылка на сообщение Поделиться на другие сайты More sharing options...
Ленивый Лис Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 Вы создали тему в разделе программирования и удивляетесь ответам где надо самостоятельно попытаться найти решение. Где же найти совет от людей компетентнее, чем тут? Я рад найти решение сам, но не имею ресурсов выучить для этого язык и что делать с кодами по ссылкам, которые Вы мне рекомендовали, не представляю. Укажите хотя бы что мне нужно сделать Ссылка на сообщение Поделиться на другие сайты More sharing options...
Qj Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 romses здесь мы не подскажем, ибо не знаем когда вызывается функция трала. Вы по свечам тралите или как? Три ордера в убыток, а ещё 5 штук в прибыль? или всего 3? Вы-бы хоть лог показали... Фунцкия трала вызывается каждую новую свечку, на м1 соответсвенно каждую минуту, так же как и функция открытия оредров.В 90 процентов случаях тралл срабатывает правильно и часть ордеров закрывает в минус, а часть в плюс и в итоге общий плюс.Но иногда она сдвигает ТП так что общий итог минус хоть часть оредров тоже может закрыть в плюс. Я не могу понять как он может такое делать? Вы не думали что средне арифметическое взвешенное может давать ТР в минус? 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 Вы не думали что средне арифметическое взвешенное может давать ТР в минус? и про спрэд не забываем. Вы рассчитываете уровень БУ по ценам открытия, поэтому нужно спрэд учитывать... Ссылка на сообщение Поделиться на другие сайты More sharing options...
romses Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 Как среднее арифметическое с учетом лотности плюс ТП может давать минус?По поводу спрэда, свопа и комиссии, то они судя по логу не съедают прибыль, а именно назначение ТП ниже нужного дает минус.А что если добавить проверку в случае оредров на BUY ТП BID и отправлять на пересчет? Изменено 19 ноября, 2015 пользователем romses Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 А как Вы почту собираетесь смотреть - комп вытаскивать или через мобилу? если мобилой, то можно сам терминал туда сунуть и наслаждаться графиком в любой момент и комп вытаскивать только когда сигнал нарисуется... Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 Как среднее арифметическое с учетом лотности плюс ТП может давать минус?По поводу спрэда, свопа и комиссии, то они судя по логу не съедают прибыль, а именно назначение ТП ниже нужного дает минус.А что если добавить проверку в случае оредров на BUY ТП BID и отправлять на пересчет? 1. Мы не ведаем о Вашем размере ТП - мы предполагаем...2. У Вас расчётный уровень БУ всегда в минусе, а не в "0", значит в размер ТП нужно закладывать спрэд на момент закрытия.3. Вы имеете в виду расчётный уровень ТП? Ну тогда Бай ТП Ссылка на сообщение Поделиться на другие сайты More sharing options...
Qj Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 Как среднее арифметическое с учетом лотности плюс ТП может давать минус? Очень просто если вес одного из дальних от ТР ордеров большем чем у остальных. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Ленивый Лис Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 А как Вы почту собираетесь смотреть - комп вытаскивать или через мобилу? если мобилой, то можно сам терминал туда сунуть и наслаждаться графиком в любой момент и комп вытаскивать только когда сигнал нарисуется... Нужны именно скрины моих шаблонов, терминал в мобиле не канает. Просматривать и с планшета, и с телефона. Я вообще пока не вижу другого способа дисциплинированно торговать без такой отправки, для меня нереально доставать копм в нужное время, всегда это неудобно, сигналы пропускаются, раздражение, психологическое давление растет - скрины на почту реально спасение и получится охватить необходимое мне кол-во пар, но как это сделать?.. Изменено 19 ноября, 2015 пользователем Ленивый Лис Ссылка на сообщение Поделиться на другие сайты More sharing options...
Старик Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 Ленивый Лис, если вы не программист и вам нужен скриншот экрана, где не стоит ваш или чей-то бот (куда скриншот и отсылку на почту можно было бы встроить), то у вас прямая НЕ форекс задача - по определенному временному графику, задаваемому с точностью до минут, скриншотить экран и отсылать вам на почту.Забудьте по ТФ, свечи и всю форекс атрибутику - вам нужны скрины экрана раз в сколько-то минут по какому-то графику и отсылка скрина на почту.А что на экране, хоть порнуха - то программе-скриншотеру по барабану.Такие вещи должны уметь делать бесплатные программы-скриншотеры из инета.Я серьезно говорю - погуглите, на 90% уверен, что нужное вам в данном случае решение в инете готовое есть.Вариант 2. у вас прямо в терминале есть вкладка Библиотека. Там смотрели нужную вам программу? Вариант 3. _https://www.mql5.com/ru/code/mt4/scripts Здесь смотрели?А вообще-то, насколько понимаю, вы всех ввели в недоумение, написав не в тот раздел - вам-то нужен раздел ПОИСКА.Это соседний топик.А здесь иногда дорабатывают имеющихся индюков, скриптов - чего у вас нет.Вот все и в недоумении чего вообще мужик пристал... Изменено 19 ноября, 2015 пользователем Старик Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 Старик делать скрины может много программ, например эта, а вот отсылать скрин по почте - дело не такое лёгкое, да и не особо нужное...Если есть ВПС поставить туда терминал с шаблонами и с мобилы подключиться через виртуальный рабочий стол. Я так и сделал и полноценный терминал под рукой и торговать с мобилы можно... Можно и к домашнему компу с мобилы подключиться, но тут я не подскажу как настраивать... 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Старик Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 :) интересно, а просто в терминале это сделать нельзя?Скриншотить можно всё, настройки на почту тоже вроде в терминале - вопрос можно ли настроить это делать по временному графику... Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 Фух, нашёл сову которая отправляет скрины на почту. Сделал-таки работу за топикстартера.Вот ссылка 5 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Silentspec Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 Не могу побороть чтение из файла.Вот этой функцией я открываю файл: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 0x000000082 вариант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); } Возможно ошибка глупая, просто глаз уже замылен... Изменено 19 ноября, 2015 пользователем Silentspec Ссылка на сообщение Поделиться на другие сайты More sharing options...
Старик Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 и почему меня не удивляет, что работу за Ленивого Лиса сделал кто-то другой... :d0ll очередной поклон! Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 Что такое "s"? как описал? mql строки не всегда можно передать напрямую в апи-функции, надо читать мсдн.Если читать по-байтово, то явно напрямую не прочтёшь - у тебя сэт-файл в юникоде, а он 2 байта / символ.Сайлент, реально, поверь - работать со строками через апи - геморрой, навык нужен. Я сам не великий мастер, но еле продрался через апи, чтоб строку в юникоде в терминал из инета получить через сокет. 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Silentspec Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 string s="";пока как то так.мсдн читаю, да вот не могу вникнуть, чем должна быть s.s это string lpBuffer в функции ReadFileСпасибо, 0ll, действительно, сет файл в юникоде, а читаем мы байты... Изменено 19 ноября, 2015 пользователем Silentspec Ссылка на сообщение Поделиться на другие сайты More sharing options...
Ленивый Лис Опубликовано 19 ноября, 2015 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2015 Забудьте по ТФ, свечи и всю форекс атрибутику - вам нужны скрины экрана раз в сколько-то минут по какому-то графику и отсылка скрина на почту.Вариант 2. у вас прямо в терминале есть вкладка Библиотека. Там смотрели нужную вам программу? А вообще-то, насколько понимаю, вы всех ввели в недоумение, написав не в тот раздел - вам-то нужен раздел ПОИСКА. Вариант со скриншотом экрана, разумеется, не подходитВ библиотеке, конечно, нету такогоСтарик делать скрины может много программ, например _www.mql5.com/ru/code/11704, а вот отсылать скрин по почте - дело не такое лёгкое, да и не особо нужное...Если есть ВПС поставить туда терминал с шаблонами и с мобилы подключиться через виртуальный рабочий стол. Я так и сделал и полноценный терминал под рукой и торговать с мобилы можно... Этот советник делает то, что нужно, спасибо, но нужно еще чтобы скрины отправлялись с ВПС на почту.В этом есть ряд плюсов, а в подключении к ВПС минусов, которые лично для меня сильно значительны.Как бы все это организовать...В раздел поиска, кажется, меньше смысла писать, шанс, что имеется нечто, что и отскринит и отправит мне представляется ничтожным, а тут может посоветуют что-нибудь с творческим подходом.Добавлено: 19-11-2015 15:14:51Фух, нашёл сову которая отправляет скрины на почту. Сделал-таки работу за топикстартера.Вот _https://www.mql5.com/ru/code/10352 Не врубаюсь, как настроить :(Не вводится нужный каталог в настройках и вообще, что куда...Прога для старой версии МТ. Не пинайте, объясните... Изменено 19 ноября, 2015 пользователем Ленивый Лис Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти