Помогите с условиями if

pooh

Интересующийся
Регистрация
18.01.2012
Сообщения
67
Реакции
11
Поинты
0.000
Здравствуйте всем.
Пытаюсь написать советник, но застрял на одном моменте. Есть во такой кусок кода:
Код:
string Order_Kind;
// если последние две свечи вверх
if (Open[2] < Open[1] && Close[2] < Close[1])
{
// то продаем
   Order_Kind = "SELL";
}
// если последние две свечи вниз
if (Open[2] > Open[1] && Close[2] > Close[1])
{
// то покупаем
   Order_Kind = "BUY";
}
В таком виде советник отлично открывает ордера на продажу. (при Order_Kind = "SELL"). Но, при этом, на покупку не открывает ни одного, хотя условия для покупки были и неоднократно.
Если временно убрать блок для SELL, то есть привести к такому виду:
Код:
string Order_Kind;
// если последние две свечи вниз
if (Open[2] > Open[1] && Close[2] > Close[1])
{
// то покупаем
   Order_Kind = "BUY";
}
То советник не откроет вообще ни одного ордера за все время теста.
Если в коде оставить только это:
Код:
string Order_Kind;
Order_Kind = "BUY"
То оредра на покупку начинают открываться.
С ордерами на продажу проблем нет, все работает как и задумывалось.
Подскажите пожалуйста, в чем может быть проблема?
 
Последнее редактирование:

Wsevolod

Новичок
Регистрация
10.03.2016
Сообщения
2
Реакции
0
Поинты
0.000
Здравствуйте всем.
Пытаюсь написать советник, но застрял на одном моменте. Есть во такой кусок кода:
Код:
string Order_Kind;
// если последние две свечи вверх
if (Open[2] < Open[1] && Close[2] < Close[1])
{
// то продаем
   Order_Kind = "SELL";
}
// если последние две свечи вниз
if (Open[2] > Open[1] && Close[2] > Close[1])
{
// то покупаем
   Order_Kind = "BUY";
}
В таком виде советник отлично открывает ордера на продажу. (при Order_Kind = "SELL"). Но, при этом, на покупку не открывает ни одного, хотя условия для покупки были и неоднократно.
Если временно убрать блок для SELL, то есть привести к такому виду:
Код:
string Order_Kind;
// если последние две свечи вниз
if (Open[2] > Open[1] && Close[2] > Close[1])
{
// то покупаем
   Order_Kind = "BUY";
}
То советник не откроет вообще ни одного ордера за все время теста.
Если в коде оставить только это:
Код:
string Order_Kind;
Order_Kind = "BUY"
То оредра на покупку начинают открываться.
С ордерами на продажу проблем нет, все работает как и задумывалось.
Подскажите пожалуйста, в чем может быть проблема?

Если имеется ввиду, что последние две свечи закрылись с повышением, то код будет выглядеть так:
if (Open[1] < Close[1] && Open[2] < Close[2])
и с понижением соответственно:
if (Open[1] > Close[1] && Open[2] > Close[2])
 
Сверху Снизу