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