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

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


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

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

@andrijmix@gmail.com не обижайтесь на Валеру, просто на форуме очень известный советник. И там есть исходники.
Идея советника простая, для асинхронных торгов разнонаправленными сетками нужно реализовать через классы или структуры. В принципе больших сложностей нет, но есть нюансы.

Если хотите потренироваться в программировании - очень полезно, если хотите торговать сеткой, то лучше посветить время для изучения советника "Forex Setka Trader Mod и [EA]-Setka", имхо лучше сетки Вы не найдёте.

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

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

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

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

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

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

Перейти

Нате 1_2_3 _Fraktal.mq4

Перейти

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

Перейти
Доработка советников: общая тема Опубликовано
26 минут назад, 0ll сказал:

@andrijmix@gmail.com не обижайтесь на Валеру, просто на форуме очень известный советник. И там есть исходники.
Идея советника простая, для асинхронных торгов разнонаправленными сетками нужно реализовать через классы или структуры. В принципе больших сложностей нет, но есть нюансы.

Если хотите потренироваться в программировании - очень полезно, если хотите торговать сеткой, то лучше посветить время для изучения советника "Forex Setka Trader Mod и [EA]-Setka", имхо лучше сетки Вы не найдёте.

@0ll , я уже давно торгую этим советником. Последние 300 стр. ветки несколько раз перечитал. Лучшего нигде не видел. Но насколько я знаю capteen и Старик не дают исходника советника дабы не было злоупотребления со стороны коммерции.

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

 Я примерно понимаю логику Forex Setka, даже не смотрев код, возможно ошибаюсь. Но уже сделал 2 независимые сетки, вроде торгуют:)

У меня после завершения работы в тестере свежонаписаного робота не открывается окно с сделками, как это бывает в других советниках после тестирования. 

Это кто должна открывать какая-то функция? Можете подсказать?

Спасибо

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

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

@andrijmix@gmail.com по первой ссылке в первом посте топика - исходники базового бота 1.43 лежат с 2018 года.

Для разобраться с идеей там 300% необходимого. :)

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

Доработка советников: общая тема Опубликовано
2 минуты назад, Старик сказал:

@andrijmix@gmail.com по ссылке в первом посте топика исходники базового бота 1.43.

Для разобраться с идеей там 300% необходимого. :)

@Старик Вы имеете  ввиду  Forex_Grid_M7TLP?

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

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

@andrijmix@gmail.com я имею в виду [EA] - Setka v1.43 и Модель (базовый безиндикаторный бот-эталон)

Самыми большими буквами в самом первом посте!

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

Доработка советников: общая тема Опубликовано
9 часов назад, andrijmix@gmail.com сказал:

У меня после завершения работы в тестере свежонаписаного робота не открывается окно с сделками, как это бывает в других советниках после тестирования. 

Это кто должна открывать какая-то функция? Можете подсказать?

Нет такой функции - это глюк какой-то или некорректное завершение теста.

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

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

Добрый день. 

Как можно правильно закрыть сделку на бай с лотом х, и сразу же открыть сдлеку с лотом у?

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

Доработка советников: общая тема Опубликовано
6 минут назад, andrijmix@gmail.com сказал:

Добрый день. 

Как можно правильно закрыть сделку на бай с лотом х, и сразу же открыть сдлеку с лотом у?

Здравствуйте. Нет ни каких условий в Вашем вопросе. Но...

Закрываем ордер по условию или по тикету, открываем ордер по какому условию?

например схема

if(условие)

{ закрываем ордер по условию;

 if (закрылся ордер) {открываем ордер if(открылся ордер){ пишем в журнал или просто радуемся} else {пишем ошибку и пробуем еще раз } }

else {пишем ошибку о закрытие и пробуем еще раз закрыться}

 

 

 

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

Доработка советников: общая тема Опубликовано
6 минут назад, loveЦ сказал:

Здравствуйте. Нет ни каких условий в Вашем вопросе. Но...

Закрываем ордер по условию или по тикету, открываем ордер по какому условию?

например схема

if(условие)

{ закрываем ордер по условию;

 if (закрылся ордер) {открываем ордер if(открылся ордер){ пишем в журнал или просто радуемся} else {пишем ошибку и пробуем еще раз } }

else {пишем ошибку о закрытие и пробуем еще раз закрыться}

 

 

 

//////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 //------------------------------First Tree-Buy------------------------------------------------------
  if(CountTradesBuy()==0 && priceNOW>=Bid && Ask >= price2 - Шаг_1_2 * Point )
      {         
      ticketBB1=OrderSend(Symbol(),OP_BUY,Обьем_первая_позиция_на_бай,Ask,Slippage,0,0,"First Tree-Buy",Magic,0,Blue);
      if(OrderSelect(ticketBB1, SELECT_BY_TICKET ))
      {
      price2=OrderOpenPrice();
      }
      if(ticketBB1<1)
               Print("Error Order Send for second SELL");
  }
//------------------------------Second Tree-Buy------------------------------------------------------
  if(CountTradesBuy()==1 && Ask <= price2 - Шаг_1_2 * Point &&   )

   {        
           price = price2;
           if (Ask <= price - Шаг_1_2 * Point)
           Comment(price2);
           {
        ticketBB2=OrderSend(Symbol(),OP_BUY,Обьем_вторая_позиция_на_бай,Ask,Slippage,0,0,"SecondPossitionBuy",Magic,0,Blue);
      if(ticketBB2<1)
               Print("Error Order Send for second Buy");
         
           }
    }

 

 

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

Побывал я вставить

if(!OrderClose(ticketBB1,Обьем_перавя_позиция_на_бай,Bid,Slippage,Yellow))
      {  

        Print("Ордер не закрыт  ",Обьем_первая_позиция_на_бай);    
      }    

Это приводит к зависанию терминала

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

Доработка советников: общая тема Опубликовано
  if(CountTradesBuy()==0 && priceNOW>=Bid && Ask >= price2 - Шаг_1_2 * Point )
      {         
      ticketBB1=OrderSend(Symbol(),OP_BUY,Обьем_первая_позиция_на_бай,Ask,Slippage,0,0,"First Tree-Buy",Magic,0,Blue);
      if(OrderSelect(ticketBB1, SELECT_BY_TICKET ))
      {
      price2=OrderOpenPrice();
      ticketBB1=OrderTicket();
      }
      if(ticketBB1<1)
               Print("Error Order Send for second SELL");
  }
//------------------------------Second Tree-Buy------------------------------------------------------
  if(CountTradesBuy()==1 && Ask <= price2 - Шаг_1_2 * Point &&   )

   {   
int   error=OrderClose(ticketBB1,OrderLots(),NormalizeDouble(Ask,Digits),3,Blue);
      ticketBB2=OrderSend(Symbol(),OP_BUY,Обьем_вторая_позиция_на_бай,Ask,Slippage,0,0,"SecondPossitionBuy",Magic,0,Blue);
      if(ticketBB2<1)
               Print("Error Order Send for second Buy");
         
           }
    }

а если так

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

Доработка советников: общая тема Опубликовано
10 минут назад, loveЦ сказал:

  if(CountTradesBuy()==0 && priceNOW>=Bid && Ask >= price2 - Шаг_1_2 * Point )
      {         
      ticketBB1=OrderSend(Symbol(),OP_BUY,Обьем_первая_позиция_на_бай,Ask,Slippage,0,0,"First Tree-Buy",Magic,0,Blue);
      if(OrderSelect(ticketBB1, SELECT_BY_TICKET ))
      {
      price2=OrderOpenPrice();
      ticketBB1=OrderTicket();
      }
      if(ticketBB1<1)
               Print("Error Order Send for second SELL");
  }
//------------------------------Second Tree-Buy------------------------------------------------------
  if(CountTradesBuy()==1 && Ask <= price2 - Шаг_1_2 * Point &&   )

   {   
int   error=OrderClose(ticketBB1,OrderLots(),NormalizeDouble(Ask,Digits),3,Blue);
      ticketBB2=OrderSend(Symbol(),OP_BUY,Обьем_вторая_позиция_на_бай,Ask,Slippage,0,0,"SecondPossitionBuy",Magic,0,Blue);
      if(ticketBB2<1)
               Print("Error Order Send for second Buy");
         
           }
    }

а если так

Получилось! Большое спасибо.

Но после этого советник опять открывает (не смотря на  Ask >= price2 - Шаг_1_2 * Point )

Мне нужно что бы советник через определенное количество пунктов "забывал" о предыдущем колене. Таких колен я хочу построить 7 штук. 

Что можете посоветовать? 

Побывал я вставить функцию Invertor = true , и переворачивать при закрытии ордера, но к сожалению не помогло.

 

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

Доработка советников: общая тема Опубликовано
2 минуты назад, andrijmix@gmail.com сказал:

Получилось! Большое спасибо.

 

Сделайте так

//------------------------------Second Tree-Buy------------------------------------------------------ 
if(CountTradesBuy()==1 && Ask <= price2  && ) { 
    int error=OrderClose(ticketBB1,OrderLots(),NormalizeDouble(Ask,Digits),3,Blue);
    ticketBB1=OrderSend(Symbol(),OP_BUY,Обьем_первая_позиция_на_бай,Ask,Slippage,0,0,"First Tree-Buy",Magic,0,Blue);
      if(OrderSelect(ticketBB1, SELECT_BY_TICKET ))
      {
      price2=OrderOpenPrice() - Шаг_1_2 * Point;
      ticketBB1=OrderTicket();
      }
      if(ticketBB1<1)
               Print("Error Order Send for second SELL");
}
    

 

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

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

Всем Здравствуйте !!! Подскажите пожалуйста код , в мою сборку , что бы открывался ордер на М5 , каждый раз когда совпадают сигналы с М15 и D1 , а не ждал пока сменится на D1.

Заранее извиняюсь если коряво объяснил!!!

15AO.mq4

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

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

Всем Здравствуйте !!! Подскажите пожалуйста код , в мою сборку , что бы открывался ордер на М5 , каждый раз когда совпадают сигналы с М15 и D1 , а не ждал пока сменится на D1.

Заранее извиняюсь если коряво объяснил!!!

15AO.mq4 12 \u043a\u0411 · 1 загрузка

Здравствуйте. 

Так у Вас сигнал совпадает раз в день, потому что D1. Если будет М5 и М15, то сигнал будет появляться раз в 15 минут и т.д.

Заранее извиняюсь, если неправильно понял))))

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

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

Здравствуйте loveЦ !!! Вы всё правильно поняли !!! Поможете  ???

 

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

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

Здравствуйте. Кто знает, помогите пожалуйста. Некоторые советники отображают совершенные сделки на графике например пунктирными линиями, прямо как в тестере. Причем как полагается разными цветами. Какой код за это отвечает? Можно ли прикрутить к сову (прикрепляю)? Спасибо. 

ma_v_1_3_3.mq4

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

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

Здравствуйте. Кто знает, помогите пожалуйста. Некоторые советники отображают совершенные сделки на графике например пунктирными линиями, прямо как в тестере. Причем как полагается разными цветами. Какой код за это отвечает? Можно ли прикрутить к сову (прикрепляю)? Спасибо. 

ma_v_1_3_3.mq4 71 \u043a\u0411 · 0 загрузок

Здравствуйте.  У Вас функция Obj_Del() удаляет все объекты во время работы советника и после удаления его с график. Уберите ее и все получится)))

Строчка 839

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

Доработка советников: общая тема Опубликовано
16 минут назад, loveЦ сказал:

Здравствуйте.  У Вас функция Obj_Del() удаляет все объекты во время работы советника и после удаления его с график. Уберите ее и все получится)))

Строчка 839

Спасибо за совет, но после удаления ошибка при компиляции...

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

Доработка советников: общая тема Опубликовано
2 минуты назад, rob сказал:

Спасибо за совет, но после удаления ошибка при компиляции...

Держите

ma_v_1_3_3.mq4

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

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

всем приветики! как в советнике вызвать исполнения скрипта/библиотеки/инд, на другом(определенном) окне графика?

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

 ChartWindowFind() - но как в этом варианте сделать, именно сам запуск скрипта?

 EventChartCustom() // Генерирует пользовательское событие для указанного графика. 
 (думаю здесь для меня готовый пример только подойдет)

 можно ли задействовать - FileOpen() ?

 или без: WinUser32.mqh - дела не будет?

 подскажите пожалуйста в каком направление двигаться, ссылку в ветке или готовый пример.

 

 

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

Доработка советников: общая тема Опубликовано
5 часов назад, loveЦ сказал:

Большое спасибо, запустил, проверю.

P.S. Неа, все равно не рисует((( То есть он рисует только Arrow в точке открытия сделки, а точку закрытия и саму линию между ними - нет. А хотелось бы, как на скрине.

010.png

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

Доработка советников: общая тема Опубликовано
В 10.08.2019 в 14:57, loveЦ сказал:

Здравствуйте. 

Так у Вас сигнал совпадает раз в день, потому что D1. Если будет М5 и М15, то сигнал будет появляться раз в 15 минут и т.д.

Заранее извиняюсь, если неправильно понял))))

Здравствуйте.

Подскажите ???

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

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

@molot_1 У Вас в советнике реализован поочерёдный вход: Бай-Селл-Бай-Селл. т.е. Все индюки встали в Бай, сделка Бай, выставляются флаги Бай-запрет, Селл-разрешить.

потом советник ждёт, чтоб все индюки встали в Селл, сделка Селл, выставляются флаги Селл-запрет, Бай-разрешить.

Вы хотите как? чтоб каждые 5 минут сделки в Бай(например) открывались? - настрочит как из пулемета, будьте уверены.

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

Доработка советников: общая тема Опубликовано
23 часа назад, 0ll сказал:

@molot_1 У Вас в советнике реализован поочерёдный вход: Бай-Селл-Бай-Селл. т.е. Все индюки встали в Бай, сделка Бай, выставляются флаги Бай-запрет, Селл-разрешить.

потом советник ждёт, чтоб все индюки встали в Селл, сделка Селл, выставляются флаги Селл-запрет, Бай-разрешить.

Вы хотите как? чтоб каждые 5 минут сделки в Бай(например) открывались? - настрочит как из пулемета, будьте уверены.

Здравствуйте 0ll !!! Мне нужно, чтобы если на M15 Бай и на D1 Бай то на М5 открывались только Бай , но не один раз в день , а каждый раз когда когда на М5 Бай. Вообще мне просто нужен код этой функции , потому что я учусь , а этот индикатор я прилепил , так. Мне нужен код правильно вписаный в данный советник для использования как пример ( шаблон ).

Спасибо!

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

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

Здравствуйте, совсем недавно познакомился с Вашим сайтом.
Посмотрел грамотные уроки от Сергея, большой респект, вдохновляет.
Пытаюсь написать эксперт с такими условиями.
Устанавливаю в инпутах :
if dtriger = 1  - открывает BUY.
if dtriger = -1 - открывает SELL.
if dtriger = 0  - закрывает все.
Проблема : не переворачивается, висят встречные ордера.
При смене dtriger на противоположный пытаюсь предварительно закрыть
уже открытую позицию, но видно не судьба, хотелось бы переворачиваться.

 

Stend_t1.mq5

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

  • 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 тема

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

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

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

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

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

Войти

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

Войти

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


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