[¡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 28

 
el beneficio depende del tamaño del lote... el tamaño del lote depende del tamaño del apalancamiento...
 

Enfrentarse a un problema:

Escribí un indicador BBP MA Oscillator

Funciona bien en el gráfico,

Pero cuando lo llamo desde el EA los datos no coinciden.

Los parámetros establecidos son respectivamente los mismos.

BBP_0=iCustom("EURUSD",60, "BBP MA Oscillator",BBPPeriod9,MODE_SMA,SignalBBPPeriod9,MODE_SMMA,0,0);

La pregunta es ¿cómo es posible?

 
//+------------------------------------------------------------------+
//|                                            BBP MA Oscillator.mq4 |
//|                                                   vasbsm@mail.ru |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "vasbsm@mail.ru"
#property link      ""

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Blue
#property  indicator_width1  2
//---- input parameters
extern int       BBPeriod=155;
extern int       TypeMA=MODE_SMA;
extern int       SignalMA=172;
extern int       Type_MA_Signal=MODE_SMMA;
//-----------------------------
double BBBuffer[];
double TempBuffer[];
double OsmaBuffer[];
double SignalBuffer[];

int init()
  {
   string short_name;
   IndicatorBuffers(4);
   IndicatorDigits(Digits);
   
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexDrawBegin(0, SignalMA);
   IndicatorDigits(Digits+2);
   
   SetIndexBuffer(0, OsmaBuffer);
   SetIndexBuffer(1, SignalBuffer);  
   SetIndexBuffer(2, BBBuffer);
   SetIndexBuffer(3, TempBuffer); 
   
   short_name="Bulls Bears Power MA("+ BBPeriod+","+ SignalMA+")";     
   IndicatorShortName( short_name);
   SetIndexLabel(0, short_name);   
   return(0);
  }
int deinit()
  {

   return(0);
  }
int start()
  {
   int counted_bars=IndicatorCounted();
   if(Bars<= BBPeriod) return(0);
//----------------------------------------------------------------
   int limit=Bars- counted_bars;
   if( counted_bars>0) limit++;
   for(int i=0; i< limit; i++)
      TempBuffer[ i]=iMA(NULL,0, BBPeriod,0, TypeMA,PRICE_CLOSE, i);
//----------------------------------------------------------------
   i=Bars- counted_bars-1;
   while( i>=0)
     {
      BBBuffer[ i]=High[ i]+Low[ i]-2* TempBuffer[ i];
      i--;
     }
   i=Bars- counted_bars-1;
   while( i>=0)
     {
      SignalBuffer[ i]=iMAOnArray( BBBuffer,Bars, SignalMA,0, Type_MA_Signal, i);
      i--;
     }
   i=Bars- counted_bars-1;
   while( i>=0)
     {
      OsmaBuffer[ i]= BBBuffer[ i]- SignalBuffer[ i];
      i--;
     }         
   return(0);
  }
 

Ahora he descubierto una característica interesante...

(probablemente ya esté descrito en alguna parte, pero intento usar primero mi cerebro y luego un libro de texto ;)))

Lo que me permitió utilizar un criterio de selección más del tipo IF (filtro)

orders += OrderProfit()<1;

Además de un filtro IF común y tradicional que selecciona las órdenes necesarias,

La introducción de la condición en el código anterior ha seleccionado las órdenes con un beneficio inferior a 1.

*

Ni siquiera sé si es correcto o no, pero parece que funciona...

 
zfs >> :

Enfrentarse a un problema:

Escribí un indicador BBP MA Oscillator

Funciona bien en el gráfico,

Pero cuando lo llamo desde el EA los datos no coinciden.

Los parámetros establecidos son respectivamente los mismos.

BBP_0=iCustom("EURUSD",60, "BBP MA Oscillator",BBPPeriod9,MODE_SMA,SignalBBPPeriod9,MODE_SMMA,0,0);

La pregunta es ¿cómo es posible?

y si por defecto

BBP_0=iCustom(NULL,0, "BBP MA Oscillator",0,0);

y esto es obviamente incorrecto

if( counted_bars>0) limit++

debe ser

if( counted_bars>0) limit--;
 

JavaDev, Granit77 gracias por las respuestas..... y aunque todavía no conseguí la respuesta a mi pregunta principal, decidí leer más el tutorial. Tal vez la respuesta a mi pregunta se aclare en el proceso.

 
GGeoZ >> :

...y aunque seguía sin obtener una respuesta a mi pregunta básica, decidí seguir leyendo el libro de texto. Tal vez la respuesta a mi pregunta se aclare en el proceso.

Espero que SK. no esté viendo este hilo, así que "compartiré lo que he leído" en el tutorial. Como usuario tonto normal, me salto las partes incomprensibles con la esperanza de que "se solucione solo". Tu pregunta ni siquiera se me había ocurrido (la edad, ya sabes...). Para uso interno se aceptó que int es todo lo que se puede contar con los dedos, y doble - todo lo demás. :))

 
Gente puede alguien responder a mi pregunta... lo interesante es que el orden de divergencia es insignificante, pero crítico... Estaré encantado de compartir una estrategia rentable basada en este y otro indicador. Puede haber algún error en los cálculos...
 
granit77 писал(а) >>

Espero que SK. no esté viendo este hilo, así que voy a "compartir lo que he leído" en un libro de texto. Como usuario tonto normal, me salto las partes oscuras con la esperanza de que "se solucione solo". Tu pregunta ni siquiera se me había ocurrido (la edad, ya sabes...). Para uso interno se aceptó que int es todo lo que se puede contar con los dedos, y doble - todo lo demás. :))

¡Bravo!

Fue un placer reírse. Yo tampoco entiendo las preguntas.

Por si acaso, añadiría los dedos de mi vecino.

 
Señores, por favor, aconsejen cómo calcular el tamaño máximo del lote para abrir con todos los fondos disponibles.
Razón de la queja: