[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 110

 
sergeev:

при чем тут форум

очередь ордеров конечно.


Спасибо за вразумительный ответ
 
Server:

Спасибо за вразумительный ответ

Ещё более вразумительный:

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

Я свою очередь отработал... Следующий... :)

 
alsu:



Благодарю за ответ по поводу пересечения CCI с нулём.
 
MK07:

Благодарю за ответ по поводу пересечения CCI с нулём.

Вам показали как считат пересечения ССИ.Тепер по ето,что писал для мувинги,сделайте с ССИ.

//+------------------------------------------------------------------+
//|                                                    count bar.mq4 |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012,mario"
#property link      ""

datetime TimeStart = 0;
//+------------------------------------------------------------------+
int init(){return(0);}
int deinit(){Comment("");return(0);}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   int f;
   double   MyPoint = 0.0001;
   bool     cu1     = false;
   bool     cu2     = false;
   double   ma_1    = iMA(NULL,0,31,0,MODE_SMA,PRICE_OPEN,0);
   double   ma1     = iMA(NULL,0,11,0,MODE_SMA,PRICE_OPEN,0);
   double   ma_2    = iMA(NULL,0,31,0,MODE_SMA,PRICE_OPEN,1);
   double   ma2     = iMA(NULL,0,11,0,MODE_SMA,PRICE_OPEN,1);
//Уточнение-при кое събитие ще запомни датата-пресичането
//Уточняем,когда запомнит время пересечения
   if(ma2<ma_2 && ma1>ma_1)
      TimeStart=Time[0]; 
   if(ma2>ma_2 && ma1<ma_1)
      TimeStart=Time[0];
//Кога е истината
//Когда истина
   if(ma1>ma_1)
      cu1=true;
   if(ma1<ma_1)
      cu2=true;
//Шифтвам до датата-когато има истина
//Шифт до дата истини
   if(cu1==true || cu2==true)  
      int b1=iBarShift(Symbol(), PERIOD_H1, TimeStart);      
      int b2=iBarShift(Symbol(), PERIOD_H1, TimeCurrent());
//Преброяване на баровете-от нулевия до последната дата
//Пересчитаем бари от нуля до последная дата
    for(int j=b2;j<=b1;j++){
         f=b1-b2;
      }
      
   Comment("\nВреме на брокера: ",TimeToStr(TimeCurrent(),TIME_SECONDS),", Локално време: "+TimeToStr(TimeLocal(),TIME_SECONDS),
             "\nТекущ спред: ",DoubleToStr((Ask-Bid)/MyPoint,1),
             "\n=====================",
             "\n Начална дата:           ",TimeToStr(TimeStart,TIME_DATE|TIME_SECONDS), 
             "\n Брой барове:            ",f,
             "\n=====================" 
             ); 
   return(0);
  }
//+------------------------------------------------------------------+
Далше думаю справитес.
 
alsu:

period_converter из стандартной поставки не подходит?


нет канечно, он неправильно формирует недели и выше, вы сами то его юзали?

COMRADES, BRONTO, BRONTO!!! HELP

Еще вопрос, что за ошибка тестера deficient data? Сколько тестеру необходимо минимум баров для запуска и зачем нужно это ограничение?

Этот параметр можно редактировать? 

 
ZZZEROXXX:


нет канечно, он неправильно формирует недели и выше, вы сами то его юзали?

COMRADES, BRONTO, BRONTO!!! HELP

 

Еще вопрос, что за ошибка тестера deficient data? Сколько тестеру необходимо минимум баров для запуска?

Поставь 10 миллионов в Настройках!
 
borilunad:
Поставь 10 миллионов в Настройках!

у меня стоит миллион, щас нашел что если меньше 100 баров, то тестер не тестит вообще. Тогда вопрос в следующем, если правило 100 баров соблюдено то почему он не тестит внутри этих 100 баров а начинает только после?
 
ZZZEROXXX:

у меня стоит миллион, щас нашел что если меньше 100 баров, то тестер не тестит вообще. Тогда вопрос в следующем, если правило 100 баров соблюдено то почему он не тестит внутри этих 100 баров а начинает только после?
10 миллионов баров для минуток, на которых тестер моделирует тики. А 100 баров-минуток очень мало, меньше баров, умещающихся на 1-минутном графике. Тестер должен заработать, если будет как минимум 1440 баров для прогона от 0.00 до 0.00! Наверно, это минимум, а зачем Вам это нужно? Хотели проверить на коротком участке? Но Вы не можете установить тестирование по часам, только по датам, целым дням. Я так понимаю по Вашему случаю.
 

 Вот функция индикатора:

//+-------------------------------------------------------------------------------------+
//| Определение индекса бара, с которого необходимо производить перерасчет              |
//+-------------------------------------------------------------------------------------+
int GetRecalcIndex(int& total)
{
   int counted_bars = IndicatorCounted();          // Сколько баров уже посчитано
   total = Bars - 1;                               // Определение первого бара истории
   if (indBarsCount > 0 && indBarsCount < total)   // Если не нужно рассчитывать всю..
      total = indBarsCount;                        // ..историю, то начнем с указанного..
                                                   // ..бара - indBarsCount
   if (counted_bars == 0)                          // Кол-во посчитанных баров - 0. 
   {
      DeleteAllObjects();                          // Не забудем удалить все созданные..
                                                   // ..объекты
      return(total);                               // Нужно пересчитать всю историю
   }
   return(Bars - counted_bars - 1);                // Начинаем с первого непосчитанного..
                                                   // ..бара
}

 Я одного не понимаю. Обычно проверяют количество не просчитанных баров так:

 Bars - counted_bars

 Суть такая. Например, баров 500. Просчитано тоже 500. После отработки функции которую я привёл выше, функция вернёт значение 500 - 500 - 1 = -1. Это разве нормально?

 А если бы так не было -1 в конце, то вернуло бы 0, т.е. все бары просчитаны. Как понять этот момент?

 
hoz:

 Вот функция индикатора:

 Я одного не понимаю. Обычно проверяют количество не просчитанных баров так:

 Bars - counted_bars

 Суть такая. Например, баров 500. Просчитано тоже 500. После отработки функции которую я привёл выше, функция вернёт значение 500 - 500 - 1 = -1. Это разве нормально?

 А если бы так не было -1 в конце, то вернуло бы 0, т.е. все бары просчитаны. Как понять этот момент?

Нулевой бар не может быть "просчитанным", поскольку он еще не завершен.
Причина обращения: