Jump to content

помогите разобраться


zvagolskiy.ru

Recommended Posts

zvagolskiy.ru

Спасибо.Очень благодарен Вам.Желаю Вам хорошего профита.

Link to post
Share on other sites
  • Replies 104
  • Created
  • Last Reply

Top Posters In This Topic

  • zvagolskiy.ru

    61

  • Hitronrav

    27

  • Ugar68

    14

  • Wowa

    1

Top Posters In This Topic

Popular Posts

На официальном сайте есть старенький учебник. https://book.mql4.com/ru Может не очень удобный, за то вроде как правильный.

Никогда не пользовался трейлинг стопами, но добавил. Отслеживает положение стопа на каждом тике. Если вам достаточно раз за свечу, то запихайте код трала под if(PrevTime!=iTime(Symbol(),0,0)) {

Я же вам предлагал сначала изучить C-подобный синтаксис. Одно из его правил – блочная инструкция окружается фигурными скобками {}. Блок начался – скобка открывается, блок кончился – скобка закрывается

Posted Images

Hitronrav
2 часа назад, zvagolskiy.ru сказал:

При тестировании тестер пишет в журнале сначала:Открыт ордер на покупку,а потом Order Send error 130.

 

OrderSend error 130 конкретно в данном случае из-за того, что стоп продажи ниже цены, а тейк выше. А продажа получилась вместо покупки потому, что вместо OP_BUY, то есть нуля, в функцию OrderSend передана Opn_B, которая равна true, то есть единице, то есть OP_SELL.

Link to post
Share on other sites
Hitronrav
3 минуты назад, zvagolskiy.ru сказал:

Спасибо.Очень благодарен Вам.Желаю Вам хорошего профита.

 

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

  if(OrdersTotal()!=0) return;

тогда он будет открывать только одну.

Link to post
Share on other sites
zvagolskiy.ru

Спасибо.Сам бы я не разобрался.А интернете очень много не нужной информации.А так все быстро и понятно.Спасибо еще раз.

Link to post
Share on other sites
zvagolskiy.ru

Здравствуйте.Это опять я.Постарался все исправить,как Вы написали.Проверьте,пожалуйста.И укажите все ошибки,если Вам не трудно.

uthyeba 5.mq4

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

Здравствуйте.Это опять я.Постарался все исправить,как Вы написали.Проверьте,пожалуйста.И укажите все ошибки,если Вам не трудно.

uthyeba 5.mq4 6 kB · 2 скачивания

 

Так, во-первых, стоп покупки ставится ниже цены, тейк выше цены, стоп продажи выше цены, тейк ниже, а у вас всё наоборот.

Во-вторых, вы не те нули заменили на единицы.

 

Остальное зависит от того, какую ТС должен реализовывать советник.

Link to post
Share on other sites
zvagolskiy.ru

Спасибо.Заработал!Только слился.

  • Upvote 1
Link to post
Share on other sites
  • 1 month later...
zvagolskiy.ru

Здравствуйте.Я протестировал один советник из уроков по mql,так вот у советника на графике изменения баланса рядом с основной кривой голубого цвета рядом нарисована еще одна кривая зеленого цвета.А что показывает эта линия зеленого цвета?StrategyTesteruthyeba8.htm

Link to post
Share on other sites
Ugar68
18.10.2020 в 17:27, zvagolskiy.ru сказал:

Здравствуйте.Я протестировал один советник из уроков по mql,так вот у советника на графике изменения баланса рядом с основной кривой голубого цвета рядом нарисована еще одна кривая зеленого цвета.А что показывает эта линия зеленого цвета?StrategyTesteruthyeba8.htm

Что бы отображался график, надо не html файл, а картинку с таким же именем.

На графике тестера МТ4 кривые баланса и средств. Но график средств там не полноценный. Он идёт по закрытым сделкам. А если пока сделка была открыта средства обваливались и вернулись, этого обвала видно не будет. В МТ5 это лучше продумано.

Edited by Ugar68

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

Link to post
Share on other sites
zvagolskiy.ru

Понятно.Спасибо.

Link to post
Share on other sites
  • 4 weeks later...
zvagolskiy.ru

Здравствуйте.Я продолжаю самостоятельно постигать программирование.Написал простейший советник,протестировал его.Подскажите,пожалуйста,почему советник открStrategyTesteruchyeba11a.htmывает так много одинаковых ордеров?И что нужно написать в коде,чтобы советник открывал только один ордер на покупку или продажу?

uchyeba11a.mq4

Link to post
Share on other sites
Hitronrav
56 минут назад, zvagolskiy.ru сказал:

Подскажите,пожалуйста,почему советник открывает так много одинаковых ордеров?

 

Ну вы просто написали – при выполнении некоторого условия (одна машка выше другой) открывать ордер, вот он и открывает их на каждом тике.

 

56 минут назад, zvagolskiy.ru сказал:

И что нужно написать в коде,чтобы советник открывал только один ордер на покупку или продажу?

 

Я же выше заранее дал ответ на этот вопрос 🙄

Link to post
Share on other sites
zvagolskiy.ru

Понятно.Спасибо.

Link to post
Share on other sites
  • 2 weeks later...
zvagolskiy.ru

Здравствуйте.Подскажите,пожалуйста.Почему этот советник открывает только ордера на покупку?

StrategyTester 1.htm 1.mq4

Link to post
Share on other sites
Hitronrav
42 минуты назад, zvagolskiy.ru сказал:

Здравствуйте.Подскажите,пожалуйста.Почему этот советник открывает только ордера на покупку?

 

Потому что у вас переменные Opn_B, Opn_S и Ticket объявлены как глобальные (в начале кода, вне функций). Поэтому, когда первый раз срабатывает условие на открытие покупки, Opn_B присваивается значение true и далее во время выполнения оно всегда остаётся true. Из-за этого сразу же после закрытия очередной сделки по стопу или профиту открывается новая покупка, потому что код открытия покупок расположен выше кода открытия продаж. Но даже если бы покупки не открывались, всё равно после первой сделки исполнение не дошло бы до куска кода с продажами, так как переменная Ticket тоже является глобальной и сохраняет записанное в неё значение, из-за чего, когда Ticket становится равным 1 (после первой сделки), происходит выход из функции по условию:

  if(Ticket>0) {
    Print("Открыт ордер на покупку.",Ticket);
    return;
    }

 

Исправить это можно двумя путями: либо каждый раз в начале функции OnTick присваивать Opn_B и Opn_S значение false, а Ticket значение 0. Либо перенести объявление этих переменных в функцию, то есть сделать их локальными. Второй путь более правилен, так как эти переменные используются исключительно в функции OnTick, следовательно, глобальными им быть ни к чему.

Link to post
Share on other sites
zvagolskiy.ru

Спасибо.Понял.

Link to post
Share on other sites
zvagolskiy.ru

Здравствуйте.Добавил в этот советник трейлинг стоп,а он почему то не работает.Подскажите,пожалуйста почему.

StrategyTester11.htm 1.mq4

Link to post
Share on other sites
Wowa
03.12.2020 в 12:13, zvagolskiy.ru сказал:

Здравствуйте.Добавил в этот советник трейлинг стоп,а он почему то не работает.Подскажите,пожалуйста почему.

StrategyTester11.htm 1 MB · 3 скачивания 1.mq4 8 kB · 2 скачивания

Полностью в текст не вникал, но навскидку:

1. 

 if(Bid-OrderOpenPrice()>TraillingStop*Point || OrderStopLoss()==StopLoss)

Функция OrderStopLoss() имеет размерность цены (например, 1.33565), а Ваша переменная 

StopLoss=51

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

SL=Ask+StopLoss*Point

2. Не понял, для чего вообще это сравнение

OrderStopLoss()==StopLoss

 


Мы сами знаем, что проблема не имеет решения. Мы хотим знать, как ее решать. (с) К. Хунта

Link to post
Share on other sites
zvagolskiy.ru

Спасибо.Понял.

Link to post
Share on other sites
Hitronrav
10.12.2020 в 00:19, zvagolskiy.ru сказал:

Спасибо.Понял.

 

Вдобавок к сказанному комментатором выше, весь код трейлинг-стопа не будет выполняться, подумайте сами почему. Подсказка: смотрите в начало функции OnTick().

Edited by Hitronrav
Link to post
Share on other sites
  • 1 month later...
zvagolskiy.ru

Здравствуйте.Подскажите,пожалуйста.У меня почему то перестала работать Справка в МetaEditor.Раньше выделял нажатием на левую кнопку мыши нужное,затем жал на F1,и выходило окно со справкой.А сейчас выходит окно поискав интернете.Это у меня одного так?В чем может быть причина?Я уже спрашивал на форуме,но там один человек попросил указать ему мой номер счета.Зачем?Причем тут мой счет? 

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

Я уже спрашивал на форуме,но там один человек попросил указать ему мой номер счета.Зачем?Причем тут мой счет? 

 

Это был не человек, а администратор(ка) форума 😀 Ей можно доверять 😀 Сам не представляю, зачем в этой ситуации может требоваться номер счёта, но, наверно, админам виднее 😀 Пишите ей в личку смело.

Link to post
Share on other sites
  • 2 months later...
zvagolskiy.ru

Здравствуйте.Помогите,пожалуйста разобраться.Самостоятельно пытаюсь изучать mql,пытаюсь написать простейший код советника,основанный на индикаторе Боллинджера.Написал его,протестировал,но советник не открывает ордера.По сообщениям в журнале я понял,что он запускается в работу.Но потом сразу пишет,что ордер на продажу не открыт.Я пытался сам разобраться почему это происходит,но никак не разберусь.А стратегия советника такая,что он будет открывать ордера,когда будет касаться верхней или нижней линии Боллинджера.NightScalper2.mq4

Link to post
Share on other sites
Ugar68
05.04.2021 в 16:49, zvagolskiy.ru сказал:

Здравствуйте.Помогите,пожалуйста разобраться.Самостоятельно пытаюсь изучать mql,пытаюсь написать простейший код советника,основанный на индикаторе Боллинджера.Написал его,протестировал,но советник не открывает ордера.По сообщениям в журнале я понял,что он запускается в работу.Но потом сразу пишет,что ордер на продажу не открыт.Я пытался сам разобраться почему это происходит,но никак не разберусь.А стратегия советника такая,что он будет открывать ордера,когда будет касаться верхней или нижней линии Боллинджера.NightScalper2.mq4

 

PRICE_CLOSE==Bid Это бред?

Зачем переменная Ticket, как и все остальные, объявлена на глобальном уровне? Это ооочень дурной тон. Кстати одна из ошибок решается именно правильным местом объявления переменной. Так же не надо забывать об инициализации переменных, если её значение может использоваться до присвоения правильного значения.

Edited by Ugar68

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

Link to post
Share on other sites
  • 5 weeks later...
zvagolskiy.ru

Здравствуйте.Скачал на официальном сайте Альпари терминал МТ4 для компьютера.Но не могу туда установить советник дженерик.Может кто подскажет в чем дело?Скачал советник.У него один файл с сетами для нескольких пар.Перенес эти сеты в каталог данных в папку MQL4- Experts-Sets.Правда в файле советника есть еще Tests,описание параметров и открытый код советника,но я их в каталог данных не переносил.В настройках терминала в сервисе галочки проставил.Терминал перезагружал,открывал терминал от имени администратора.В навигаторе файлы сетов советника не появляются.Подскажите в чем дело.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...