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

MQL5 Indicateurs Experts

Tâche terminée

Temps d'exécution 3 heures
Commentaires du client
Приятно иметь дело со специалистом. Быстро и как надо.

Spécifications

Имеется индикатор силы валют, который графически рисует линии. В режиме показа двух валют после пересечения линий индикатор может рисовать стрелки вверх на покупку и вниз на продажу.
   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.

Répondu

1
Développeur 1
Évaluation
(589)
Projets
1069
50%
Arbitrage
39
28% / 41%
En retard
49
5%
Travail
Publié : 1 article, 8 codes

Informations sur le projet

Budget
30 - 50 USD
Délais
à 5 jour(s)