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

仕事が完了した

実行時間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 article, 8 codes

プロジェクト情報

予算
30 - 50 USD
締め切り
最高 5 日