Обсуждение статьи "Пошаговое руководство по написанию советников в MQL5 для начинающих" - страница 11

 
Grenjohn:

А подскажите еще пожалуйста! Можно ли открывать и закрывать позиции в советники, четко по времени в секундах, независимо от тиков, как бы обычный таймер. То есть если на часах 12:52:25, то что бы позиция открывалась, а не ждала нового тика, так же и с закрытием?

Запустите таймер с нужной частотой и проверяйте в нем наступление нужного времени.

Или посчитайте, через сколько ему надо сработать (12:52:25 - время запуска), и выставьте точный интервал.

Только не нарвитесь на запрет торговли, таймер сработает даже когда рынок будет закрыт. 

 
А как это запустить таймер или как выставить точный интервал, это нужно прописывать в коде советника?
 
Grenjohn:
А как это запустить таймер или как выставить точный интервал, это нужно прописывать в коде советника?
Для начала, воспользоваться поиском.
 
Что же, нашел в поиске буду разбираться спасибо!
 

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

[Удален]  
Grenjohn:

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

Можно
 
Grenjohn:

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

Можно.
[Удален]  
Dima_S:
Можно.
Синхронно)))
 

Спасибо, но я вот так понял, что при наступлении такого-то события (указанного мной времени), функция должна сработать, но почему-то не получается.

Позиция не открывается!!??

 

 extern int tp = 1000;

extern int sl = 1000;

extern double Lots = 0.2;

int ticket;

void OnStart()

{

datetime date1=D'2014.10.28.13.22.13';

 if(OrdersTotal()==0)

 {

 ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red);

 }

 if (OrdersTotal()==1 && Hour( )==13 && Minute( )==23 && Seconds ( )>=00)

 {

 bool select1=OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);

 bool close1=OrderClose(ticket,Lots,Bid,20,Green);

 }

 return(0);

}

 

Я поясню, что мне нужно, что бы каждую неделю(один раз в неделю), в такой-то день, в такой-то час, в такую-то секунду, позиция открывалась, затем через несколько секунд закрывалась.

[Удален]  
Grenjohn:
Давайте мы будем уважать друг друга. Вставляйте код правильно, чтобы можно было его читать. Как это сделать, Вам уже показывали.