Группа "Стол заказов MQL"

Рейтинг 2146



РЕКОМЕНДУЮ




Лучшее от axe44



Крутые памм-счета Комментариев 6
2017-10-24 11:58:58Рейтинг 0

БКС Комментариев 8
2017-08-11 02:57:12Рейтинг 0

торги
2017-01-26 00:01:37Рейтинг 0

HelloDual v3.0 Комментариев 3
2017-11-19 02:21:03Рейтинг 0

Создание советников бесплатно Комментариев 2
2017-07-16 22:54:20Рейтинг 0

z-счёт

Решил набросать простенький код для подсчёта тенденции к сливу в счёте. Для этого взял простую формулу Z-счёта и попробовал перенести в код mq4.
Написал вроде всё верно, но как только запускаю простой вывод через Принт — то советник сразу не работает. При компиляции ошибок нет.
Мозги себе уже сломал на простом коде.

Спасибо, если поможете!

//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+

double Znomer()
{
zn=0; // z-число
psd=0; // кол. положительных сделок
usd=0; // количество отрицательных сделок 
ww=0; // боол переменная 
nn=0; // боол переменная
C=0; // C = количество чередований между отрицательными и положительными сделками
index=OrdersHistoryTotal(); 
if(OrdersHistoryTotal()>302) index=301; // берём не более 301 сделки
if(index<30) return(1); // берём не менее 30
count=OrdersHistoryTotal(); // считаем от скольки 
prom=count-index; // выделяем только последние сделки
if (prom<0) prom=0; // исключаем ошибки

for( i=count;i>prom;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)== true)
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{// далее магия
pribul=OrderProfit(); 
if (ww==0&&pribul>1){C++;ww=1;nn=0;}// подсчитываем смену тенденции
if (nn==0&&pribul<1){C++;ww=0;nn=1;}// подсчитываем смену тенденции 
if (pribul>1){psd++;}//прибыльные сделки
if (pribul<1){usd++;}// убыточные сделки

}
}
}
/*/*
Величина Z = (A * (C — 0.5) — B)/ ((B*(B — C))/(C -1))^(1/2), где:
A = количество анализируемых сделок;
B = 2*количество прибыльных сделок * количество убыточных сделок;
C = количество чередований в выборке (чередованием считается каждая пара сделок, 
когда прибыльная сделка сменяет убыточную либо наоборот).
*/
zn = (index*(C-0.5)-(2*psd*usd))/
((((2*psd*usd)*((2*psd*usd)-C))/
(C-1))*((((2*psd*usd)*((2*psd*usd)-C))/
(C-1))*0.5));



return(zn);
}
  • 0
  • Просмотров: 1489
  • 13 января 2019, 02:43
  • axe44
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Доработка советника
Следующая запись в группе  
советник на ГЭПАХ
12 января 2019
13 января 2019

Брокер для ваших роботов, 15 лет на рынке

Комментарии (4)

+
0
на 24-е
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 13 января 2019, 12:13
+
0
У меня подозрение, что ошибка в коде перебора
if(OrderSelect(OrdersHistoryTotal()-i,SELECT_BY_POS,MODE_HISTORY)== true)

наверно было бы верным. Хотя нет. Проверил. Ничего не меняется
avatar

  13  axe44 Автор Сообщений: 1149 - Алек

  • 13 января 2019, 23:02
+
0
Код рабочий. Ошибку нашёл. Просто у меня косяк в повторе переменных.

Право у меня попросить помощи в этом месяце сохраняется?

Я редко прошу помощь )
Редактирован: 17 января 2019, 08:47
avatar

  13  axe44 Автор Сообщений: 1149 - Алек

  • 17 января 2019, 08:46
+
0
Право у меня попросить помощи в этом месяце сохраняется?

да
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 17 января 2019, 20:26

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий