Автоматизация торговли на финансовых рынках Автоматизация торговли на финансовых рынках

 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Количество пунктов текущего бара

 
Начать новую тему   Ответить на тему    Список форумов Автоматизация торговли на финансовых рынках -> Программирование в MQL4
Предыдущая тема :: Следующая тема  
Автор Сообщение
rut



Зарегистрирован: 02.05.2013
Сообщения: 7

СообщениеДобавлено: Пн Май 12, 2014 12:16 am    Заголовок сообщения: Количество пунктов текущего бара Ответить с цитатой

Уважаемые программисты.
Какое добавить условие к советнику для запрета открытия ордера в зависимости от количества пунктов в текущем баре.
Например: Как на рисунке. Появился сигнал на открытие ордера, но цена стремительно падает на большое количество пунктов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
KimIV
Admin


Зарегистрирован: 24.01.2006
Сообщения: 958
Откуда: Кунгур

СообщениеДобавлено: Пт Май 16, 2014 9:41 am    Заголовок сообщения: Ответить с цитатой

rut, всё просто...

Код:

void start() {
  int b=0;    // Размер бара в пунктах
  int t=0;    // Размер тела в пунктах
  int n=1;    // Номер бара

  b=(High[n]-Low[n])/Point;
  t=MathAbs(Open[n]-Close[n])/Point;

  Comment("Номер бара: ", n, "\n", "Размер бара: ", b, " п.\n", "Размер тела: ", t," п.");
}

_________________
Ещё вчера я себе казался умным и пытался изменить мир, а сегодня я стал мудрым и пытаюсь изменить себя...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора Yahoo Messenger
rut



Зарегистрирован: 02.05.2013
Сообщения: 7

СообщениеДобавлено: Сб Май 17, 2014 11:31 am    Заголовок сообщения: Ответить с цитатой

Спасибо за ответ.
Почитал учебник и использовал пример.
Изменил и добавил условие при скольких последних баров и пунктов открывать сделку.
[code]

// extremumprice.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
extern int Quant_Bars=30; // Количество баров
//--------------------------------------------------------------------
int start() // Спец. функция start
{
int i; // Номер бара
double Minimum=Bid, // Минимальная цена
Maximum=Bid; // Максимальная цена

for(i=0;i<=Quant_Bars-1;i++) // От нуля (!) до..
{ // ..Quant_Bars-1 (!)
if (Low[i]< Minimum) // Если < известного
Minimum=Low[i]; // то оно и будет мин
if (High[i]> Maximum) // Если > известного
Maximum=High[i]; // то оно и будет макс
}
Alert("За последние ",Quant_Bars, // Вывод на экран
" баров Min= ",Minimum," Max= ",Maximum);
return; // Выход из start()
}

[code]
for (m=0;m<=Quant_Bars-1;m++)
{
if (Low[m]< Minimum)
Minimum=Low[m];
if (High[m]> Maximum)
Maximum=High[m];
}
P_ips=(Maximum-Minimum)*10000;
Alert ("За последние ",Quant_Bars," баров"" Количество пунктов=",P_ips);[/code][/list]
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Автоматизация торговли на финансовых рынках -> Программирование в MQL4 Часовой пояс: GMT + 5
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять вложения в этом форуме
Вы не можете просматривать вложения в этом форуме
Рейтинг@Mail.ru


Powered by phpBB © 2001, 2005 phpBB Group