Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 997

 
fxseminar:
-- lo siento, el indicador deMedia Móvil Personalizada NO PUEDE promediar sobre ticks. ¿Cómo funcionaría (se vería) entonces en un marco temporal diario, por ejemplo?

Está bien, sólo se recalcula la barra cero (sin terminar). Pero son los bares, los precios de los bares, los que se están promediando. Si establece appled_price -- PRICE_CLOSE, leerá los precios de cierre de las barras, pero no todos los ticks.

En general, en una barra no terminada, el precio de cierre es igual al precio de oferta y, si este precio cambia, el indicador resumirá 13 valores de precio y los dividirá por 13. No es mucho tiempo...

double  iMA(
   string       symbol,           // имя символа
   int          timeframe,        // таймфрейм
   int          ma_period,        // период
   int          ma_shift,         // сдвиг средней
   int          ma_method,        // метод усреднения
   int          applied_price,    // тип цены
   int          shift             // сдвиг

   );



 

Hola a todos) decidió hacer un robot) - ) )

En resumen, el problema de no saber cómo comprobar el número de órdenes en el gráfico actual (Ejemplo de algoritmo - SI en el --(((( LIKE)))) -- órdenes abiertas <=2 entonces comprar, vender, etc.

- Tengo todas las órdenes y debido al gran número de órdenes no compra en el par de divisas en el que es necesario

Estoy buscando una respuesta).

Estaría muy agradecido)

 
Tema97:

Hola a todos) decidió hacer un robot) - ) )

En resumen, el problema de no saber cómo comprobar el número de órdenes en el gráfico actual (Ejemplo de algoritmo - SI en el --(((( LIKE)))) -- órdenes abiertas <=2 entonces comprar, vender, etc.

- Tengo todas las órdenes y debido al gran número de órdenes no compra en el par de divisas en el que es necesario

Estoy buscando una respuesta).

Estaría muy agradecido)

int count=0; // счетчик открытых ордеров

//--- алгоритм подсчета открытых ордеров

if(OrdersTotal()>0)
  {
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()!=Symbol()) continue; // Если не символ текущего графика
                                               // перейдём к проверке следующего ордера

         if(OrderType()==OP_BUY ||     // если это открытый ордер на покупку или
            OrderType()==OP_SELL)      // если это открытый ордер на продажу
            count++;                   // увеличение счетчика на 1
        }
     }
  }

//--- покупаем, продаем и т.д.
if(count<=2)
  {
   // ...
  }
 
if(OrdersTotal()>0)
А это зачем?????????

	          
 
eevviill:

es como - si hay más de 0 órdenes, entonces continuar el algoritmo (como si hay comprado o 0 - si hay cero, entonces por qué hacer el algoritmo)

 
paladin80:

Muchas gracias ) He estado luchando desde ayer )
 
Tema97:

es como - si hay más de 0 órdenes, entonces continuar el algoritmo (como si hay comprado o 0 - si hay cero, entonces por qué hacer el algoritmo)

for(int i=OrdersTotal()-1; i>=0; i--)
тут даже не будет 1 итерации если ордеров 0
это просто лишний код(if(OrdersTotal()>0))
 
¿Tipos que pueden ayudar esta vez? - Escribí un código - Tengo una extraña - Necesito que el precio para ir desde la parte superior a la parte inferior a lamedia móvil y comprar (como un rebote) - si usted sabe el código correcto, por favor hágamelo saber))
 
eevviill:

Si utiliza este algoritmo en sus programas, elimínelo

if(OrdersTotal()>0)

y ver qué pasa.

 
Tema97:
¿Tipos que pueden ayudar esta vez? - Escribí un código - Tengo una extraña - Necesito que el precio para ir desde la parte superior a la parte inferior a la media móvil y comprar (como un rebote) - si usted sabe el código correcto, por favor hágamelo saber))
El CodeBase tiene una tonelada de EAs y creo que encontrarás algunos con tu algoritmo que puedes recrear por ti mismo.
Razón de la queja: