[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 526

 
Pluton писал(а) >>

Por favor, avisa de qué fórmula se utiliza en este indicador, especialmente la que se aferra al precio.


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

El número máximo en MT4 no está limitado, está determinado por el saldo del depósito o la empresa de corretaje.


Pruebe este script en una DEMO con un depósito de 5000000000.

Archivos adjuntos:
 
Por favor, aconsejar sobre el probador de la estrategia en MT4.
1. Al probar el mismo Asesor Experto con los mismos parámetros, obtengo resultados diferentes. ¿Por qué?
2. ¿Depende la precisión de la simulación en gran medida del parámetro "calidad de la simulación" y cuál es el valor mínimo para una simulación de mayor o menor calidad?
 
alex_treid >>:
подскажите на счет тестера стратегий в МТ4.
1. При тестировании одно и того же эксперта с одними и теми же параметрами получаются разные результаты. Почему?
2. сильно ли зависит точность моделирования от параметра "качество моделирования" и какое его минимальное значение для более менее качественного моделирования?

1. Probablemente no todo el historial de cotizaciones, después de pasar la prueba. inflar todo el historial.

2. Si EA utiliza barra cero, modelo mod. todos los ticks.

 
Hola a todos. Recientemente, hace una semana, empecé a escribir mi primer código de EA para mi TS e inmediatamente me encontré con un problema. No sé cómo averiguar el nombre corto del indicador personalizado. El hecho de que lo escriba en su ventana no ayuda - hay una posibilidad de que esté escrito en ruso e inglés, pero dice lo siguiente: iP(aaRG)v.8<<Frame M5>> Pongo este nombre en la línea:
double iPaaRG =iCustom(NULL, 0, "iP(aaRG)v.8<<Frame M5>>", 7, 1);
Pero el indicador no da más lectura. Funciona correctamente en su ventana pero en mi programa sólo muestra ceros. Y también está Pollon, que se comporta exactamente igual.
¿Puede decirme qué pasa, por favor? Abajo... mierda... Quería darte todo el código con comentarios, pero no funcionó... Ну, хотябы его часть:
____________________________________________________________________________________________________________________________________
//-------------------------------------------------------------- 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.
Прошу гуру, подскажите пожалуйста, что не так? Ниже... блин... хотел привести весь код с комментариями, да не вышло... Ну, хотябы его часть:
____________________________________________________________________________________________________________________________________

¿Dónde están los indicadores?

¿Cómo se puede hacer un paquete sin indicadores? =))

 
costy_ >>:

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

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

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


No es posible asignar un búfer separado para cada patrón, porque el número de patrones es mucho mayor que 8......

¿Tal vez la cadena s debería ponerse en otro lugar? ..... ¿O no funcionará en principio? .....

En cuanto a CreatObject: si no se utiliza un buffer para cada patrón, ¿cómo se puede dar un nombre a cada patrón para ObjectCreat?
 
¿Quién puede ayudar, tal vez alguien lo ha hecho? ¿Cómo sería posible hacer varias líneas horizontales de la apertura diaria, por ejemplo, 3 puntos hacia arriba y 3 puntos hacia abajo en el indicador? No tengo ni idea de si es posible. Le agradeceré por adelantado

más el indicador del hombre amable.
Archivos adjuntos:
 
   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--
      }  
¡Hola!
No sé cuál es el problema, los valores no se restablecen desde el bucle, o me he equivocado en el bucle. ¡Por favor, ayuda!
 
Azerus >>:


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

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

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

Oh, eres vago, puedes hacerlo tú mismo =))

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

Razón de la queja: