Можно ли к МТ прикрутить другой сервер данных? - страница 3

 
Ну вот теперь у меня вопрос :(
почему не хочет работь Sleep(15000); при тестировании при любых значениях тестер его просто не замечает
 

Corwin_Volot, благодарю Вас за помощь. Сейчас буду вставлять эти рекомендации.

а Слип в тестере и не должен работать! Да и смысл логический для Слипов при тестировании отсутствует..., если тестер будет всякий раз ждать по 15 секунд для открытия ордера - зачем он нужен, такой тестер....- проще в онлайне без тестера...

 
rid:

Corwin_Volot, благодарю Вас за помощь. Сейчас буду вставлять эти рекомендации.

а Слип в тестере и не должен работать! Да и смысл логический для Слипов при тестировании отсутствует..., если тестер будет всякий раз ждать по 15 секунд для открытия ордера - зачем он нужен, такой тестер....- проще в онлайне без тестера...

так проблема ка раз в том что эксперт срабатывает на определенную ситуацию на рынке и покупает либо продает а данные условия сохраняются несколько минут в результате открывается очень много ордеров. лечится это паузой на пару минут. но стандартными функциями при тестировании это не решается а "бесконечные" циклы вставлять неохото и не рационально. ограничивать количество открытых ордеров тоже не выход так как предполагается открывать их в зависимости от ситуации на рынке с учетом свободных средств а не ограничиваться статичной моделью.
 
Corwin_Volot:
так проблема ка раз в том что эксперт срабатывает на определенную ситуацию на рынке и покупает либо продает а данные условия сохраняются несколько минут в результате открывается очень много ордеров. лечится это паузой на пару минут. но стандартными функциями при тестировании это не решается а "бесконечные" циклы вставлять неохото и не рационально. ограничивать количество открытых ордеров тоже не выход так как предполагается открывать их в зависимости от ситуации на рынке с учетом свободных средств а не ограничиваться статичной моделью.

Проверяете время открытия последнего ордера и если оно меньше Х, то запрет на торговлю.
 
Talex:
Проверяете время открытия последнего ордера и если оно меньше Х, то запрет на торговлю.

спасибо за совет :)
но я пока придумал так:
if (Bars>BarS)
   {
     OrderS=OrderSend(Symbol(),......);
     BarS=Bars;
   }
так букаф меньше :) а то пока ордертоталордерселект
 
Talex:
Corwin_Volot:
но я пока придумал так:
if (Bars>BarS)
   {
     OrderS=OrderSend(Symbol(),......);
     BarS=Bars;
   }
так букаф меньше :) а то пока ордертоталордерселект

Я делаю так:
datatime newbar;
 
int start()
  {
 
   if(newbar!=Time[0])
   {
     ......
     newbar=Time[0];
   }
//----
   return(0);
  }
 
Talex:
Я делаю так:
   if(newbar!=Time[0])
   {
     ......
     newbar=Time[0];
   }


итак уже два варианта решения в две строчки :)
следующий...
 
Corwin_Volot:

итак уже два варианта решения в две строчки :)
следующий...

Просто сами подумайте. В МТ4 присутствует ограничения (в окне терминала, в истории) на кол-во баров. А что будет когда эти ограничения будут достигнуты? По контролю времени открытия бара понадежней будет всетаки.
 

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

Случайно заглянул в журнал и увидел, что заданные значения стопов обновляются по новой с каждым тиком. Вставлюю return(0), но ситуация не меняется. Не пойму , в чем дело? Кто-ниб. подскажет?

//| 12.09.2005 Автоматическая установка стопов открывающихся позиций |
//+------------------------------------------------------------------+
#property copyright "777"
#property link      "http:"
 
//------- Внешние параметры ------------------------------------------
extern int     TakeProfit=55;
extern int     StopLoss  =55;
//extern bool   UseSound      = False;  // Использовать звуковой сигнал
//extern string NameFileSound = "expert.wav";// Наименование звукового файла
 
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
void start()                 {
  for (int i=0; i<OrdersTotal(); i++)              {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol() == Symbol())                 {
 //*********************************************************************
            //Установка стопов 
            if(OrderType()==OP_BUY)  {
            OrderModify(OrderTicket(),OrderOpenPrice(),
            Bid-StopLoss*Point,Ask+TakeProfit*Point,0,CLR_NONE ); // return(0);
                                     }
                    
            if(OrderType()==OP_SELL)  {
            OrderModify(OrderTicket(),OrderOpenPrice(),
            Bid+StopLoss*Point,Bid-TakeProfit*Point,0,CLR_NONE ); //return(0);
                                      }                    
//***************************************************************************       
    }
   }
  }
 return(0);
  }
 
Talex:
Просто сами подумайте. В МТ4 присутствует ограничения (в окне терминала, в истории) на кол-во баров. А что будет когда эти ограничения будут достигнуты? По контролю времени открытия бара понадежней будет всетаки.

 А действительно, что будет когда эти ограничения будут достигнуты?