Напишу советник для МТ4/MT5 по вашему техзаданию

От mqloud, 15 ноября, 2018 в Уголок Программиста

Страница 13 из 15
Автор#301
7 минут назад, pasem сказал:

мне нужно чтобы это было в советнике на mql4

вам именно это и нужно. импорт указанных api структу и функций в mql и обращение к ним

#302
45 минут назад, mqloud сказал:

вам именно это и нужно. импорт указанных api структу и функций в mql и обращение к ним

спасибо но проблемы не решило, я не работал с api. Может есть какой то пример советника который кликает мышкой?

Автор#303

я так понимаю это https://www.mql5.com/ru/forum/438589

ваша ветка, но с такой постановкой вопроса вам врядли помогут. Так как это форум программистов.

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

 

Если же вы хотите готовое решение, чтоб сделали вместо вас, то

https://www.mql5.com/ru/job/126849

https://www.mql5.com/ru/job/121302

https://www.mql5.com/ru/job/148267

 

и т.д.  это как пример, что заказывают и это реализуемо

 

закажите там работу, цена вопроса 30уе.

#304
2 минуты назад, mqloud сказал:

я так понимаю это https://www.mql5.com/ru/forum/438589

ваша ветка, но с такой постановкой вопроса вам врядли помогут. Так как это форум программистов.

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

 

Если же вы хотите готовое решение, чтоб сделали вместо вас, то

https://www.mql5.com/ru/job/126849

https://www.mql5.com/ru/job/121302

https://www.mql5.com/ru/job/148267

 

и т.д.  это как пример, что заказывают и это реализуемо

 

закажите там работу, цена вопроса 30уе.

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

#305

Кто скажет, эты ветка ещё жива?

#306

Ребята кодеры, подскажите пожалуйста как закодировать такую формацию импульс из одинаковых свечей минимум три

 

ssss.jpg

bbbbb.jpg

Изменено 29 января, 2023 пользователем drobayura

Автор#307
int IsImpuls(string smb, ENUM_TIMEFRAMES tf, int i, int n)
{
  int dir=-1; // по умолчанию еще нет сигнала
  // определяем направление сигнала по одному бару (остальные должны совпадать с ним)
  double cl=iClose(smb, tf, i), op=iOpen(smb, tf, i); // взяли тело правого бара
  if (cl>op) dir=0; // бычий 
  else if (cl<op) dir=1; // медвежий
  else return -1; // додж - не будет сигнала

  ++i; // делаем проверки по следующим барам
  for (; i<n; ++i)
  {
    cl=iClose(smb, tf, i); op=iOpen(smb, tf, i);
    if (cl>op && dir!=0) return -1; // направление следующего и первого не совпали - выходим
    if (cl<op && dir!=1) return -1; // направление следующего и первого не совпали - выходим
    if (cl==op) return -1; // додж - выходим
  }
  return dir; // все n баров проверено, выдаем сигнал
}
//-------------------------------
void OnTick()
{
  ... 
  ...
  int dir=IsImpuls(Symbol(), Period(), 1, 3); // проверили наличие и направление импульса на последих 3 барах, начиная с закрытого, на текущем ТФ и символе
  /* еще примеры
  /* int dir=IsImpuls(Symbol(), Period(), 0, 3); // импульс на последних 3 барах, начиная с открытого, на текущем ТФ и символе
  /* int dir=IsImpuls(Symbol(), Period(), 0, 5); // импульс на последних 5 барах, начиная с открытого, на текущем ТФ и символе
  /* int dir=IsImpuls(Symbol(), PERIOD_H4, 1, 3); //  импульс на последних 3 барах, начиная с закрытого, на ТФ H4 и текущем символе
  /* int dir=IsImpuls("GBPUSD", PERIOD_H4, 1, 3); //  импульс на последних 3 барах, начиная с закрытого, на ТФ H4 и символе GBPUSD
  */
  // для МТ4
  if (dir==OP_BUY) { Comment("покупка"); }
  else if (dir==OP_SELL) { Comment("продажа"); }
  else { Comment("Нет импульса"); }

  // для МТ5
  if (dir==ORDER_TYPE_BUY) Comment("покупка");
  else if (dir==ORDER_TYPE_SELL) Comment("продажа");
  else Comment("Нет импульса");

  ... 
  ...

}
              
              

 

#308
В 29.01.2023 в 12:12, mqloud сказал:
int IsImpuls(string smb, ENUM_TIMEFRAMES tf, int i, int n)
{
  int dir=-1; // по умолчанию еще нет сигнала
  // определяем направление сигнала по одному бару (остальные должны совпадать с ним)
  double cl=iClose(smb, tf, i), op=iOpen(smb, tf, i); // взяли тело правого бара
  if (cl>op) dir=0; // бычий 
  else if (cl<op) dir=1; // медвежий
  else return -1; // додж - не будет сигнала

  ++i; // делаем проверки по следующим барам
  for (; i<n; ++i)
  {
    cl=iClose(smb, tf, i); op=iOpen(smb, tf, i);
    if (cl>op && dir!=0) return -1; // направление следующего и первого не совпали - выходим
    if (cl<op && dir!=1) return -1; // направление следующего и первого не совпали - выходим
    if (cl==op) return -1; // додж - выходим
  }
  return dir; // все n баров проверено, выдаем сигнал
}
//-------------------------------
void OnTick()
{
  ... 
  ...
  int dir=IsImpuls(Symbol(), Period(), 1, 3); // проверили наличие и направление импульса на последих 3 барах, начиная с закрытого, на текущем ТФ и символе
  /* еще примеры
  /* int dir=IsImpuls(Symbol(), Period(), 0, 3); // импульс на последних 3 барах, начиная с открытого, на текущем ТФ и символе
  /* int dir=IsImpuls(Symbol(), Period(), 0, 5); // импульс на последних 5 барах, начиная с открытого, на текущем ТФ и символе
  /* int dir=IsImpuls(Symbol(), PERIOD_H4, 1, 3); //  импульс на последних 3 барах, начиная с закрытого, на ТФ H4 и текущем символе
  /* int dir=IsImpuls("GBPUSD", PERIOD_H4, 1, 3); //  импульс на последних 3 барах, начиная с закрытого, на ТФ H4 и символе GBPUSD
  */
  // для МТ4
  if (dir==OP_BUY) { Comment("покупка"); }
  else if (dir==OP_SELL) { Comment("продажа"); }
  else { Comment("Нет импульса"); }

  // для МТ5
  if (dir==ORDER_TYPE_BUY) Comment("покупка");
  else if (dir==ORDER_TYPE_SELL) Comment("продажа");
  else Comment("Нет импульса");

  ... 
  ...

}
              
              

 

Короче, плюхался, плюхался чего то не получается, может поможите, а?

Смысл такой, советник отслеживает импульс одного цвета свеч (MIN три) и при появлении противоположной свечи  выставляет лимитные ордера на середину этого импульса.

 

 

62ae11835c.jpg

 

ba4c41d018.jpg

Изменено 16 февраля, 2023 пользователем drobayura

Автор#309
int IsImpuls(string smb, ENUM_TIMEFRAMES tf, int i, int n)
{
  int dir=-1; // по умолчанию еще нет сигнала
  // определяем направление сигнала по одному бару (остальные должны совпадать с ним)
  double cl=iClose(smb, tf, i), op=iOpen(smb, tf, i); // взяли тело правого бара
  if (cl>op) dir=0; // бычий 
  else if (cl<op) dir=1; // медвежий
  else return -1; // додж - не будет сигнала
  int N=i+n;
  ++i; // делаем проверки по следующим барам
  for (; i<N; ++i)
  {
    cl=iClose(smb, tf, i); op=iOpen(smb, tf, i);
    if (cl>op && dir!=0) return -1; // направление следующего и первого не совпали - выходим
    if (cl<op && dir!=1) return -1; // направление следующего и первого не совпали - выходим
    if (cl==op) return -1; // додж - выходим
  }
  return dir; // все n баров проверено, выдаем сигнал
}

//-------------------------------
void OnTick()
{
  string smb=Symbol(); ENUM_TIMEFRAMES tf=Period();
  int dir=IsImpuls(smb, tf, 2, 3); // направление трех баров
  if (dir<0) return;
  int cdir=IsImpuls(smb, tf, 1, 1); // направление последнего бара
  if (cdir<0 || cdir==dir) return; // направление должно быть противоложным от предыдущих
  
  // для МТ4
  double hi=iHigh(smb, tf, iHighest(smb, tf, 2, 3)); // максимум импулься
  double lo=iLow(smb, tf, iLowest(smb, tf, 2, 3)); // минимум импульса
  double mid=(hi+lo)/2; // середина импульса
  // шлем ордер
  int typ=(dir==OP_BUY)?OP_BUYLIMIT:OP_SELLLIMIT;
  double sign=(dir==OP_BUY)?1:-1;
  double lot=0.1;
  double op=NormalizeDouble(mid, _Digits);
  double sl=NormalizeDouble(op-500*_Point*sign, _Digits);
  double tp=NormalizeDouble(op+500*_Point*sign, _Digits);
  int tkt=OrderSend(smb, typ, lot, 0, op, sl, tp, "", 123456);
  if (tkt<=0) Print("ошибка: "+GetLastError());
}
              
              

Изменено 16 февраля, 2023 пользователем mqloud

#310

Ох уж этот @drobayura, который плюхается-плюхается в уже четвертой ветке с одним и тем же вопросом.

И функцию определения серии свечей я ему уже писал две с лишним недели назад

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

Я полагаю,  исхода тут два: или кто-то напишет ему советник и наоптит сеты, или он постепенно заполнит форум :)

#311
12 часов назад, Rigal сказал:

Ох уж этот @drobayura, который плюхается-плюхается в уже четвертой ветке с одним и тем же вопросом.

И функцию определения серии свечей я ему уже писал две с лишним недели назад

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

Я полагаю,  исхода тут два: или кто-то напишет ему советник и наоптит сеты, или он постепенно заполнит форум :)

Не каждому суждено быть программистом.

#312

Не каждому.

Но не каждый не программист выбирает программистом зачем-то прикидываться.

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

#313
1 час назад, Rigal сказал:

Не каждому.

Но не каждый не программист выбирает программистом зачем-то прикидываться.

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

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

#314
В 17.02.2023 в 11:33, drobayura сказал:

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

не, не пытаетесь.

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

вы из раза в раз описываете этот процесс, как «плюхаюсь-плюхаюсь, не получается», но всякий раз начинать надо с нуля, вы даже не упоминаете, что кто-то уже часть работы делал. А что именно не получается у вас - как-то не освещается.

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

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

 

#315
46 минут назад, Rigal сказал:

не, не пытаетесь.

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

вы из раза в раз описываете этот процесс, как «плюхаюсь-плюхаюсь, не получается», но всякий раз начинать надо с нуля, вы даже не упоминаете, что кто-то уже часть работы делал. А что именно не получается у вас - как-то не освещается.

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

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

 

Я сделал эксперта. Вопрос закрыт, спасибо за помощь и воспитательную работу.

#316

Доброго времени суток дамы и господа. Вопрос: Возможно ли копирование сделок из мт4/5 на другой м4/5? Другой терминал установлен на впс сервере.

Автор#317
7 минут назад, novi-chok сказал:

Доброго времени суток дамы и господа. Вопрос: Возможно ли копирование сделок из мт4/5 на другой м4/5? Другой терминал установлен на впс сервере.

да, погуглите тему "копировщик". 

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

#318

Здравствуйте. Можете помочь с советником? Нужно прикрутить возможность автоматического отключения при изменении депозита. 

Изменено 1 июня, 2023 пользователем AlexDema

Автор#319

if (AccountBalance()<1000)  ExpertRemove();

Изменено 1 июня, 2023 пользователем mqloud

#320

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

FrScalper__2.01.ex42 скач.

#321

Добрый день, можете ли вы в Ориона добавить функции из Бранни unlocker настройки, чтоб он сам себя локировал. и добавить функцию закрыть по бу с указанием профита. В общем, из 3 сделать 1. 

Brainy Locker 1.36.ex41 скач. Закрыть по бу с номером.mq41 скач. Закрыть по бу с номером.ex42 скач. EA-SCALPER-ORION.ex45 скач.

#322
1 минуту назад, Вера сказал:

Добрый день, можете ли вы в Ориона добавить функции из Бранни unlocker настройки, чтоб он сам себя локировал. и добавить функцию закрыть по бу с указанием профита. В общем, из 3 сделать 1. 

Brainy Locker 1.36.ex4 137.24 \u043a\u0411 · 0 загрузок 1 скач. Закрыть по бу с номером.mq4 13.31 \u043a\u0411 · 0 загрузок 1 скач. Закрыть по бу с номером.ex4 15.79 \u043a\u0411 · 0 загрузок 2 скач. EA-SCALPER-ORION.ex4 89.15 \u043a\u0411 · 0 загрузок 5 скач.

О еще добавить информатора тоже.

xa info bot (2).ex42 скач.

Автор#323

это ex4, они не редактируются

#324

Можно ли создать советника, который бы при пересечении скользящек и именно закрытие свечи ниже открывал бы продажу. и дальше трейлинг за позицией. и на покупку пересечение скользящих, закрытие свечи выше покупка. а также добавить функцию, если цена снова пересекла нужную скользящую (в данном примере 20) т.е. вернулась в диапазон, то снова открытие ордера. также с указанием стопа.

image.png.1cb2ba96f050bc7c3297a9906e87eec2.png

#325

вот пример стратегии. а тейк. не знаю. можно сделать, но тут суть трала. о либо оповещение на телефон (на мт4) а стопы буду сама ставить. либо включите в пунктах, а там со временем отредактирую.

image.png.70e088d9f5ef14d0971caf9522668db8.png

Страница 13 из 15

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

Перейти к списку тем
Форум · 2.0.20260627.0025