Trabajo finalizado
Plazo de ejecución 23 horas
Comentario del Cliente
Заказ выполнен на удивление быстро вместо 5дней 1 сутки, но качество потрясло меня. Всё, что было заявлено в тз выполнено. Прогнал на тестере... Всё как я делал бы руками Спасибо
Comentario del Ejecutor
5+
Tarea técnica
Доброго времени.
Хочу заказать у Вас советник, но хочу сразу узнать сколько это будет стоить.
Поэтому сразу перехожу к техническому заданию.
1. В данном советнике будем использовать индикатор HP\прилагается в конце письма \. В нём нас итересует переменная dhp.
данный индикатор как видно из строк
-------------------------------
dhp=NormalizeDouble(((hpf[0]-hpf[1])/Point),1);
rp0=iCustom(NULL,0,"RoundPriceExp",per,b,nobs,0,0);
rp1=iCustom(NULL,0,"RoundPriceExp",per,b,nobs,0,1);
Comment ("\n"," Рекомендую пока не торговать!"," DHP=",dhp);
if (dhp>=del && rp0>rp1 && rp0<hpf[0]) Comment("\n"," Купи меня быстрее!"," DHP=",dhp);
if (dhp<=-del && rp0<rp1 && rp0>hpf[0]) Comment("\n"," Продай меня быстрее!"," DHP=",dhp);
-------------------------------
используется совместно с индикатором "RoundPriceExp". Видно из этих строк, что комментарии купи меня и продай меня вызываются
при выполнении условий если dhp больше или меньше значений rp0 rp1. В моём советнике мы не будем использовать индикатор
RoundPriceExp, нас будет интересовать числовое значение dhp. Если вы запустите индикатор в окне метатрейдера, то увидете ту
информацию а какой я вам говорю. И так приступим
...................................................
2.1 Открытие сделки на ПОКУПКУ
условие если dhp>\ИЗМЕНЯЕМОЕ ЧИСЛО назовём его например buystart-только положительное значение \, то происходит открытие
сделки на покупку, выставляем stoploss\изменяемый\ и takeprofit\изменяемый\.
2.2 Закрытие сделки
Сделка закрывается либо по стопу либо по профиту или по условию(что наступит раньше)
условие если dhp<\ИЗМЕНЯЕМОЕ ЧИСЛО назовём его например buystop-0 либо положительное значение\, то происходит закрытие
сделки.
------------------------------
3.1 Открытие сделки на ПРОДАЖУ
условие если dhp<\ИЗМЕНЯЕМОЕ ЧИСЛО назовём его например sellstart-только отрицательное значение \, тогда открываем сделку
на продажу , соответственно ставим stop и profit.
3.2 Закрытие сделки
Сделка закрывается либо по стопу либо по профиту или по условию(что наступит раньше)
условие если dhp>\ИЗМЕНЯЕМОЕ ЧИСЛО назовём его например sellstop - 0 либо отрицательное значение \.
------------------------------
4.0 Дополнения
4.1 Если сделка завершилась убытком, следующая за ней должна открытся лотом*\изменяемый параметр(например 1.2)\
4.2 Если \изменяемое число\ спред больше указанного числа сделка не откроется.
4.3 Да ещё такой момент, допустим мы открыли сделку на покупку она закрылась по условию dhp=5, но после рынок начал вновь
подниматься dhp достигло условия на покупку, то советник вновь должен открыть сделку buy, а не ждать противоположного тренда.
4.4 STOP И PROFIT задаются в пунктах.
4.5 Если установлено число 0 в stoploss и takeproffit, то условие не работает, а срабатывает только stop либо take .
4.6 открытие и закрытие сделки дублируется отправкой письма на указанный ящик./пустое сообщение/
------------------------------
и так в настройках советника мы должны менять следующие переменные
lot___________________________________________________________0.0
downlot_______________________________________________________0.0
buystart______________________________________________________1\не пункты а значения dhp
buystop_______________________________________________________0\не пункты а значения dhp
sellstart____________________________________________________-1\не пункты а значения dhp
sellstop______________________________________________________0\не пункты а значения dhp
take__________________________________________________________\в пунктах
stop__________________________________________________________\в пунктах
mail:_________________________________________________________
Вроде бы как и всё написал, если что-то коряво или не понятно, то напишите 9847016@mail.ru
Дмитрий
Заранее спасибо
код индикатора
-----------------------------------------------------------------------------------------------------------------
//+------------------------------------------------------------------+
//| HP.mq4 |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Lime
#property indicator_width1 2
//Global constants
#define pi
3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093
844609550582231725359408128481117450284102701938521105559644622948954
//Input parameters
extern int nobs =300; //Number of bars to smooth
extern int FiltPer =21; //Equivalent to SMA period
extern int per=21;
extern double b=0.7;
extern double del=1;
//Indicator buffers
double hpf[],lambda,dhp,rp0,rp1;
int init()
{
lambda=0.0625/MathPow(MathSin(pi/FiltPer),4);
SetIndexBuffer(0,hpf);
SetIndexStyle(0,DRAW_LINE);
return(0);
}
//+----------------------------------------------------------------------------------------+
int start()
{
double x[];
ArrayResize(x,nobs);
for(int i=0;i<nobs;i++) x[i]=Close[i];
HPF(nobs,lambda,x,hpf);
return(0);
}
// Hodrick-Prescott Filter-----------------------------------------------------------------+
void HPF(int nobs, double lambda, double x[], double& y[])
{
double a[],b[],c[],H1,H2,H3,H4,H5,HH1,HH2,HH3,HH4,HH5,HB,HC,Z;
ArrayResize(a,nobs);
ArrayResize(b,nobs);
ArrayResize(c,nobs);
a[0]=1.0+lambda;
b[0]=-2.0*lambda;
c[0]=lambda;
for(int i=1;i<nobs-2;i++)
{
a[i]=6.0*lambda+1.0;
b[i]=-4.0*lambda;
c[i]=lambda;
}
a[1]=5.0*lambda+1;
a[nobs-1]=1.0+lambda;
a[nobs-2]=5.0*lambda+1.0;
b[nobs-2]=-2.0*lambda;
b[nobs-1]=0.0;
c[nobs-2]=0.0;
c[nobs-1]=0.0;
//Forward
for(i=0;i<nobs;i++)
{
Z=a[i]-H4*H1-HH5*HH2;
HB=b[i];
HH1=H1;
H1=(HB-H4*H2)/Z;
b[i]=H1;
HC=c[i];
HH2=H2;
H2=HC/Z;
c[i]=H2;
a[i]=(x[i]-HH3*HH5-H3*H4)/Z;
HH3=H3;
H3=a[i];
H4=HB-H5*HH1;
HH5=H5;
H5=HC;
}
//Backward
H2=0;
H1=a[nobs-1];
y[nobs-1]=H1;
for(i=nobs-2;i>=0;i--)
{
y[i]=a[i]-b[i]*H1-c[i]*H2;
H2=H1;
H1=y[i];
}
dhp=NormalizeDouble(((hpf[0]-hpf[1])/Point),1);
rp0=iCustom(NULL,0,"RoundPriceExp",per,b,nobs,0,0);
rp1=iCustom(NULL,0,"RoundPriceExp",per,b,nobs,0,1);
Comment ("\n"," Рекомендую пока не торговать!"," DHP=",dhp);
if (dhp>=del && rp0>rp1 && rp0<hpf[0]) Comment("\n"," Купи меня быстрее!"," DHP=",dhp);
if (dhp<=-del && rp0<rp1 && rp0>hpf[0]) Comment("\n"," Продай меня быстрее!"," DHP=",dhp);
return(0);
}
-----------------------------------------------------------------------------------------------------------------
Han respondido
1
Evaluación
Proyectos
553
50%
Arbitraje
57
40%
/
37%
Caducado
227
41%
Trabaja
2
Evaluación
Proyectos
679
56%
Arbitraje
33
15%
/
39%
Caducado
63
9%
Libre
3
Evaluación
Proyectos
189
46%
Arbitraje
34
24%
/
41%
Caducado
58
31%
Libre
Ha publicado: 12 ejemplos
4
Evaluación
Proyectos
106
52%
Arbitraje
17
12%
/
65%
Caducado
25
24%
Libre
5
Evaluación
Proyectos
650
28%
Arbitraje
112
19%
/
62%
Caducado
319
49%
Libre
6
Evaluación
Proyectos
945
47%
Arbitraje
309
58%
/
27%
Caducado
125
13%
Libre
7
Evaluación
Proyectos
602
34%
Arbitraje
64
20%
/
58%
Caducado
147
24%
Trabaja
Ha publicado: 1 artículo, 22 ejemplos
8
Evaluación
Proyectos
367
56%
Arbitraje
45
22%
/
56%
Caducado
188
51%
Libre
Ha publicado: 1 artículo, 6 ejemplos
9
Evaluación
Proyectos
395
28%
Arbitraje
155
20%
/
52%
Caducado
112
28%
Libre
10
Evaluación
Proyectos
1022
58%
Arbitraje
30
27%
/
23%
Caducado
133
13%
Trabaja
11
Evaluación
Proyectos
146
34%
Arbitraje
13
8%
/
62%
Caducado
26
18%
Libre
Ha publicado: 6 ejemplos
12
Evaluación
Proyectos
144
46%
Arbitraje
20
40%
/
20%
Caducado
32
22%
Libre
Información sobre el proyecto
Presupuesto
40 - 80 USD
Plazo límite de ejecución
de 2 a 15 día(s)