Jump to content
Programmer

Общие вопросы по языку MQL

Recommended Posts

Ugar68
Posted (edited)
3 часа назад, Mighty Mouse сказал:

@Ugar68, как лучше всего организовать работу с текстовым файлом?

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

Если программно закрываю лог, то при новом открытии он перезаписывается. 

 

1. Открывая расшарить для чтения. Тогда его можно читать любым просмотрщиком.

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

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

Edited by Ugar68
  • Thanks 1

Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку.
Чужие программы не переделываю.

Share this post


Link to post
Share on other sites
Eugeny_Iv

Доброго дня.

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

Соответственно это видно как моментальное открытие-закрытие и попадаешь на спред((( Данный глюк происходит крайне редко и что характерно по утрам (время московское). Если у кого бывало такое - буду рад любой инфе.

Share this post


Link to post
Share on other sites
Malcolm
1 минуту назад, Eugeny_Iv сказал:

в коде прописаны параметры открытия сделки, но советник открывает сделку на первом тике, затем на втором тике видит, что параметры для открытия сделки не соблюдены и закрывает открытые на первом тике сделки.

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

  • Upvote 1

Надоели одномоментные сливы? Надо было диверсифицировать

Share this post


Link to post
Share on other sites
Eugeny_Iv
2 минуты назад, Malcolm сказал:

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

Спасибо за ответ. Для себя такое поведение могу объяснить только разницей в исторических данных на 1м тике и на 2м. Так как советник основное время работает корректно, за исключением таких вот редких моментов.

Share this post


Link to post
Share on other sites
Eugeny_Iv
31 минуту назад, Malcolm сказал:

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

Алгоритм и логика советника корректны. Просто я не думал и не учел, что может быть динамическое изменение исторических данных графика цены. Поэтому совет не закрываться на свече открытия имеет смысл.

Share this post


Link to post
Share on other sites
kaif
18.09.2019 в 04:42, Eugeny_Iv сказал:

Доброго дня.

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

Соответственно это видно как моментальное открытие-закрытие и попадаешь на спред((( Данный глюк происходит крайне редко и что характерно по утрам (время московское). Если у кого бывало такое - буду рад любой инфе.

 

У меня есть предположение.

Если советник использует скользящие средние (MA) и те в свой расчет включают текущий бар, то вполне возможна такая ситуация.

Допустим, мы берем среднюю цену за последние 20 баров.

Это не совсем история, если считать не с бара 1, а с бара 0.

Так как бар 0 непосредственно влияет на это среднее.


механическая торговая система на основе индикатора AT-линий
описание торговой стратегии LTR-AUTO, хроника событий
Docendo discimus

Share this post


Link to post
Share on other sites
Eugeny_Iv
1 час назад, kaif сказал:

 

У меня есть предположение.

Если советник использует скользящие средние (MA) и те в свой расчет включают текущий бар, то вполне возможна такая ситуация.

Допустим, мы берем среднюю цену за последние 20 баров.

Это не совсем история, если считать не с бара 1, а с бара 0.

Так как бар 0 непосредственно влияет на это среднее.

Спасибо за совет. Текущий бар не используется, без нулевых, минимум 1. Модифицировал блок автозакрытия.

Share this post


Link to post
Share on other sites
Mighty Mouse

@Ugar68 , индюк рисует стрелки на часовке через буфер, но при переключении на более высокие ТФ они перестают быть информативными, налазят на свечи и мешают. Как сделать ограничение по видимости вроде того что сделано для объектов? Пока придумал только проверять текущий ТФ и если он не устраивает обнулять буфер. Может еще какой способ есть?

Share this post


Link to post
Share on other sites
Ugar68
53 минуты назад, Mighty Mouse сказал:

@Ugar68 , индюк рисует стрелки на часовке через буфер, но при переключении на более высокие ТФ они перестают быть информативными, налазят на свечи и мешают. Как сделать ограничение по видимости вроде того что сделано для объектов? Пока придумал только проверять текущий ТФ и если он не устраивает обнулять буфер. Может еще какой способ есть?

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

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

Edited by Ugar68

Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку.
Чужие программы не переделываю.

Share this post


Link to post
Share on other sites
sviter

Добрый день помогите по параболику пожалуйста! хочу с советнике сделать логику как изображена на картинке:

 

 

код пишу так:

ParSar_0 = iSAR(NULL, time1_method, parsar_Step, parsar_Maximum, 0);
ParSar_1 = iSAR(NULL, time1_method, parsar_Step, parsar_Maximum, 1);

     if(ParSar_0 < Bid && ParSar_1 > Bid)
     {
         TP = NormalizeDouble(Ask + takeprofit * _Point, _Digits);
         ticket = OpenOrder(_Symbol, OP_BUY, lot, Ask, slippage, 0, TP, comment, Magic, 0, clrGreen); //покупка
     }
     
     if(ParSar_0 > Bid && ParSar_1 < Bid)
     {
         TP = NormalizeDouble(Bid - takeprofit * _Point, _Digits);
         ticket = OpenOrder(_Symbol, OP_SELL, lot, Bid, slippage, 0, TP, comment, Magic, 0, clrRed); //продажа
     }
     } 

 

посмотрите может я ошибок наделал каких? ибо он дает сбои....заранее благодарен!

 

Снимок.PNG

Share this post


Link to post
Share on other sites
Ugar68

Ошибки надо анализировать. Для этого использовать Print().

Нужно учитывать что сар может быть равен цене. Нужно учитывать проблему погрешности работы с double значениями при обработке данныйх индикатора и цены. Проблема в том что сам сар написан без учёта погрешности. По этому, при сар=бид, сар может переключиться, а может и нет.  По этому, не стоит удивляться, если в этой ситуации, сар на графике переключился, а советник так не думает.


Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку.
Чужие программы не переделываю.

Share this post


Link to post
Share on other sites
zvagolskiy.ru

Здравствуйте,уважаемые трейдеры.Подскажите хороший учебник по MQL4,чтобы все было с самого начала,с нуля и до написания советника.

Share this post


Link to post
Share on other sites
Ugar68
1 час назад, zvagolskiy.ru сказал:

Здравствуйте,уважаемые трейдеры.Подскажите хороший учебник по MQL4,чтобы все было с самого начала,с нуля и до написания советника.

На официальном сайте давно лежит. Достаточно что бы начать писать советники.


Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку.
Чужие программы не переделываю.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×