[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 523

 
Richie писал(а) >>

Вопрос такой: у кого данный советник открывает и ордера Buy и ордера Sell ?
Или я может что-то неверно понимаю, но у меня выдаёт ошибку 138.
https://www.mql5.com/ru/code/8177


Для пятизнака слиппаж надо увеличивать вернее всего
 
Vinin писал(а) >> Для пятизнака слиппаж надо увеличивать вернее всего


Спасибо. Теперь понял, почему раньше работало, а сейчас нет. Я об этом и не подумал.
 
Подскажите как зациклить выполнение всей программы?
Желательно не вечный цикл, а выполнение программы определенное количество раз.
Вот простой пример -

bool Log=false;

int start()
{


if(Log==false)
int tick=OrderSend("GBPUSD",OP_BUY,0.01,Ask,3,Bid-30*Point,Bid+30*Point);
Log = true;

return;
}

Как расположить оператор цикла чтобы при срабатывании стоп приказа сразу происходило бы открытие этой же (например) позиции?
 
циклов не надо, программа и так зациклена на вызов при каждом тике. Запомните тикет ордера, а потом проверяйте каждый раз OrderCloseTime(). Если оно не 0, значит ордер закрылся. Как именно - по тейку или стопу - можно узнать, проанализировав OrderProfit().
 
alsu >>:
циклов не надо, программа и так зациклена на вызов при каждом тике. Запомните тикет ордера, а потом проверяйте каждый раз OrderCloseTime(). Если оно не 0, значит ордер закрылся. Как именно - по тейку или стопу - можно узнать, проанализировав OrderProfit().

а если стоп стоял в безубытке и т.п.?

 
sanyooooook >>:

а если стоп стоял в безубытке и т.п.?

если б да кабы, да во рту росли б грибы.

 
alsu >>:

если б да кабы, да во рту росли б грибы.

по умнее ничего не мог придумать? ответь нормально тебя спросили

 
Lim1 >>:
Подскажите как зациклить выполнение всей программы?
Желательно не вечный цикл, а выполнение программы определенное количество раз.
Вот простой пример -

bool Log=false;

int start()
{


if(Log==false)
int tick=OrderSend("GBPUSD",OP_BUY,0.01,Ask,3,Bid-30*Point,Bid+30*Point);
Log = true;

return;
}

Как расположить оператор цикла чтобы при срабатывании стоп приказа сразу происходило бы открытие этой же (например) позиции?

Не совсем понятно, перефразируйте.

int start()
{
 for(int i = 0; i < 15; i++){

  bool покупать=false,
       продавать=false;
  string Symbol_="GBPJPY";

  if(iRSI(Symbol_,5,144,0,1)>50)
  покупать=true;
  else
  продавать=true;

  if(покупать)
  int tick=OrderSend(Symbol_,OP_BUY,0.01,Ask,3,Bid-30*Point,Bid+30*Point);
  if(продавать)
  int tick=OrderSend(Symbol_,OP_SELL....................................);
  Sleep(100);//0.1 sec/ ждем 
 }
return(0);
}
 
costy_ >>:

Не совсем понятно, перефразируйте.

Хороший код, за полторы секунды откроет пятнадцать ордеров в зависимости от показаний RSI.
Лучше описать словами то что хочется получить и не надо ссылаться на циклы и все такое. к примеру открыть один ордер по показаниям RSI, если он будет закрыт по стопу сразу открыть следующий и т.п.
 
splxgf >>:
Хороший код, за полторы секунды откроет пятнадцать ордеров в зависимости от показаний RSI.
Лучше описать словами то что хочется получить и не надо ссылаться на циклы и все такое. к примеру открыть один ордер по показаниям RSI, если он будет закрыт по стопу сразу открыть следующий и т.п.

=))

Подскажите как зациклить выполнение всей программы?
Желательно не вечный цикл, а выполнение программы определенное количество раз.
Вот простой пример -

А я что, мне не жалко.

Согласен "Лучше описать словами"!

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