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

 

¿Puedo escribir los valores de las variables en un array de esta manera?

double A[13] = {R3,M5,R2,M4,R1,M3,P,M2,S1,M1,S2,M0,S3};
 
Lo tengo todo resuelto)))
 

Por favor, indíqueme por qué ocurre esto.

Tester.TF 5min Todos los ticks.


int start()  
 {
int pY =  Bars;
int pY1 = Bars+239;
       
Print( "Н Н Н  =  ", pY);   
Print( "НH HН НH  =  ", pY1); 

}

En las variables pY y pY1 el programa debe escribir el número de barras en CADA tick.

Es decir, la impresión en el diario debe imprimir el número de secuencia de CADA tick.

De hecho, a juzgar por la función de impresión del diario, el intervalo entre los sucesivos ticks de cinco minutos es de aproximadamente un mes.

2014.01.19 13:28:08     2000.03.17 12:56  БАЗА 30-150 EURUSD,M5: НH HН НH  =  15738
2014.01.19 13:28:08     2000.03.17 12:56  БАЗА 30-150 EURUSD,M5: Н Н Н  =  15499
2014.01.19 13:28:08     2000.03.17 12:56  БАЗА 30-150 EURUSD,M5: НH HН НH  =  15738
2014.01.19 13:28:07     2000.02.29 18:38  БАЗА 30-150 EURUSD,M5: Н Н Н  =  11856
2014.01.19 13:28:07     2000.02.29 18:38  БАЗА 30-150 EURUSD,M5: НH HН НH  =  12095
2014.01.19 13:28:07     2000.02.29 18:38  БАЗА 30-150 EURUSD,M5: Н Н Н  =  11856
2014.01.19 13:28:07     2000.02.29 18:38  БАЗА 30-150 EURUSD,M5: НH HН НH  =  12095
2014.01.19 13:28:07     2000.02.29 18:38  БАЗА 30-150 EURUSD,M5: Н Н Н  =  11856
2014.01.19 13:28:07     2000.02.29 18:38  БАЗА 30-150 EURUSD,M5: НH HН НH  =  12095
2014.01.19 13:28:07     2000.02.29 18:38  БАЗА 30-150 EURUSD,M5: Н Н Н  =  11856
2014.01.19 13:28:07     2000.02.29 18:37  БАЗА 30-150 EURUSD,M5: НH HН НH  =  12095
2014.01.19 13:28:06     2000.02.10 22:20  БАЗА 30-150 EURUSD,M5: Н Н Н  =  8258
2014.01.19 13:28:06     2000.02.10 22:20  БАЗА 30-150 EURUSD,M5: НH HН НH  =  8497
2014.01.19 13:28:06     2000.02.10 22:20  БАЗА 30-150 EURUSD,M5: Н Н Н  =  8258
2014.01.19 13:28:06     2000.02.10 22:20  БАЗА 30-150 EURUSD,M5: НH HН НH  =  8497
2014.01.19 13:28:06     2000.02.10 22:20  БАЗА 30-150 EURUSD,M5: Н Н Н  =  8258
2014.01.19 13:28:06     2000.02.10 22:19  БАЗА 30-150 EURUSD,M5: НH HН НH  =  8496
2014.01.19 13:28:06     2000.02.10 22:19  БАЗА 30-150 EURUSD,M5: Н Н Н  =  8257
2014.01.19 13:28:06     2000.02.10 22:18  БАЗА 30-150 EURUSD,M5: НH HН НH  =  8496
2014.01.19 13:28:05     2000.01.10 15:42  БАЗА 30-150 EURUSD,M5: Н Н Н  =  1600
2014.01.19 13:28:05     2000.01.10 15:41  БАЗА 30-150 EURUSD,M5: НH HН НH  =  1839
2014.01.19 13:28:05     2000.01.10 15:41  БАЗА 30-150 EURUSD,M5: Н Н Н  =  1600
2014.01.19 13:28:05     2000.01.10 15:41  БАЗА 30-150 EURUSD,M5: НH HН НH  =  1839
2014.01.19 13:28:05     2000.01.10 15:41  БАЗА 30-150 EURUSD,M5: Н Н Н  =  1600
2014.01.19 13:28:05     2000.01.10 15:41  БАЗА 30-150 EURUSD,M5: НH HН НH  =  1839
2014.01.19 13:28:05     2000.01.10 15:41  БАЗА 30-150 EURUSD,M5: Н Н Н  =  1600
2014.01.19 13:28:05     2000.01.10 15:41  БАЗА 30-150 EURUSD,M5: НH HН НH  =  1839

PREGUNTA: ¿Por qué las variables pY y pY1 no obtienen el valor de CADA intervalo de cinco minutos?

Gracias.


 

Llevo tres o cuatro días luchando.

El objetivo es abrir una operación cuando el precio de apertura de la barra actual está, por ejemplo, por encima del precio establecido ... lo tomamos como condición para entrar en...... y no se reabrirá hasta que se forme una condición similar para entrar en....

if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==false)..если колво сделок открытых равно нулю входить можна
 {

 active=true;
 }
 //открывать сделку или не открывать сделку
 
 if(active==true)...если входить можна проверяем условие для покупки
 {
 if((high3>high2)&&(close2<close1)&&(low2<low3)&&(open1<close2)&&(close1>close2)&&(low1<low2))
{
b=high2;
}
if(iOpen(NULL,0,0)>b)....если текущая цена выше то покупаем
{
 OrderSend(Symbol(),OP_BUY,0.1,Ask,7,Ask-30*Point,Ask+90*Point,0,0,0,Green);
 active=false;
}
и так проблема вся в том что у нас текущей ордер может закрыться уже когда сформируется заново условия и перезапишется цена тоесть он откроется фиг знает где и сразу по закрытию текуще позиции....как сделать так чтобы если ордер закрылся выше перезаписаной цены то мы ждали дальше пока не выполнится заново условие
 
solnce600:

Por favor, indíqueme por qué ocurre esto.

Tester.TF 5min Todos los ticks.

En las variables pY y pY1 el programa debe escribir el número de barras en CADA tick.

Es decir, la impresión en el diario debe imprimir el número de secuencia de CADA tick.

De hecho, a juzgar por la función de impresión del diario, el intervalo entre los sucesivos ticks de cinco minutos es de aproximadamente un mes.

¿PREGUNTA por qué las variables pY y pY1 no obtienen el valor del número de secuencia de CADA tick de cinco minutos?

Gracias.


Bares+239, ¿por qué necesitas un número de bar que ni siquiera está en el historial?

Y en general "número de barras en cada tick" ¿Qué es esto??????

Intenta explicar el problema con más detalle, es sólo risa.....

No existe el término "número de pentámetro" .......

 
¿Tal vez el número de ticks en cada barra? Estoy de acuerdo, son cosas diferentes....
 

¿Puedo tener una línea de código sobre cómo obtener los tickets de pedido en un array?

Aquí se empieza a teclear, ¿no?

void xxx(int otype)
{
  int Mas []; int ticket = 0; 
  for (int i = OrdersTotal()-1; i>=0; i--)
  { 
    if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES))
    {
      if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType() == otype)
        ticket = OrderTicket();
        Mas[] = {ticket};
 
Trader7777:

¿Puedo tener una línea de código, por favor, sobre cómo poner los tickets de pedido en un array?

Aquí se empieza a teclear, ¿no?


ticket = OrderTicket();
Mas[i] = OrderTicket();
Pero es mejor una matriz bidimensional, en la que también se pueden introducir otros parámetros de orden. Puede leerlo aquí.
 
Sepulca:

Enseguida, Bars+239, ¿por qué necesitas un número de bar que ni siquiera está en el historial?

Y en general "número de barras en cada tick" ¿Qué es esto??????

Intenta explicar el problema con más detalle, es sólo risa.....

No existe el término "número ordinal de cinco ticks" .......

Y no necesito un número de barque no esté en el historial.

Necesito el número de serie de la última barra actual, por ejemplo 100, el programa sumaría 239 y se escribiría el número 339

en la variable pY1 y el número 100 en la variable pY.

Y el programa realmente lo hace.

PERO POR ALGUNA RAZÓN NO LO HACE EN CADA VELA

Lo que necesito es que pY y pY1 se actualicen una vez cada 5 minutos y por cada vela de cinco minutos.

Veo que cada vela de cinco minutos tiene varios ticks y en cada tick de la misma vela el

pY y pY1 serán iguales.

Pero no entiendo por qué los valores de pY y pY1 no se actualizan en CADA vela.

Se actualizan por n - el número de velas.

Pero, ¿por qué no para TODAS las velas?

Tal vez he utilizado un término equivocado.

Pero la variable Bars predefinida en el momento de la aparición de una nueva barra de cinco minutos no toma

¿el valor del número de secuencia de esta nueva barra de cinco minutos?



 
solnce600:

No necesito un número de barque no esté en el historial.

Tengo que añadir 239 al número de la última barra actual, por ejemplo 100, y se escribirá el número 339

en la variable pY1 y el número 100 en la variable pY.

Y el programa realmente lo hace.

PERO POR ALGUNA RAZÓN NO LO HACE EN CADA VELA

Lo que necesito es que pY y pY1 se actualicen una vez cada 5 minutos y por cada vela de cinco minutos.

Veo que cada vela de cinco minutos tiene varios ticks y en cada tick de la misma vela el

pY y pY1 serán iguales.

Pero no entiendo por qué los valores de pY y pY1 no se actualizan en CADA vela.

Se actualizan por n - el número de velas.

¿Por qué no para TODAS las velas?

Tal vez he utilizado un término equivocado.

¿Pero la variable Bars no se predefine en el momento en que aparece una nueva barra de cinco minutos?

¿el valor del número de secuencia de esta nueva barra de cinco minutos?





Estás completamente confundido... La barra actual siempre tiene el número 0. Y si ha llegado el momento, en su caso cinco minutos más, la barra que examinó hace unos segundos ya será el número 1, y una nueva barra recién formada obtendrá el número 0.

Pero según tu código, con cada nueva barra se debería desplazar una......?

¿Así que tal vez no se trata del carrete? ¿Cómo se mira el registro? ¿En Metatrader? Prueba con <Diario><Abrir> y luego usa el Bloc de notas estándar para abrir el último archivo. Me he encontrado con esto a veces, si hay muchos mensajes en el registro, MetaTrader no muestra todo... Prueba con