Job finished
Execution time 3 hours
![](https://c.mql5.com/i/avatar/avatar_na2.png)
Feedback from customer
Работу выполнил от... и до...
![](https://c.mql5.com/i/avatar/avatar_na2.png)
Feedback from employee
Однозначное ТЗ и никаких задержек с проверкой результата - всё отлично.
Specification
Переписать индикатор с Руланг(Румус) Форекс Клуба на mg5
Есть код на Руланг , и на mg4. Базовая версия, с которой будем сравнивать естественно код Румуса.
//!_IC_2 sp=inparam("PERIOD",1,1000,20); if c>o then xh=h-c;else xh=h-o; if c>o then xl=o-l;else xl=c-l; tsh=mov(xh,sp,s); tsl=mov(xl,sp,s); //покупка if xl>2*tsl or (c-o)> 2*tsh or (xl>2*xh and xl>tsl) then br=3; else br=0; if (o-c)>2*tsl then br=0; //r; //продажа if xh>2*tsh or (o-c)> 2*tsl or (xh>2*xl and xh>tsh) then sr=-3; else sr=0; if abs(xh-xl)<((tsh+tsl)/2) and abs (o-c)<((tsh+tsl)/2) then begin br=0; sr=0; end; if (c-o)>2*tsh then sr=0; //дожи d=(tsh-tsl); d1=abs(xh-xl); d2=abs(o-c); if d2<=d and d1<=d then begin sr=0; br=0; end; a=h; b=ref(h,-1); if a>b then h2=a; else h2=b; a1=l; b1=ref(l,-1); if a1<b1 then l2=a1; else l2=b1; o2=ref(o,-1); c2=c; //покупка if c2>h2-(h2-l2)/3 then br2=1; else br2=0; //r2; //продажа if c2<l2+(h2-l2)/3 then sr2=-1; else sr2=0; zzz=sr2+br2+br+sr; if zzz>0 then rr=zzz; else rr=0; if zzz<0 then rr1=zzz; else rr1=0; rr; rr1;
Вот код для МТ4
//+------------------------------------------------------------------+
//| !_IC_2.mq4 | //| Nikolay Kobzar | //| | //+------------------------------------------------------------------+ #property copyright "Nikolay Kobzar" #property link "www.traderacademy.ru" #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 Red #property indicator_color2 Blue double rr[]; double rr1[]; double xh[]; double xl[]; extern int sp = 20; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators IndicatorShortName("!_IC_2"); IndicatorBuffers(4); SetIndexBuffer(0,rr); SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2); SetIndexLabel(0,"rr"); SetIndexBuffer(1,rr1); SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,2); SetIndexLabel(1,"rr1"); SetIndexBuffer(2,xh); SetIndexBuffer(3,xl); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); if (Bars <= sp) return(0); if (counted_bars < 0) return(-1); if (counted_bars > 0) counted_bars--; int loopbegin = Bars - counted_bars - 1; double tsh, tsl; int i,j; int br,sr,br2,sr2,zzz; double d,d1,d2,a,b,h2,a1,b1,l2,c2,o2; for(i=loopbegin; i>=0; i--) { if (Close[i] > Open[i]) { xh[i] = High[i]-Close[i]; xl[i] = Open[i]-Low[i]; } else { xh[i] = High[i]-Open[i]; xl[i] = Close[i]-Low[i];} } for(i=loopbegin; i>=0; i--) { tsh=0; tsl=0; for (j=0;j<sp;j++) { tsh = tsh + xh[i+j]; tsl = tsl + xl[i+j]; } tsh = tsh / sp; tsl = tsl / sp; if ( (xl[i]>2*tsl) || (Close[i]-Open[i]>2*tsh) || ((xl[i]>2*xh[i]) && (xl[i]>tsl)) ) br=3; else br=0; if ( (Open[i]-Close[i])>2*tsl ) br=0; if ( (xh[i]>2*tsl) || (Open[i]-Close[i]>2*tsl) || (xh[i]>2*xl[i] && xh[i]>tsh) ) sr=-3; else sr=0; if ( (MathAbs(xh[i]-xl[i]) < ((tsh+tsl)/2)) && (MathAbs(Open[i]-Close[i])<((tsh+tsl)/2)) ) { br=0; sr=0;} if ( (Close[i]-Open[i])>2*tsh ) sr=0; d = tsh-tsl; d1 = MathAbs(xh[i]-xl[i]); d2 = MathAbs(Open[i]-Close[i]); if ( (d2<=d) && (d1<=d) ) { sr=0; br=0; } a=High[i]; b=High[i+1]; if (a>b) h2=a; else h2=b; a1=Low[i]; b1=Low[i+1]; if (a1<b1) l2=a1; else l2=b1; o2=Open[i+1]; c2=Close[i]; if (c2 > h2-(h2-l2)/3) br2=1; else br2=0; if (c2 < l2+(h2-l2)/3) sr2=-1; else sr2=0; zzz=sr2+br2+br+sr; if (zzz>0) rr[i]=zzz; else rr[i]=0; if (zzz<0) rr1[i]=zzz; else rr1[i]=0; } //---- return(0); } //+---------
Responded
1
Rating
Projects
4
25%
Arbitration
0
Overdue
0
Free
2
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
3
Rating
Projects
1374
72%
Arbitration
113
28%
/
48%
Overdue
342
25%
Working
Similar orders
Modify indicator MA_Cloud
50+ USD
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)
Изменить графический интерфейс утилиты
40 - 70 USD
Изменить графический интерфейс утилиты, исправить расположение кнопок, изменить вид некоторых окон и добавить новые. Сохранить текущую адаптивность и работоспособность кнопок. Подробнее расскажу в ТЗ с наглядными скриншотами, что и где поменять. Правки нужно внести в МТ4 и МТ5 версии. Спасибо за ваши заявки, рассмотрю каждую
Мне нужен робот, который будет иметь следующие необходимые параметры: 1. робот должен работать на MT5 2. минимальный депозит $100 3. количество транзакций в день на депозит $100 с лотом 0,01 минимум 1000 4. макс прасат 15%
Написать индикатор распознования флета
50 - 120 USD
написать индикатор распознования флета. выявления флета из трёх частей проверки. в каждой части свой расчёт, по барам, по количеству поинтов, по ширине (высоте) баров, по минимальным значениям... когда все расчеты сошлись и не вышли из пропорций, тогда рисуется флет. Задание готово, отправлю подходящему кандидату. передача оплаты, когда индикатор будет работать без проблем, по всем параметрам расчетов. возможны не
Добрый день! Требуется выполнить следующую задачу: 1. для стандартного индикатора зигзаг 2. задаются стандартные настройки 3. задается тестовый период, валютная пара, таймфрейм 4. выгружается файл CVS или эксель с данными о зафиксированных пиках зигзага (НЕ ПРОМЕЖУТОЧНЫХ / ТЕКУЩИХ / ФОРМИРУЮЩИХСЯ, а именно о конечных пиках) 5. для каждого пика фиксируются
Необходимо переписать ЕА из MQL4 в MQL5
30 - 200 USD
был старый работоспособный скрипт на очень старом МТ4... есть необходимость переписать его на MQL5, чтобы проверить теоретическую работоспособность в современном мире описание вроде бы где-то сохранилось кто-нибудь сможет помочь с этим вопросом и за какие деньги
Нужна помощь в модернизации советника ММ функции
30 - 50 USD
стратегий в одном терминале может быть много нужен ММ для (баланс - сумма всех рисков) //Maximum amount of money to risk double moneyToRisk = NormalizeDouble( (AccountBalance() - Total_Current_Risk() )* RiskInPercent / 100, 7); Total_Current_Risk() { calculates all potential losses of all opened and all pending orders + all swaps + all commissions return (Total_Current_Amount_At_Risk) } double
I am looking to enhance the profitability of my current Expert Advisor (EA) using a Martingale approach with a CCI Indicator (the code is approximately 1200 lines currently) and would like to implement several key improvements. Below, I have detailed the areas where I believe the EA can be optimized and made more effective and i have provided the code in a .txt file: Note: I would like to run this EA most preferably
Project information
Budget