Програмистам на досуг

 

Я ярый поклонник Woodies

Вот и тягаюсь с всяки вудическими созданиями )))

Появился тут у меня советничек по вуди, вроде как интересный. 

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

Файлы:
 
Он всюду берет текущий символ и магиг. Поэтому по моему он на каждом графике будет работать как отдельный советник.
 
BoraBo >>:
Он всюду берет текущий символ и магиг. Поэтому по моему он на каждом графике будет работать как отдельный советник.

Ага, значит будет, на разных парах пахать ?

 
fozi >>:

Ага, значит будет, на разных парах пахать ?

Да, на каждой паре по отдельности. В смысл кода не вникал, но открытие, закрытие и модификация ордеров происходит с учетом пары на которой открыт график.

 
fozi >>:

Ага, значит будет, на разных парах пахать ?

По беглому взгляду, советник сделан для теста, но не для реала:

1) нет анализа ошибок, только их констатация в виде записи в лог;

2) синхронизация между экземплярами не предусмотрена.

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

 
OneDepo >>:

По беглому взгляду, советник сделан для теста, но не для реала:

1) нет анализа ошибок, только их констатация в виде записи в лог;

2) синхронизация между экземплярами не предусмотрена.

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

Так я то и смотрю, что работает только на одной паре, хотя установил на 4.

Визуально смотрю вроде должен продавать\покупать, но почему то только на одной паре. А ошибок не выдает.

 
Хе-хе, понятно. В соде используется 4(!) магика, и стоит условие: если ордер с таким магиком уже есть, то больше не открывать :)
 
OneDepo >>:
Хе-хе... В соде используется 4(!) магика, и стоит условие: если ордер с таким магиком уже есть, то больше не открывать :)

Ээээ а че делать. Хелп ми плиз

 
Так как это так, он ведь должен работать на нескольких парах. Зачем такое условие ставить.
 

Так в чем проблема? На каждой паре задавайте в СВОЙСТВАХ разные магики ( для этого они и предусмотрены там)

Или я не так понял вопрос?

 

Там всюду перед проверкой на магик стоит проверка по символу


int GetOrders(string symbol, int type,int Magic) {
  int res = 0;
  int cnt = OrdersTotal();
  for (int i=0; i < cnt; i++) {
    OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
    if (OrderSymbol() != symbol) continue;
    if (OrderMagicNumber() != Magic) continue;
    if(OrderType()==type) res++;
   }
  return(res);
}
int ВсегоОрдеров(string symbol) {
  int res = 0;
  int cnt = OrdersTotal();
  for (int i=0; i < cnt; i++) {
    OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
    if (OrderSymbol() != symbol) continue;
    if ((OrderMagicNumber() != MagicZLR)&&(OrderMagicNumber() != MagicZR)&&(OrderMagicNumber() != MagicLT)) continue;
    res++;
   }
  return(res);
}



Поэтому похоже проблема не в магиках.

Хотя все может быть.

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