Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Нет времени на изучение MQL5? Закажи приложение у разработчика!
ilunga
744
ilunga 2011.05.26 11:26  
azik1111:

ну и какая это строка . как сделать тут так что бы он воспринял другое условие ? я не програмист . что бы он дал мне возможность поставить отрицательное значение

Для начала условие следует сформулировать
azik
139
azik 2011.05.26 11:33  

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

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

ilunga
744
ilunga 2011.05.26 12:07  
azik1111:

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

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

ну как самый простой вариант четко формируете список условий и в https://www.mql5.com/ru/job
azik
139
azik 2011.06.04 21:01  

вот отрывок кода увеличения объема последующего ордера по ряду фибоначи. можно из него сделать простую прогрессию геометрическую, когда следующий будет в 2 раза больше . если да то как ?

int Fibonacci(int n) {
  int a=0, b=0, i=1, s=0;

  if (n==1) s=1;
  if (n>1) {
    s=1;
    while (i<n) {
      i++;
      a=b;
      b=s;
      s=a+b;
    }
  }
  return(s);
}
Andrey F. Zelinsky
30625
Andrey F. Zelinsky 2011.06.04 21:21  
azik1111:

вот отрывок кода увеличения объема последующего ордера по ряду фибоначи. можно из него сделать простую прогрессию геометрическую, когда следующий будет в 2 раза больше . если да то как ?


int gp(int n) {
  int i=1, s=0;

  if (n==1) s=1;
  if (n>1) {
    s=1;
    while (i<n) {
      i++;
      s=s*2;
    }
  }
  return(s);
}
azik
139
azik 2011.06.04 21:47  

спасибо, но немного не то что я хотел . у меня выставляется сначала отложенные 0.1, потом если выполнились они то выставляется 0.2 ? потом я хотел что бы было 0.2 * 2 = 0.4 . я сделал как вы указали, но проверял на тестере, получается что выставляется 0.1 а потом сразу 0.4

если вам не трудно подскажите .

с уважением, Азер .

Andrey F. Zelinsky
30625
Andrey F. Zelinsky 2011.06.04 21:52  
azik1111:

спасибо, но немного не то что я хотел . у меня выставляется сначала отложенные 0.1, потом если выполнились они то выставляется 0.2 ? потом я хотел что бы было 0.2 * 2 = 4 . я сделал как вы указали, но проверял на тестере, получается что выставляется 0.1 а потом сразу 0.4

если вам не трудно подскажите .

с уважением, Азер .

вопрос не понятен
azik
139
azik 2011.06.04 21:59  

раньше у меня было увеличение по фибоначи . т.е. сначало 0.1, потом 0.2, потом 0.3, потом 0.5 итд .

теперь я хотел что бы увеличение было просто по прогрессии геометрической . т.е. сначало 0.1 потом 0.2, потом 0.4, потом 0.8 итд

когда я сделал как вы сказали, то у меня получилось 0.1 потом сразу 0.4, а потом увеличение пошло правильно 0.8 итд . просто пропустилось 0.2 .

я не знаю как подругому написать . помоему тут упускается одна фаза прибавления .

Andrey F. Zelinsky
30625
Andrey F. Zelinsky 2011.06.04 22:24  
azik1111:

раньше у меня было увеличение по фибоначи . т.е. сначало 0.1, потом 0.2, потом 0.3, потом 0.5 итд .

теперь я хотел что бы увеличение было просто по прогрессии геометрической . т.е. сначало 0.1 потом 0.2, потом 0.4, потом 0.8 итд

когда я сделал как вы сказали, то у меня получилось 0.1 потом сразу 0.4, а потом увеличение пошло правильно 0.8 итд . просто пропустилось 0.2 .

я не знаю как подругому написать . помоему тут упускается одна фаза прибавления .


функцию, что вам показал считает коэффициент правильно - как вы используете эту функцию - неизвестно

проверить легко - можно запустить - и посмотреть результат:

int init()
{
   Print("gp(0)=",gp(0),"  Fibonacci(0)=",Fibonacci(0));
   Print("gp(1)=",gp(1),"  Fibonacci(1)=",Fibonacci(1));
   Print("gp(2)=",gp(2),"  Fibonacci(2)=",Fibonacci(2));
   Print("gp(3)=",gp(3),"  Fibonacci(3)=",Fibonacci(3));
   Print("gp(4)=",gp(4),"  Fibonacci(4)=",Fibonacci(4));
   Print("gp(5)=",gp(5),"  Fibonacci(5)=",Fibonacci(5));
   Print("gp(6)=",gp(6),"  Fibonacci(6)=",Fibonacci(6));
   Print("gp(7)=",gp(7),"  Fibonacci(7)=",Fibonacci(7));
}

int start()
{
   return(0);
}

int gp(int n) {
  int i=1, s=0;

  if (n==1) s=1;
  if (n>1) {
    s=1;
    while (i<n) {
      i++;
      s=s*2;
    }
  }
  return(s);
}

int Fibonacci(int n) {
  int a=0, b=0, i=1, s=0;

  if (n==1) s=1;
  if (n>1) {
    s=1;
    while (i<n) {
      i++;
      a=b;
      b=s;
      s=a+b;
    }
  }
  return(s);
}
azik
139
azik 2011.06.04 22:43  

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

1 2011.02.24 06:00 buy stop 1 0.10 82.19 81.55 82.57 0.00 10000.00
2 2011.02.24 06:00 sell limit 2 0.10 82.16 82.77 81.75 0.00 10000.00
3 2011.02.24 06:00 buy limit 3 0.10 81.97 81.35 82.37 0.00 10000.00
4 2011.02.24 06:00 sell stop 4 0.10 81.95 82.57 81.55 0.00 10000.00
5 2011.02.24 08:28 buy 3 0.10 81.97 81.35 82.37 0.00 10000.00
6 2011.02.24 08:28 sell 4 0.10 81.95 82.57 81.55 0.00 10000.00
7 2011.02.24 08:28 delete 2 0.10 82.16 82.77 81.75 0.00 10000.00
8 2011.02.24 08:28 delete 1 0.10 82.19 81.55 82.57 0.00 10000.00
9 2011.02.24 08:28 buy stop 5 0.40 82.15 81.53 82.55 0.00 10000.00
10 2011.02.24 08:28 sell stop 6 0.40 81.77 82.39 81.37 0.00 10000.00
11 2011.02.24 10:39 sell 6 0.40 81.77 82.39 81.37 0.00 10000.00
12 2011.02.24 10:39 close 4 0.10 81.79 82.57 81.55 19.56 10019.56
13 2011.02.24 10:39 delete 5 0.40 82.15 81.53 82.55 0.00 10019.56
14 2011.02.24 10:39 buy stop 7 0.80 81.97 81.35 82.37 0.00 10019.56
15 2011.02.24 14:38 close 6 0.40 81.68 82.39 81.37 44.07 10063.63
16 2011.02.24 14:38 close 3 0.10 81.66 81.35 82.37 -37.96 10025.67
17 2011.02.24 14:38 delete 7 0.80 81.97 81.35 82.37 0.00 10025.67

ордер № 9 и 10 должны были быть 0.2 а не 0.4 . № 14 должен был быть соответственно 0.4 а не 0.8

в любом случаи, большое спасибо .

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