Счетчик сигналов, счетчик неудачных/удачных входов

MQL4 전문가 라이브러리

명시

Нужны:


1. Функция счетчика сигналов Sign_Checker(int ID), то есть, например, есть какая-то функция которая выдает сигналы типа int, например

в start:

int IDstoch80 = 5555;

int IDstoch20 = 5556;
int IDstoch50 = 5557;

   if (iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,1)>80){Sign_Checker(IDstoch80);} // при выполнении условия идёт трансляция IDstoch80 в Sign_Checker(int ID)
   if (Sign_Checker(IDstoch80)>2){Comment("читал ТЗ=", Sign_Checker(IDstoch80));} // проверяем сколько раз посчитано значение IDstoch80

   if (iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,1)==80){Sign_Checker(IDstoch20);} // при выполнении условия идёт трансляция IDstoch20 в Sign_Checker(int ID)
   if (Sign_Checker(IDstoch20)>2){Comment("читал ТЗ=", Sign_Checker(IDstoch20));} // проверяем сколько раз посчитано значение IDstoch20

   if (iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,1)==50){Sign_Checker(IDstoch50);} // при выполнении условия идёт трансляция IDstoch50 в Sign_Checker(int ID)
   if (Sign_Checker(IDstoch50)>2){Comment("читал ТЗ=", Sign_Checker(IDstoch50));} // проверяем сколько раз посчитано значение IDstoch50

пример: в данном случае  Comment("читал ТЗ=", Sign_Checker(IDstoch80));  должна показать значение = 3, так как стохастик превысил 80 три раза, а  Comment("читал ТЗ=", Sign_Checker(IDstoch20));  должна показать значение = 6, так как стохастик пересекал значение 80 шесть раз


 требования к функции -

  • все расчёты только внутри функции, функция отдельна от других блоков,
  • все условия и сравнения и вывод - вне функции (например условия по стохастику - в start),
  • возможность обнуления счётчика определённого ID, например так if (Sign_Checker(IDstoch50)>2) Sign_Checker(IDstoch20)=0; 


2. Функция LuckCounter() или LuckCounter(double target) Счетчика достижения текущей ценой (бид или аск) заданной чем-либо цены target -  никаких ордеров, счётчик получает уровни/таргеты/цели/цены в формате double, результат выдаёт в формате int

пример в start:   if (iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,1)>80){LuckCounter(1.4702);} // при выполнении условия идёт трансляция цели в LuckCounter, далее LuckCounter запоминает цель и сравнивает с текущей ценой, если текущая цена достигает цель, то LuckCounter по этой цели будет +1, и цель обнуляется, общее значение LuckCounter выдаст +1. Если в LuckCounter было отправлено 100 разных целей и цена достигла только 44 из них, то общее значение LuckCounter должен выдавать 44, а остальные цели (каждая из них) ждут достижения ценой либо своего обнуления

  • все расчёты только внутри функции, функция отдельна от других блоков,
  • все условия и сравнения и вывод - вне функции (например условия по стохастику - в start),
  • возможность обнуления определённой цели до достижения её бидом аском, например так if (Sign_Checker(IDstoch50)==9) LuckCounter(1.4702)=0;

функция LuckCounter подобна предыдущей, только вместо счёта поступающих чисел как в Sign_Checker, функция LuckCounter следит за ценой и считает сравнения/достижения поставленных целей с ценой, обе простые

код комментируйте цитатами из ТЗ на русском языке,

примеры привёл, чтобы могли проверить что всё работает правильно, примером может быть и не стохастик

код в примерах может содержать ошибки - не придирайтесь, задавайте вопросы


 

 

 

 

응답함

1
개발자 1
등급
(23)
프로젝트
90
24%
중재
12
33% / 67%
기한 초과
35
39%
무료
2
개발자 2
등급
(169)
프로젝트
460
41%
중재
39
18% / 31%
기한 초과
193
42%
무료
3
개발자 3
등급
(71)
프로젝트
254
53%
중재
16
50% / 38%
기한 초과
83
33%
무료
4
개발자 4
등급
(2)
프로젝트
5
20%
중재
2
50% / 0%
기한 초과
0
무료
5
개발자 5
등급
(195)
프로젝트
395
28%
중재
155
20% / 52%
기한 초과
112
28%
무료
6
개발자 6
등급
(37)
프로젝트
105
49%
중재
6
0% / 17%
기한 초과
21
20%
무료
7
개발자 7
등급
(3)
프로젝트
9
33%
중재
3
0% / 100%
기한 초과
0
무료
8
개발자 8
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
9
개발자 9
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
10
개발자 10
등급
(46)
프로젝트
73
16%
중재
13
8% / 92%
기한 초과
37
51%
무료

프로젝트 정보

예산
10 - 20 USD
VAT (21%): 2.1 - 4.2 USD
총: 12.1 - 24.2 USD
개발자에게
9 - 18 USD
기한
에서 1  3 일