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

 
Por favor, siga usted... "Mi primer indicador" (por su cuenta).
 
Roll:
Mi primer indicador (por mí mismo).


¡Funcionó!

Ahora estoy apuntando a escribir un EA para este indicador (voy a experimentar con diferentes variantes, tengo algunas ideas que me gustaría comprobar en la historia)

Tengo algunas ideas que me gustaría probar con datos históricos.

Muchas gracias por sus rápidas respuestas :)

 

No, no lo sé. Eres un pionero.
Un problema similar puede ser resuelto como parte de un EA, utilizando líneas de tendencia como segmentos o rayos.

 
Roll:

No, no lo sé. Eres un pionero.
Un problema similar puede ser resuelto como parte de un EA, utilizando líneas de tendencia como segmentos o rayos.


¿Por qué las líneas de tendencia?
 

¡Buenas tardes! ¿Pueden decirme por qué no puedo dibujar flechas en el probador de ninguna manera? Ejemplo

 bool napravlenieCCI=false;
 if( CCI_50S<100&&CCI_50>100 ||CCI_50S<0&&CCI_50>0|| CCI_50S<-100&&CCI_50>-100  )napravlenieCCI=true;
  if(napravlenieCCI){  string strela = DoubleToStr(Time[0], 0); 
  ObjectCreate(strela, OBJ_ARROW, 0, iTime(NULL,0,0),iHigh(NULL,0,0)+0.0004); 
  ObjectSet(strela, OBJPROP_ARROWCODE, 242);
ObjectSet(strela, OBJPROP_COLOR , Red);}
No veo ninguna flecha.
 

¡Hola, Victor Ivanovich!

¿Hay algo que no está claro?
Preste atención al "puede", es decir, a la solución propuesta, en la que se utilizarán los objetos, ¿le resulta poco clara?
¿O la elección de estos objetos?

Se puede prescindir de cualquier indicación, utilizando niveles de trabajo (condicionales). Creo que es más fácil con las líneas de tendencia que con los niveles de "rectángulo", elipse(s) o phi. Las líneas horizontales"bloquean las barras".

¿Su sugerencia?

 

El libro de texto dice lo siguiente sobrela directiva #include:


" La directiva #include puede especificarse en cualquier parte del programa, pero normalmente todas las inclusiones se colocan al principio del archivo de código fuente. El preprocesador sustituye la línea #include <nombre_de_fichero> (o la línea #include "nombre_de_fichero") por el contenido del fichero con el nombre especificado.

Loscorchetes indican que el archivo se tomará del catálogo estándarCatalog_terminal\perts\include(el catálogo actual no es visible). Si el nombre del archivo va entre comillas, la búsqueda se realiza en el directorio actual, es decir, el que contiene el archivo fuente principal(el directorio estándar no se explora)."

Entiendo que si los paréntesis son angulares, entonces al dejarlos inicialmente no lee de los paréntesis, ni siquiera lo intenta, sino que inmediatamente se refiere al directorioDirectorio_terminal\expertos\include, ¿no?

Y si las comillas, buscará inmediatamente la ruta entre paréntesis sin tratar de acceder acatalog_terminal_directory\\\Nexperts\include a la vez. Esdecir, puede escribir cualquier carpeta de cualquier partición, por ejemplo E:³ carpeta_1³ carpeta_2³ carpeta_N³ etc. En este caso, para leer este archivo es necesario utilizar comillas, de lo contrario el programa no lo leerá. Porque en el primer caso el programa sólo leerá el directorio estándar. ¿Estoy leyendo bien?

 
Roll:

¡Hola Victor Ivanovich!

¿Hay algo que no está claro?
Fíjese en el "puede", es decir, en la variante de solución en la que se utilizarán los objetos, ¿no le queda claro?
¿O la elección de estos objetos?

Se puede prescindir de cualquier indicación utilizando niveles de trabajo (condicionales). Creo que es más fácil con las líneas de tendencia que con los niveles "rectángulo", elipse (Mi) o phi. Las líneas horizontales "bloquean las barras".

¿Su sugerencia?


double h=High[iHighest(NULL,0,MODE_HIGH,Quant_Bars ,1)];
double l=Low[iLowest( NULL,0,MODE_LOW,Quant_Bars,1)];

Cuenta los niveles. Entonces es una cuestión de técnica.

Es mejor no usar objetos en el probador (especialmente durante la optimización)

 
Es decir, tu elección es trabajar en niveles. Si se establece una prohibición/permiso en las variables externas para formar objetos (utilizados para la indicación), se puede ejecutar la optimización.
 

Hola de nuevo. Gracias por la respuesta anterior - muy útil. Por favor, ayuda de nuevo. Tengo la función que necesito de un Asesor Experto que cuenta las ganancias (pérdidas) de la cuenta para hoy (si f0_5(0)), ayer (si f0_5(1)), etc:

double f0_5(int ai_0) {
   double ld_ret_4 = 0;
   for (int pos_12 = 0; pos_12 < OrdersHistoryTotal(); pos_12++) {
      if (!(OrderSelect(pos_12, SELECT_BY_POS, MODE_HISTORY))) break;
               if (OrderCloseTime() >= iTime(OrderSymbol(), PERIOD_D1, ai_0) && OrderCloseTime() < iTime(OrderSymbol(), PERIOD_D1, ai_0) + 86400) ld_ret_4 = ld_ret_4 + OrderProfit() + OrderCommission() + OrderSwap();
   }
   return (ld_ret_4);
}

El resultado debería ser una fracción decimal (supuestamente), pero la función devuelve un entero por alguna razón. En general, por favor ayúdame a cambiar la función para que sea una fracción con dos decimales.

Aunque puede que haya metido la pata aquí: comprobado usando Print(), pero la función realmente cuenta normalmente? En general, por favor, ayúdame a entender.