Основные вопросы ...

 

Здравствуйте

Я хочу сделать следующее в коде

'Не торговать в течение 30 минут с момента моей последней сделки'.

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

Я делаю следующее - этот код еще не работает - он только в стадии разработки - я не знаю, как добавить 30 минут к моему последнему ордеру.

Это для советника, работающего только на текущей паре

int start()

{

int cnt, ticket, total, stop1;

static datetime lasttime

total=OrdersTotal();

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

//Определяем время последнего закрытия ордера

if (OrderCloseTime > lasttime + 30)

{

lasttime = orderclosetime

}//if (OrderCloseTime)

}

Теперь я хочу сказать

if (Curtime() > lasttime + 30 минут)

{

Продолжить торговлю

}

пожалуйста, помогите

 

Я думаю, что это выглядит нормально, но в проверке OrderCloseTime,

Я не понимаю, зачем вам нужны дополнительные 30 минут.

Если самый новый OrderCloseTime более поздний, чем предыдущий, то он должен быть lasttime.

 

if (Curtime() > lasttime + 30*60)

 

Основной вопрос ...

Здравствуйте,

Я новичок в MetaTrader и у меня есть основной вопрос:

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

Другими словами, я хочу иметь возможность открывать 1 позицию на все символы, но не более 1 позиции на символ (И я говорю о многих экспертах-советниках на многих символах...).

Как я могу это сделать?

Я видел функцию"totaltrades", но из документации я понял, что эта функция применяется к счету, а не к текущему символу,

поэтому "if totaltrades=1 then exit;" вызовет 1 позицию за раз для всех символов...

10X !

 

1 позиция для всех символов

int total=OrdersTotal();

if(total<1)

{

.

.

.

}

 

Но одна позиция для одного символа или для одного открытого графика?

 

ну, один на график - это лучше всего ...

Но если это невозможно сделать, то 1 на символ тоже хорошо...

 

1 на символ

...

for (int i=0; i<OrdersTotal(); i++) {

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

if (OrderSymbol()==Symbol() )

return(0);

....
 

Отлично!

В 10 раз больше!

 

И я снова вас побеспокою... (:

Могу ли я сделать это также для каждого графика?

Потому что у меня есть разные системы для разных графиков временных интервалов ...

 

Извините, я не понимаю.

Причина обращения: