# Доработка ботов (советников, индикаторов) vol. 2

Раздел: Язык программирования MQL4
Автор темы: chocolate
Создана: 2014-10-02 12:48
Ответов: 33795 | Просмотров: 6650348
Страница 187 из 1690
Источник: https://forexsystemru.com/threads/77111/page-187

---

## RoboMaks — 2015-08-15 20:32

> Цитата (gush):
> ээээхххх!!! Приручить бы еще этого монстра к биду/аску чтоб лимитки со стопами открывались одновременно с учетом спреда... :embrace: а то приходится химичить с расстоянием +-2п туда-сюда например по евро.. :D:D:D и нифига не получается :facepalm:

Я уже писал Вам о такой ситуации. На плавающем спрэде это не будет иметь смысла - даже если он ставит эти два ордера на расстоянии спрэда - в момент, когда цена подойдёт туда может зацепить только один из них, спрэд может быть другим...  Даже на фиксированном это не всегда получится - показывая стабильное значение фактически "играет"

## RoboMaks — 2015-08-15 20:37

> Цитата (oleg1343):
> в тестере в свойства советника поменял только на бай и потом только на сел вот что получилось за один и тот же день

Ещё раз тщательно "прошёл" весь код, но ничего особо неправильного там не нашёл, за исключением близкого ТР, который приводит к ошибке 130.
И один ещё такой вопрос - как именно Вы меняете в свойствах "**только на бай и потом только на сел**" - можете дать скрин окна настроек с указанием этих параметров ?

## oleg1343 — 2015-08-15 20:49

> Цитата (Maks Shukurov):
> Ещё раз тщательно "прошёл" весь код, но ничего особо неправильного там не нашёл, за исключением близкого ТР, который приводит к ошибке 130.
> И один ещё такой вопрос - как именно Вы меняете в свойствах "**только на бай и потом только на сел**" - можете дать скрин окна настроек с указанием этих параметров ?

тейк профит можно увеличить в место 10 поставить 100....

## gush — 2015-08-15 20:51

> Цитата (Maks Shukurov):
> Я уже писал Вам о такой ситуации. На плавающем спрэде это не будет иметь смысла - даже если он ставит эти два ордера на расстоянии спрэда - в момент, когда цена подойдёт туда может зацепить только один из них, спрэд может быть другим...  Даже на фиксированном это не всегда получится - показывая стабильное значение фактически "играет"

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

## RoboMaks — 2015-08-15 21:04

> Цитата (gush):
> а если пробуешь ставить на стоповые ордера тейки в 0, т.е. без тейков сова в тесте открывает только по одному колену внизу и вверху.. и на этом все, не тестируется... что может быть?

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

Вроде бы всё нормально идёт, не стопорится...  Это полностью с нулевыми стопами, только ТП.
Хотя вообще-то здесь пока только лимитки... стоповых ещё нет...

Да, у него есть серьёзные ошибки в коде... При установке Orders_Variant = 3 (Стоповые и Лимитные ордера)  даже и при ненулевых значения стоп-лосса начинает сыпать ошибкой 4051 - "Недопустимое значение параметра функции"...  Кроме того - открытие ордеров у него идёт  сразу с выставлением ТП-СЛ, а это не будет работать на некоторых счетах (ECN) - там необходимо открывать с нулевыми значениями и только потом модифицировать... Так что - куча проблем у него в коде ещё :facepalm:

Дайте его лог из тестера, оттуда, где он начинает тормозить ( уберите старые логи и запустите терминал заново), проверю на свежую голову - что там можно сделать... :)

## gush — 2015-08-15 21:39

> Цитата (Maks Shukurov):
> Проверю. Я особо суть кода не смотрел, сделал только разделение тп-сл, но это не может влиять на алгоритм кода - там что-то другое... В старом варианте тоже так или только в переделанном ?
>
> Вроде бы всё нормально идёт, не стопорится...  Это полностью с нулевыми стопами, только ТП.
> Хотя вообще-то здесь пока только лимитки... стоповых ещё нет...

сейчас перекачаю сова и проверю пошагаво на чем виснет..

## gush — 2015-08-15 21:48

> Цитата (Maks Shukurov):
> Проверю. Я особо суть кода не смотрел, сделал только разделение тп-сл, но это не может влиять на алгоритм кода - там что-то другое... В старом варианте тоже так или только в переделанном ?
>
> Вроде бы всё нормально идёт, не стопорится...  Это полностью с нулевыми стопами, только ТП.
> Хотя вообще-то здесь пока только лимитки... стоповых ещё нет...

как только изменяю параметр:
extern int TakeProfitBuyStop = 0; // ТейкПрофит для BUYSTOP(если не используется = 0)

выше 0 работает, а как ставлю в ноль, висяк......

## gush — 2015-08-15 21:50

> Цитата (Maks Shukurov):
> Проверю. Я особо суть кода не смотрел, сделал только разделение тп-сл, но это не может влиять на алгоритм кода - там что-то другое... В старом варианте тоже так или только в переделанном ?
>
> Вроде бы всё нормально идёт, не стопорится...  Это полностью с нулевыми стопами, только ТП.
> Хотя вообще-то здесь пока только лимитки... стоповых ещё нет...

и этот тоже проверил, как только ставлю в ноль, сразу висяк..
extern int TakeProfitSellStop = 0; // ТейкПрофит для SELLSTOP(если не используется = 0)

## RoboMaks — 2015-08-15 21:57

> Цитата (gush):
> и этот тоже проверил, как только ставлю в ноль, сразу висяк..
> extern int TakeProfitSellStop = 0; // ТейкПрофит для SELLSTOP(если не используется = 0)

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

## RoboMaks — 2015-08-15 22:07

> Цитата (oleg1343):
> тейк профит можно увеличить в место 10 поставить 100....

Изменяя оттуда запрет на бай-селл Вы просто "обрезаете" одно из направлений - это будет действовать  на любой советник и конкретно к коду советника никакого отношения не имеет.   Изменения в коде советника Вы можете сделать только в окне "Входные параметры".  С Вашим кодом всё нормально   :)

## gush — 2015-08-15 22:29

> Цитата (Maks Shukurov):
> Дайте его лог из тестера, оттуда, где он начинает тормозить ( уберите старые логи и запустите терминал заново)
> И ещё одно - дайте свою почту, а то здесь засорим всю ветку :)  Если потом посчитаете нужным - выложите здесь конечный вариант, может - кому-то нужно будет :)

одна и та же ошибка бесконечным циклом, пока принудительно не закроешь терминал:

2015.08.15 22:28:10.990	2015.08.10 00:01  Universal Advizor FI (1) EURUSD,M15: OrderSend error 130

## RoboMaks — 2015-08-15 22:52

> Цитата (gush):
> одна и та же ошибка бесконечным циклом, пока принудительно не закроешь терминал:
>
> 2015.08.15 22:28:10.990	2015.08.10 00:01  Universal Advizor FI (1) EURUSD,M15: OrderSend error 130
> 

130 - это неправильные стопы... там ещё и 4051 выдаёт среди работы (см #3729). Переделок там очень много надо.:not-good:

## gush — 2015-08-15 23:14

> Цитата (Maks Shukurov):
> 130 - это неправильные стопы... там ещё и 4051 выдаёт среди работы (см #3729). Переделок там очень много надо.:not-good:

ок Макс,  тейки можно и увеличить по больше, все работает, выкладывать конечный результат в открытый доступ... хммм... это значит убить мт4 полностью :D:D:D: а такс.. все под контролем))) все выложенное не представляет никакой опасности, спасибо тебе :embrace:

## bornikol — 2015-08-15 23:17

> Цитата (asdfer):
> У меня вопрос. Нужно ли в индикаторах разрешать импорт DLL. Читал, что не желательно, поскольку открывается путь для постороннего проникновения в свою платформу. Но вот некоторые индикаторы начинают сбоить, если не разрешать. Что правильно?
> Заранее спасибо.

Из просмотренных мной в первые годы учебы на форе,в поисках грааля, нескольких тысяч индикаторов не наберется и десятка,которым нужно  разрешать импорт DLL. Они,кстати,вам сообщат что нужно вкл. DLL.
  Я считаю что DLL могут подтормаживать МТ4.

## alex777138 — 2015-08-15 23:59

Помогите с индикатором- не работает. данные забивать руками в ..oi.txt . а на выходе в осцилятор(ниже во вкладке)

## oleg1343 — 2015-08-16 00:01

> Цитата (Maks Shukurov):
> Изменяя оттуда запрет на бай-селл Вы просто "обрезаете" одно из направлений - это будет действовать  на любой советник и конкретно к коду советника никакого отношения не имеет.   Изменения в коде советника Вы можете сделать только в окне "Входные параметры".  С Вашим кодом всё нормально   :)

понятно спасибо...
тогда буду тестить отдельно одно окно на селл и одно окно на бай раз по другому не получается......

## borobor — 2015-08-16 15:36

> Цитата (alex777138):
> Помогите с индикатором- не работает. данные забивать руками в ..oi.txt . а на выходе в осцилятор(ниже во вкладке)

а с кокого перепугу он должен работать?

/*
   Generated by ex4-to-mq4 decompiler FREEWARE 4.0.451.7
   Website: hT t P ://ww w. M Et A q uo T E S .n Et
   E-mail : s UpP O rt @ Me taq u OtE S. n Et
*/
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

int init() {
   return (0);
}

int deinit() {
   return (0);
}

int start() {
   return (0);
}
он же пустой!!!

## RoboMaks — 2015-08-16 16:24

> Цитата (oleg1343):
> тогда буду тестить отдельно одно окно на селл и одно окно на бай раз по другому не получается......

Можно, конечно, вывести эту возможность и в настройках сова - отдельно только SELL или BUY, если в этом есть такая необходимость... :)

extern bool    Open_Ord_Buy        = true; // Buy=true,Sell=false - только ордера BUY
extern bool    Open_Ord_Sell       = true; // Sell=true,Buy=false - только ордера SELL

## блондинка — 2015-08-16 16:42

> Цитата (GenkaRak):
> Можно в MQ4 ?

Присоединяюсь к просьбе
Особенно гистограмма понравилась)))
Если есть не мтф тоже устроит...

## Prelagatay — 2015-08-16 17:40

Доброго дня господа программисты. Не возьмется ли кто развернуть сова, то есть что бы вместо Sell он делал BAY и наоборот и вынести SL и TP в настройки.

---

Следующая страница: https://forexsystemru.com/threads/77111/page-188
