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

 
Pluton писал(а) >>

Please, подскажите какая формула используется в этом индикаторе, особенно интересует тот который к цене цепляется.


Дубль №2
Файлы:
 
vasili >>:
Огромное спасибо costy.
Ну если пошла такая пьянка может еще с этим поможите:
Господа, подскажите как можно подсчитать ( а потом соответственно и вывести) максимально возможное количество ордеров ( всех видов ... включая и отложенные). Думал через marketinfo(), но там нет данного параметра.
Заранее благодарен.

Макс. кол - во в МТ4 не ограниченно, определяется балансом депозита или ДЦ.


Попробуйте НА ДЕМО с депо 5000000000 выкинуть этот скрипт.

Файлы:
 
подскажите на счет тестера стратегий в МТ4.
1. При тестировании одно и того же эксперта с одними и теми же параметрами получаются разные результаты. Почему?
2. сильно ли зависит точность моделирования от параметра "качество моделирования" и какое его минимальное значение для более менее качественного моделирования?
 
alex_treid >>:
подскажите на счет тестера стратегий в МТ4.
1. При тестировании одно и того же эксперта с одними и теми же параметрами получаются разные результаты. Почему?
2. сильно ли зависит точность моделирования от параметра "качество моделирования" и какое его минимальное значение для более менее качественного моделирования?

1. Возможно нет всей истории котировок, после прохода тест. подкачайте всю историю.

2. Если советник использует нулевой бар, модель мод. все тики.

 
Привет всем. Совсем недавно, где-то с недельку назад занялся написанием своего первого кода советника по моей ТС и моментально столкнулся с проблемой. Помогите, плиз, никак не могу найти как мне узнать короткое имя пользовательского индикатора. То, что он его в своём окне пишет, это не помогает - есть вероятность, что там и по-русски и по-английски написано, а написано вот что: iP(aaRG)v.8<<Для таймфрейма М5>> Я вписываю это имя в строку:
double iPaaRG =iCustom(NULL, 0, "iP(aaRG)v.8<<Для таймфрейма M5>>", 7, 1);
Но индикатор далее по тексту программы не выдаёт никаких показаний. В своём окне он исправно пишет своё значение, у меня же в программе выдаёт одни нули. И есть ещё точно так же себя ведущий: Pollon.
Прошу гуру, подскажите пожалуйста, что не так? Ниже... блин... хотел привести весь код с комментариями, да не вышло... Ну, хотябы его часть:
____________________________________________________________________________________________________________________________________
//-------------------------------------------------------------- 14 --
   Pollon_0 =iCustom(NULL, 0, "Pollon", Pln_n, 0, 0);   // Значен. на нулевом баре
   Pollon_1 =iCustom(NULL, 0, "Pollon", Pln_n, 0, 1);   // Знач. на предыдущ. баре
   Ind_Pln=15;
   if(Pollon_0 >=Pollon_1)Pln_UP=1;                    // Индик. линия поднимается 
   if(Pollon_0 < Pollon_1)Pln_UP=0;                    // Индик. линия опускается
   if(Pollon > 0.0 && Pln_UP ==1)Ind_Pln=13;           // Pollon выше 0.0 и поднимается
   if(Pollon < 0.0 && Pln_UP ==0)Ind_Pln=14;           // Pollon ниже 0.0 и опускается
//-------------------------------------------------------------- 15 --
      Win_Pollon_new=0;
        {                                 // .. окно индикатора Pollon      
         ObjectDelete("Obj_Pollon");        // Удаление объекта      
         Create_Pollon(Win_Pollon_new);       // Создаём объект в нужном окне      
        }                                 // Изменяем текстовое описание:   
      ObjectSetText("Obj_Pollon",Text[Ind_Pln],10,"Courier New",Color[Ind_Pln]);
//-------------------------------------------------------------- 16 --
//-------------------------------------------------------------- 16 --
   iPRG_up =iCustom(NULL, 0, "iP(aaRG)v.8<<Для таймфрейма M5>>", 2, 1);   // Значен. верхн. линии на первом баре
   iPRG_dn =iCustom(NULL, 0, "iP(aaRG)v.8<<Для таймфрейма M5>>", 3, 1);   // Значен. нижн. линии на первом баре
   Ind_iPRG=18;
   if(iPaaRG < iPRG_dn)Ind_iPRG=16;                                       // iPaaRG ниже нижней линии. BUY
   if(iPaaRG > iPRG_up)Ind_iPRG=17;
//   Alert(iPRG_up, iPRG_dn, iPaaRG);                                       // iPaaRG выше верхней линии.SELL
//-------------------------------------------------------------- 17 --
      Win_iPRG_new=0;
        {                                   // .. окно индикатора iP(aaRG)      
         ObjectDelete("Obj_iPRG");          // Удаление объекта      
         Create_iPRG(Win_iPRG_new);       // Создаём объект в нужном окне      
        }                                   // Изменяем текстовое описание:   
      ObjectSetText("Obj_iPRG",Text[Ind_iPRG],10,"Courier New",Color[Ind_iPRG]);
//-------------------------------------------------------------- 18 --




//-------------------------------------------------------------- 18 --
      WindowRedraw();                     // Перерисовка изображения    
      return;                             // Выход из пользоват. функции  
     }
//-------------------------------------------------------------- 19 --

.............................................................................................

//-------------------------------------------------------------- 23 --
int Create_Pollon(int Win)                         // Пользовательс ф-ия
  {                                              // ..создания объекта
   ObjectCreate("Obj_Pollon",OBJ_LABEL, Win, 0,0); // Создание объекта   
   ObjectSet("Obj_Pollon", OBJPROP_CORNER, 1);     // Привязка к углу   
   ObjectSet("Obj_Pollon", OBJPROP_XDISTANCE, 6);  // Координата Х
 
      ObjectSet("Obj_Pollon",OBJPROP_YDISTANCE, 75);// Координата Y   

   return;                                       // Выход из польз.ф-ии  
  }
//-------------------------------------------------------------- 24 --
//-------------------------------------------------------------- 24 --
int Create_iPRG(int Win)                         // Пользовательс ф-ия
  {                                              // ..создания объекта
   ObjectCreate("Obj_iPRG",OBJ_LABEL, Win, 0,0); // Создание объекта   
   ObjectSet("Obj_iPRG", OBJPROP_CORNER, 1);     // Привязка к углу   
   ObjectSet("Obj_iPRG", OBJPROP_XDISTANCE, 6);  // Координата Х

      ObjectSet("Obj_iPRG",OBJPROP_YDISTANCE, 90);// Координата Y   

   return;                                       // Выход из польз.ф-ии  
  }
//-------------------------------------------------------------- 25 --
 
artmedia70 >>:
Привет всем. Совсем недавно, где-то с недельку назад занялся написанием своего первого кода советника по моей ТС и моментально столкнулся с проблемой. Помогите, плиз, никак не могу найти как мне узнать короткое имя пользовательского индикатора. То, что он его в своём окне пишет, это не помогает - есть вероятность, что там и по-русски и по-английски написано, а написано вот что: iP(aaRG)v.8<<Для таймфрейма М5>> Я вписываю это имя в строку:
double iPaaRG =iCustom(NULL, 0, "iP(aaRG)v.8<<Для таймфрейма M5>>", 7, 1);
Но индикатор далее по тексту программы не выдаёт никаких показаний. В своём окне он исправно пишет своё значение, у меня же в программе выдаёт одни нули. И есть ещё точно так же себя ведущий: Pollon.
Прошу гуру, подскажите пожалуйста, что не так? Ниже... блин... хотел привести весь код с комментариями, да не вышло... Ну, хотябы его часть:
____________________________________________________________________________________________________________________________________

А индикаторы где ?!

Как без индикаторов с делать связку то? =))

 
costy_ >>:

Функц int init() выполняется один раз перед int start(), т.е. присвоило в всплывающей подсказке s пустое значение и передало управление функ. старт.

Как сделать ... используйте для каждого патерна отдельный индик. буфер (до 8) и присвойте каждому свою всплывающую подсказку,

или не пользуйтесь буферами а пользуйтесь ObjectCreate( имя патерна,0, OBJ_TEXT (OBJ_ARROW) ...


Выделить под каждый паттерн отдельный буфер - не получится, т.к. количество паттернов гораздо больше 8 штук......

Может быть следует string s засунуть в другое место?..... Или это не будет работать в принципе?.....

По поводу CreatObject: если не использовать буфер под каждый паттрен, то как для каждого паттерна задать имя для ObjectCreat?
 
Кто может помочь, может кто то ето делал? как бы сделать несколько горизонтальных линий отталкивающихся от дневного открытия например на 3 пункта вверх и на 3 пункта вниз в индикаторе? Такое возможно или нет? Да жалко я не программер(( За раннее благодарю

плюс индикатор доброго человека
Файлы:
 
   int i, Counted_bars=IndicatorCounted();
   i=Bars-Counted_bars-1;

      while(i>=1)
      {
      for(int a=0; a>25; a++)
      {
       CCM=iCCI(NULL,0,PerCCI,PRICE_TYPICAL,a);
       if(CCM>0 && CCM>max)CCM=max;//max of old bars
       if(CCM<0 && CCM<min)CCM=min;//min of old bars
      }
      Использую min и max>>
      ....
      i--
      }  
Здраствуите!
Непойму, в чем праблема, толи значения неперебрасываютса из цикла толи я в цикле ошибку сделал. Помогите, пожалуста!
 
Azerus >>:


Выделить под каждый паттерн отдельный буфер - не получится, т.к. количество паттернов гораздо больше 8 штук......

Может быть следует string s засунуть в другое место?..... Или это не будет работать в принципе?.....

По поводу CreatObject: если не использовать буфер под каждый паттрен, то как для каждого паттерна задать имя для ObjectCreat?

Ох и ленивый же, сам же можешь =))

int i,ii;
string name_object[50001];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()  {
  for (  ii=0; ii<=50000; ii++)name_object[ii]="Trende_"+MathRand()+ii;
   return(0);
  }
//+------------------------------------------------------------------+
int deinit()  {
  for (  ii=0; ii<=50000; ii++)ObjectDelete(name_object[ii]);Comment("");
   return(0);
  }
int start()  {


           for ( ii=0; ii<=50000; ii++)
           if( ObjectFind(name_object[ii])==-1)break;
               ObjectCreate(name_object[ii],OBJ_TEXT,0,Time[i-PERIOD_D1/Period()/2],iOpen(0,PERIOD_D1,iBarShift(0, PERIOD_D1, Time[i])));
               ObjectSetText(name_object[ii],А СЮДЫТЬ ТЕКСТ ИЗ БУФЕРА ДЛЯ УДОБСТВА,font_size, font_name, text_color);

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