Несколько задач на разработку MQL4

MQL4 Indicateurs Scripts

Tâche terminée

Temps d'exécution 1 jour
Commentaires de l'employé
Спасибо за работу. ТЗ понятно.
Commentaires du client
Очень качественно было выполнено задание! Моментальный отзыв на комментарии и было выполнено за несколько часов! Спасибо за работу! Если появятся новые задачи, то только к Vladon'у!

Spécifications

Коллеги, добрый день!

Есть несколько задач:
1) Есть  индикатор showBid (скачал здесь), но он не обновляется по тику, только по событию CHARTEVENT_CHART_CHANGE. 
Нужно доделать, чтобы обновлялся по тику. Использовать как советник - не вариант, так как работает другой.

2) Вывести текущее время с секундами как объект в правый верхний угол графика (примерно такого же размера, как и showBid). Синхронизировать с локальным временем. 

3) Торгую бинарными опционами у брокера GrandCapital. Когда открываю позицию в поле комментария ордера выводится дата и время его экспирации, а также доходность опциона (например: в открытом ордере - "E 11.19 10:30:23 50%", в истории - "E 11.19 10:30:23 50%[2]" ).
а) Написать функцию, которая будет вытаскивать из комментария доходность и дату-время экспирации (для использования в советнике в дальнейшем)

Я пробовал писать так:

//функция получения доходности опциона из ордера numorder - выбираю ордер по тикету

<sourcecode>  

int getOptionProfit(int numorder)
{
   int result=0;
   string comment="";
   int len=0;
   bool res=OrderSelect(numorder,SELECT_BY_TICKET);
   if (res)
   {
      comment=OrderComment();
      len=StringLen(comment);
      if (len==20) result=StringToInteger(StringSubstr(comment,StringLen(comment)-3,2)); //для открытого рыночного ордера
      if (len==23) result=StringToInteger(StringSubstr(comment,StringLen(comment)-6,2)); //для закрытого ордера
   }
   Alert(result);
   return(result);
}

</sourcecode>


Функция должна исполняться, когда получен тикет (открыт ордер) нового открытого ордера. Может ордер просто не успевает открыться, а функция уже исполнилась? 
Эта функция возращает 0 в советнике, но если ее тестировать в процедуре OnInit, то она возвращает верное значение. Не могу понять почему так происходит.
 
//функция получения даты и времени экспирации опциона из ордера numorder - здесь попробовал выбрать открытый ордер по позиции, но ошибка осталась

<sourcecode> 

datetime getOptionExpiration(string instr)
{
   datetime ordertimestr=0;
   string str="";
   for (int j=0;j<OrdersTotal();j++)
   {
      bool res=OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
      if ((res)&&(OrderSymbol()==instr))
      {
         string str1=StringFormat("%s",TimeToString(TimeCurrent(),TIME_DATE));
         string year1=StringSubstr(str1,0,4); //вытаскиваем год
         str=OrderComment(); 
         string month1=StringSubstr(str,2,2); //вытаскиваем месяц
         string day1=StringSubstr(str,5,2); //вытаскиваем день
         string time1=StringSubstr(str,8,8); //вытаскиваем время
         ordertimestr=StringToTime(year1+"."+month1+"."+day1+" "+time1); //дата и время экспирации открытой позиции (число)
      }
   }  
   return(ordertimestr);        
}

</sourcecode>
Проблема та же, что и с предыдущим. Но возвращаемое значение этой функции я хочу в дальнейшем использовать для "отлова" момента экспирации опциона и записи действий в лог. Сейчас видимо она тоже криво работает, использую пока Sleep на срок жизни опциона. 
Если есть вариант как более эффективно поймать момент экспирации - предлагайте. 

 б) когда открывается ордер и в комментарии появляется дата и время экспирации нужно к часам в п. 2 "пристегнуть" таймер с обратным отсчетом времени до момента экспирации (в формате секунды/минуты:секунды/часы:минуты:секунды - на выбор пользователя). Обязательно использование с выбранным ордером (по тикету)


Жду предложений.
 
 
 

Dossiers :

MQ5
showbid.mq5
3.3 Kb

Répondu

1
Développeur 1
Évaluation
(23)
Projets
90
24%
Arbitrage
12
33% / 67%
En retard
35
39%
Gratuit
2
Développeur 2
Évaluation
(3)
Projets
4
25%
Arbitrage
0
En retard
0
Gratuit
3
Développeur 3
Évaluation
(74)
Projets
93
53%
Arbitrage
3
33% / 0%
En retard
3
3%
Gratuit
Commandes similaires
Нужно доработать утилиту добавить новые функции, изменить интерфейс. Нужен человек имеющий опыт по связи терминала с Телеграм, по средствам Телеграм АПИ, нужно добавить 2 новые функции в утилиту. Подробнее в ТЗ, изменения нужно внести для мт4/5 версии
dify indicator MA_Cloud for mt4 and mt5, give source code with comments 1)Need to change alerts and arrows for cross price only true 2 MA without crossing (direction from small to big) 2)Fix the error when change to any timeframe for MA (disapeer) and for arrows (in history is very big on vertically out of see screenshot) 3)Add alerts for crossing of 2 MA (MA Small cross MA big) Arrows, Message, Sound - (True/False)
Изменить графический интерфейс утилиты, исправить расположение кнопок, изменить вид некоторых окон и добавить новые. Сохранить текущую адаптивность и работоспособность кнопок. Подробнее расскажу в ТЗ с наглядными скриншотами, что и где поменять. Правки нужно внести в МТ4 и МТ5 версии. Спасибо за ваши заявки, рассмотрю каждую
Мне нужен робот, который будет иметь следующие необходимые параметры: 1. робот должен работать на MT5 2. минимальный депозит $100 3. количество транзакций в день на депозит $100 с лотом 0,01 минимум 1000 4. макс прасат 15%
написать индикатор распознования флета. выявления флета из трёх частей проверки. в каждой части свой расчёт, по барам, по количеству поинтов, по ширине (высоте) баров, по минимальным значениям... когда все расчеты сошлись и не вышли из пропорций, тогда рисуется флет. Задание готово, отправлю подходящему кандидату. передача оплаты, когда индикатор будет работать без проблем, по всем параметрам расчетов. возможны не
был старый работоспособный скрипт на очень старом МТ4... есть необходимость переписать его на MQL5, чтобы проверить теоретическую работоспособность в современном мире описание вроде бы где-то сохранилось кто-нибудь сможет помочь с этим вопросом и за какие деньги

Informations sur le projet

Budget
20 - 40 USD
Pour le développeur
18 - 36 USD
Délais
de 2 à 10 jour(s)