• Реклама: ⚡️ FreshForex - надежный CFD брокер с 2004 года. Бонус 101% - поможет в случае просадки!
  • Добро пожаловать на инвестиционный форум!

    Во всем многообразии инвестиций трудно разобраться. MMGP станет вашим надежным помощником и путеводителем в мире инвестиций. Только самые последние тренды, передовые технологии и новые возможности. 400 тысяч пользователей уже выбрали нас. Самые актуальные новости, проверенные стратегии и способы заработка. Сюда люди приходят поделиться своим опытом, найти и обсудить новые перспективы. 16 миллионов сообщений, оставленных нашими пользователями, содержат их бесценный опыт и знания. Присоединяйтесь и вы!

    Впрочем, для начала надо зарегистрироваться!
  • 🐑 Моисей водил бесплатно. А мы платим, хотя тоже планируем работать 40 лет! Принимай участие в партнеской программе MMGP
  • 📝 Знаешь буквы и умеешь их компоновать? Платим. Дорого. Бессрочная акция от MMGP: "ОПЛАТА ЗА СООБЩЕНИЯ"

Помогите с условиями 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])
 
Сверху Снизу