Перейти к содержанию

Доработка советников: общая тема


Рекомендуемые сообщения

Доработка советников: общая тема Опубликовано

1. GM15 == 2147483647.0 && YellowH4 == 2147483647.0 продажа
YM15 == 2147483647.0 && RedH4 == 2147483647.0 покупка

2147483647 - Это пустое значение, в буферах должна быть цена типа 1.12345
Ссылка на сообщение
Поделиться на другие сайты

  • Ответов 2,5k
  • Создано
  • Последний ответ

Популярные авторы

Популярные авторы

Популярные посты

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

Перейти

Нате 1_2_3 _Fraktal.mq4

Перейти

Система маятника, или попрыгунчика, или фиг ее знает как ее еще назвать не намного младше сетки мартингейла. Мы в далеком 2017 писали по ней сов с индикатором на вход: https://tlap.com/forum/labo

Перейти
Доработка советников: общая тема Опубликовано
molot_1 Понятно, значит работает обратная логика: когда один буфер пустеет - другой наполняется, ок.
Вроде 2 индюка работают на разных ТФ, показывают тренд и сова входит при отсутствии открытых ордеров, В чём вопрос тогда?
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

На Н4 и М15 Buy покупаем, ордер закрылся по трейлингу, но тренд на М15 и Н4 продолжается из-за этого советник откроет опять ордер, а мне нужна функция, чтобы советник считал тренд отработанным. Далее тренд М15 сменился Sell, Н4 продолжается Buy, на Н4 и М15 Buy покупаем.

Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

мне нужна функция, чтобы советник считал тренд отработанным

Теперь понятно. Пробуй так:
int lastord = -1;
void OnTick()
{....
if (CountBuy() + CountSell() == 0 && GM15 == 2147483647.0 && YellowH4 == 2147483647.0 && lastord != OP_SELL )
{ ... lastord = OP_SELL; }
if (CountBuy() + CountSell() == 0 && YM15 == 2147483647.0 && RedH4 == 2147483647.0 && lastord != OP_BUY )
{ ... lastord = OP_BUY; }
if ( GM15 == RedH4 || YM15 == YellowH4 ) lastord = -1; // сигнал изменился - сброс
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Спасибо большое, но я только учусь. Подскажите пожалуйста, что тут ... нужно прописать?
{ ... lastord = OP_SELL; }

Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

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

То, что в Вашем советнике написано, только добавить 1 строчку:
if (CountBuy() + CountSell() == 0 && GM15 == 2147483647.0 && YellowH4 == 2147483647.0 && lastord != OP_SELL )
{
TP = NormalizeDouble(Bid - TakeProfit*Point, Digits);
SL = NormalizeDouble(Bid + StopLoss*Point, Digits);

if(OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, SL, TP, "", Magic, 0, Red) Print ("Не удалось открыть ордер на продажу!");
else lastord = OP_SELL; // если ордер открылся запоминаем тип открытого ордера
}
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Здравствуйте коллеги!
Есть возможность полечить очень старый но четкий сов.
Полностью разблокированный вариант вот только на новом билде тоже работает.
Но вот ошибка System-MACD v.1.1_edu GBPUSD,H4: OrderClose error 3
Может это из за нового билда?

System-MACD_v.1.1_edu.mq4

Изменено пользователем Shavkatione
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Может это из за нового билда?

Скорее всего нет. Советник довольно сложный, явных ошибок в коде не заметил, почему ругается при закрытии на параметры - нужно исследовать, ловить ошибку
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Есть возможность полечить очень старый но четкий сов.


Открываем коды ошибок. Видим ERR_INVALID_TRADE_PARAMETERS 3 Неправильные параметры, значит при закрытии советник дает не корректное значение какого то параметра, просматриваем их по очереди с помощью принта и узнает, что каждый тик он умножает значение проскальзывание на 10. Зачем, хз, но в итоге оно становится огромным и сов, естественно, ругается.

System-MACD_v.1.1_edu_fix.ex4

  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано


Есть возможность полечить очень старый но четкий сов.


Открываем коды ошибок. Видим ERR_INVALID_TRADE_PARAMETERS 3 Неправильные параметры, значит при закрытии советник дает не корректное значение какого то параметра, просматриваем их по очереди с помощью принта и узнает, что каждый тик он умножает значение проскальзывание на 10. Зачем, хз, но в итоге оно становится огромным и сов, естественно, ругается.


Скинь пожалуйста MQL datei,не хочет открываться. :(
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Скинь пожалуйста MQL datei,не хочет открываться.

Это с исправленным Slippag-ом, НО в коде ещё есть подобные ошибки типа: gi_192 *= gi_864; на что они влияют - хз, на реал не ставьте.

System-MACD_v.1.1_edu_fixSlip.mq4

  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Я сонный прицепил ex4, вместо mql. Удалил все с компа и пошел спать >:d

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Ребят, может ли кто посмотреть код, вспомнил про этот советник недавно, но в новых билдах он не работает, если в нем (в коде) поменять время сессий. И если не затруднит добавить чтоб при срабатывании одной отложки вторую можно было или удалить или оставить (чтоб в параметрах это выбиралось)

BBox_EA_v1.ex4
BBox_EA_v1.mq4

Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано


есть нужда перепилить это под новые билды, сам я каюсь туповат(( _https://yadi.sk/d/QlTAYbiZSFzBtw



Здравствуйте. Там лежат ЕXEшники, а чтобы что то "перепилить" надо исходники, т.е. файлы с разрешением .mq4
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

есть нужда перепилить это под новые билды

Если нет исходников, то придётся объяснить Вашу нужду - покажите прибыльность советника и создайте тему в разделе "Совы в розыске". Там Вам помогут.
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

хочу прогнать в тестере стратегию. она довольно простая основана на скользящей средней. со стопами и тейками. сам програмировать не умею. максимум могу скрипт написать для выставления сетки отложенных ордеров. Есть тут програмисты?

Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

Добрый день. В комплект к МТ4 идёт советник по скользящей средней со СЛ и ТП. Можете его модифицировать для себя.
Здесь, конечно есть программисты - нужно подготовить ТЗ с картинками, где объяснить работу советника, тогда можно будет оценить стоимость работ. Если советник будет интересным, то могут и бесплатно сделать.

  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

может и мне тут помогут....если приложу примерный тест, хотя он ни чего не показывает особо и он всего за 1,5 месяца, больше почему то не загружаются котировки

gmt+2.gif

Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

может и мне тут помогут....если приложу примерный тест

Может и помогли-бы, но я не смог понять что Вам нужно:
"в новых билдах он не работает, если в нем (в коде) поменять время сессий" - что это значит? Ошибки появляются? пишите подробнее: сделал так, получил это...
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

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

IndicatorShortName("London Box");
WindowName = "London Box";
if (UK_DST)
{
sBoxEnd = "08:00";
BoxLength = 6;
sTimeLondonOpen = "09:00";

вот что выдает при компиляции, вроде понятно объяснил?

3445.jpg

Изменено пользователем dimon555-777
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

вот что выдает при компиляции, вроде понятно объяснил?


Убрал (почти все) варнинги и ошибки. Честно говоря странно, что раньше работало..
Что касается выноса настроек во внешние переменные, то уточните- только sTimeLondonOpen или прямо все-все(их там 10 шт) ?
п.с. логику все таки проверьте...

BBox_EA_v1_1.mq4

  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

178 строка BoxLength = 7
202 строка TradingBoxWidth = 3
как я понял при изменении этих параметров коробка азии и лондона перестраивается, вот это и нужно вынести, чтоб эти числа в настройках менялись и коробка изменялась.

И еще, если вы код смотрели стоплосс он по ADR в каком случае выставляет? я этот момент не понял. Ставил авто стоплос и тру и флеш....результат одинаков что берет из значения SL

Ссылка на сообщение
Поделиться на другие сайты

Доработка советников: общая тема Опубликовано

И еще, если вы код смотрели стоплосс он по ADR в каком случае выставляет?


я не вникал в логику кода
Цитата

178 строка BoxLength = 7202 строка TradingBoxWidth = 3

Да?
Судя по названиям все это имеет отношение ко времени
Спойлер

switch(iSession)
{
case 1:
IndicatorShortName("Tokyo Box");
WindowName = "Tokyo Box";
sBoxEnd = "23:00";
BoxLength = 5;
break;
case 2:
IndicatorShortName("London Box");
WindowName = "London Box";
if (UK_DST)
{
sBoxEnd = "08:00";
BoxLength = 6;
sTimeLondonOpen = "09:00";
}
else
{
sBoxEnd = "09:00";
BoxLength = 7;
sTimeLondonOpen = "08:00";
}
break;
case 3:
IndicatorShortName("New York Box");
WindowName = "New York Box";
if (US_DST)
{
sBoxEnd = "12:00";
}
else
{
sBoxEnd = "13:00";
}
BoxLength = 2;
break;
default:
IsAllowed = false; // We don't respond to wild inputs

На примере одной строки:
в Вашем коде:
sBoxEnd = "08:00";

меняете на
// в блоке внешних переменных объявляете:
extern string TimeEnd = "08:00";

в OnInit()
.....
sBoxEnd = TimeEnd;
.....

И так 10 раз :) , в смысле по количеству переменных, которые выносите во вне.
Это если " в лоб". Если повникать, то наверно найдется оптимизированный вариант задания входных параметров.
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

  • idinesh changed the title to Assae Elite Pro tlap version source code need i have plan convert this mt4 to mt5 and it possible mt4 dll file modified mt5 version
  • Pavel888 pinned this тема

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Специальное предложение


  • ×
    ×
    • Создать...