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

 
KoZaNOStra писал(а) >>

почему совок покупает и не закрывает, при комиляции ошибок нет

Или сделай ticket статической или вынеси определение за пределы старта.

 
Здравствуйте. Почему индикатор" PerkyAsctrend1" при визуализации выдает первые три сигнала а потом "молчит". Как это исправить?
 
Такой вопрос: почему не срабатывает условие (запрет торговли на одном баре)?

...

int init()
  {
 count=Bars;
  return(0);
  }

...

int start()
  {


if(OrdersTotal()==0 && NumberOfBarOpenLastPos()!=0 && count<Bars )
  {
//открытие ордеров
}

...


//+----------------------------------------------------------------------------+
//| Возвращает номер бара открытия последней позиции или -1. |
//| Параметры: |
//| sym - наименование инструмента ("" - текущий символ) |
//| tf - таймфрейм ( 0 - текущий таймфрейм) |
//| op - операция (-1 - любая позиция) |
//| mn - MagicNumber (-1 - любой магик) |
//+----------------------------------------------------------------------------+
int NumberOfBarOpenLastPos(string sym="", int tf=0, int op=-1, int mn=-1) {
  datetime oot;
  int i, k=OrdersTotal();
 
  if (sym=="") sym=Symbol();
  for (i=0; i<k; i++) {
  if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
  if (OrderSymbol()==sym) {
  if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
  if (op<0 || OrderType()==op) {
  if (mn<0 || OrderMagicNumber()==mn) {
  if (oot<OrderOpenTime()) oot=OrderOpenTime();
  }
  }
  }
  }
  }
  }
  return(iBarShift(sym, tf, oot, True));
}
 

Да, действительно. Бывает так, что этот прием

NumberOfBarOpenLastPos()!=0 не срабатывает.

Причем только тогда, когда советник работает по ВСЕМ ТИКАМ. 

а вот в режиме по ЦЕНАМ ОТКРЫТИЯ эта функция в таком варианте работает вполне нормально !

Не знаю почему так. 

Попробуйте вывести в коммент эту функцию и прямо на графике отследить её работу.Пока так.

Может специалисты подскажут вам лучший вариант проверки  ?

 

Пож. подскажите, что означает запись в журнале:

Красный кружок и 

2009.04.23 11:03:41 Old tick GBPJPYFXF60 142.58000/142.63000

(позиция не открылась)

 
GetLastError() возвращает 0 во время открытия ордера и ордер не открываеться. В справке "ERR_NO_ERROR - 0 - Нет ошибки". Может я чего недопонимаю, но при "Нет ошибки" ордер должен бы открываться. Обьясните что не так!!!
 
rid писал(а) >>

Пож. подскажите, что означает запись в журнале:

Красный кружок и

2009.04.23 11:03:41 Old tick GBPJPYFXF60 142.58000/142.63000

(позиция не открылась)

RefreshRates(); перед открытием ордера поможет

 
infinum13 писал(а) >>

RefreshRates(); перед открытием ордера поможет

Ну точно. Это же реквоты были.

Благодарю.

 
rid >>:

Ну точно. Это же реквоты были.

Это не реквоты.

 

RefreshRates();
ticket = OrderSend(Symbol(),OP_BUY,GetLots(100),Ask,maxSlippage,0,0,"Long",Magic,0,Green);
if (NeedScreenShot) WindowScreenShot(Symbol() + Period() + "_" + Hour() + Minute() + "_.gif",1024,768);
if (NeedAlert) Alert(Symbol() + " " + Period() + ": Going Long");
if (ticket > 0) break;
lasterror = GetLastError();
if ((lasterror == 0) || (lasterror == 2) || (lasterror == 4) || (lasterror == 6) || (lasterror == 8) || (lasterror == 9) || (lasterror == 64) || (lasterror == 128) || (lasterror == 132) || (lasterror == 133) || (lasterror == 137) || (lasterror == 139) || (lasterror == 141) || (lasterror == 146))
{
Sleep(10);

кружок красный 2009.04.23 14:08:08 Old tick GBPJPYFXF30 142.95000/143.00999

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

Помогите пож. или может насервере отключена авт. торговля ?? Forex.com непойму .Вверху код, может что добавить.

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