Необходимо изменить логику вывода стрелок индикатора.

MQL5 指标 专家

工作已完成

执行时间3 小时
客户反馈
Приятно иметь дело со специалистом. Быстро и как надо.

指定

Имеется индикатор силы валют, который графически рисует линии. В режиме показа двух валют после пересечения линий индикатор может рисовать стрелки вверх на покупку и вниз на продажу.
   ValueBaseCurr=Base[i];
   ValueBasePrev=Base[i+1];
   ValueQuoteCurr=Quote[i];

   ValueQuotePrev=Quote[i+1];

   if(ValueBasePrev<ValueQuotePrev && ValueBaseCurr>ValueQuoteCurr)   Buy=true;

   if(ValueBasePrev>ValueQuotePrev && ValueBaseCurr<ValueQuoteCurr)   Sell=true; 

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

 
Чтобы определить перегиб необходимо брать третье более раннее значение с линии.
Пусть будет обозначаться приставкой Bfor

Необходимо прописать ValueBaseBfor и ValueQuoteBfor

Новые условия для появления стрелок

   if(ValueBaseCurr-ValueBasePrev>0 && ValueBasePrev-ValueBaseBfor<0 && ValueQuoteCurr-ValueQuotePrev<0)
      Buy=true;
   if(ValueBaseCurr-ValueBasePrev<0 && ValueBasePrev-ValueBaseBfor>0 && ValueQuoteCurr-ValueQuotePrev>0)      
      Sell=true;      

   if(ValueQuoteCurr-ValueQuotePrev>0 && ValueQuotePrev-ValueQuoteBfor<0 && ValueBaseCurr-ValueBasePrev<0)
      Sell=true;
   if(ValueQuoteCurr-ValueQuotePrev<0 && ValueQuotePrev-ValueQuoteBfor>0 && ValueBaseCurr-ValueBasePrev>0)
      Buy=true;
  
Также необходимо создать дополнительный буфер и при появлении стрелки вверх помещать туда +1, стрелки вниз -1.

附加的文件:

ZIP
doc2.zip
65.9 Kb

反馈

1
开发者 1
等级
(588)
项目
1065
50%
仲裁
39
28% / 41%
逾期
49
5%
空闲
发布者: 1 文章, 8 代码

项目信息

预算
30 - 50 USD
截止日期
 5 天