[WARNING CLOSED!] Any newbie question, so as not to clutter up the forum. Professionals, don't go by. Can't go anywhere without you. - page 526

 
Pluton писал(а) >>

Please, advise which formula is used in this indicator, especially the one that clings to the price.


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

The maximum number in MT4 is not limited, it is determined by the balance of the deposit or the brokerage company.


Try this script on a DEMO with a deposit of 5000000000.

Files:
 
Please advise on the strategy tester in MT4.
1. When testing the same Expert Advisor with the same parameters, I get different results. Why?
2. Does the simulation accuracy strongly depend on the "simulation quality" parameter and what is the minimum value for a more or less high-quality simulation?
 
alex_treid >>:
подскажите на счет тестера стратегий в МТ4.
1. При тестировании одно и того же эксперта с одними и теми же параметрами получаются разные результаты. Почему?
2. сильно ли зависит точность моделирования от параметра "качество моделирования" и какое его минимальное значение для более менее качественного моделирования?

1. Probably not the whole quote history, after passing the test. pump up the whole history.

2. If EA uses zero bar, model mod. all ticks.

 
Hi all. Just recently, about a week ago, started writing my first EA code for my TS and immediately ran into a problem. I don't know how to find out the short name of custom indicator. The fact that he writes it in his window does not help - there is a possibility that it is written in Russian and English, but it says the following: iP(aaRG)v.8<<Frame M5>> I put this name in the line:
double iPaaRG =iCustom(NULL, 0, "iP(aaRG)v.8<<Frame M5>>", 7, 1);
But the indicator does not give any further reading. It works correctly in its window but in my program it shows only zeros. And there is also Pollon, which behaves in the same way.
Can you tell me what's wrong, please? Below... shit... I wanted to give you all the code with comments, but it didn't work... Ну, хотябы его часть:
____________________________________________________________________________________________________________________________________
//-------------------------------------------------------------- 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.
Прошу гуру, подскажите пожалуйста, что не так? Ниже... блин... хотел привести весь код с комментариями, да не вышло... Ну, хотябы его часть:
____________________________________________________________________________________________________________________________________

Where are the indicators?!

How can you make a bundle without indicators? =))

 
costy_ >>:

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

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

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


It is not possible to allocate a separate buffer for each pattern, because the number of patterns is much larger than 8......

Maybe string s should be put somewhere else? ..... Or it will not work in principle? .....

Regarding CreatObject: if you don't use a buffer for each pattern, how can you give each pattern a name for ObjectCreat?
 
Who can help, maybe someone has done it? how would it be possible to make several horizontal lines from the daily opening e.g. 3 points up and 3 points down in the indicator? I have no idea if it is possible. I will thank you in advance

plus the indicator of the kind man.
Files:
 
   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--
      }  
Hello!
I don't know what the problem is, the values are not resetting from the loop, or I made a mistake in the loop. Please help!
 
Azerus >>:


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

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

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

Oh, you're lazy, you can do it yourself =))

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);

Reason: