[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 260

 
ikatsko: Lo que no entiendo del fragmento: iTime dará el valor de la hora de apertura de la barra desplazado con respecto a la hora actual por el número de_ barras_a_pasar. Significa que el tiempo así obtenido será siempre inferior al tiempo actual. Con cada nueva barra también se desplazará hacia arriba. Y todo esto está ligado a la "guerra". ¿Y qué? ¿Cómo funcionará para saltarse un bar?

Sustituya OrderOpenTime por la hora de su comando

f(iTime(Symbol(),period_bar,number_of_bars_to_skip)<your_command_time) return

 
paukas:

Sustituya OrderOpenTime por la hora de su comando

f(iTime(Symbol(),period_bar,number_of_bars_to_pen)<your_command_time) return

¡Creo que lo tengo. time_your_command establece el inicio de la siguiente barra y elretorno se detiene después dethe_bars_to_skip ! Genial. Gracias.
 
Bicus:

¿Qué puede ser más complicado que eso?

El elemento 0 de la matriz tendrá el precio del último tick, el primer elemento tendrá el precio de hace 1 tick, el segundo elemento tendrá el precio de hace 2 ticks, etc.

¿O he entendido algo mal y he querido decir otra cosa?

Soy nuevo en esto, estoy aprendiendo de un libro de texto por mi cuenta - ¿podrías explicarme?
#property copyright "Bicus"
#property link      "Bicus"


double aPrices [5]; //мы объявили массив с пятью значениями внутри

void PutStack (double p_Price) //вот мне не понятно. Эта функция выступает как шаблон? Она показывает программе, как работать? Объясните что это плз.
{
  int nCounter; //создали переменную целого числа
  
  for (nCounter = 4; nCounter > 0; nCounter--) //это цикл, который начинается с 4х и идет к нулю (я так понял - он будет сохранять 4 тика)
    aPrices [nCounter] = aPrices [nCounter - 1]; //присваиваем массиву (например) с номером 3 значиние массива с номером  2 (а разве надо не наоборот?). 
    
  aPrices [0] = p_Price; //если p_Price - это тик, то в этой строчке мне все понятно - мы присваиваем первому значению массива настоящий тик.
}

int start()
{
  int nCounter; //опять создали переменную целого числа
  
  PutStack (Bid); //тут не понятно... Putstack=Bid?
  
  for (nCounter = 0; nCounter < 5; nCounter++) //тут создаем цикл, который идет от нуля, чтоб заполнять массив, но почему внутри его нет массива? он не нужен?
    Print (nCounter, "-й тик: ", DoubleToStr (aPrices [nCounter], Digits)); //тут выводим значение
}
 

Buenas tardes, queridos expertos.

He buscado toda la ayuda y no he encontrado ninguna respuesta en los foros. La pregunta es simple: ¿tiene MQL4 una funcionalidad sencilla para informar de la hora de activación de la orden pendiente o no?

Según la información disponible, no existe tal función. La función OrderOpenTime() indica el momento en que una orden pendiente fue colocada para su ejecución, pero me parece que no podríamos averiguar el momento en que se convirtió en una orden de mercado sin utilizar un EA para seguir el estado de la orden en la cuenta.

Por favor, avisen si alguien conoce una solución sencilla. El Asesor Experto es bastante improductivo, no tiene sentido utilizarlo permanentemente si sus servicios se requieren sólo una o dos veces al día. Necesitamos algo más sencillo, sería una función incorporada, que informara de la hora de su activación... El comerciante lo necesita para contabilizar adecuadamente las órdenes por su hora de apertura, de modo que, por ejemplo, siempre sea posible decir cuál de las órdenes actualmente abiertas o ya cerradas tiene la hora de apertura más tardía. En el caso de la orden pendiente, no podemos hacerlo. La orden pendiente podría estar colocada hace 2 horas y cerrarse hace una hora, en ese intervalo de una hora pueden abrirse y cerrarse otras órdenes y en el terminal la hora de apertura de la orden pendiente que se ha convertido en una de mercado es de 2 horas, pero quiero saber la hora real de su activación.

Estaré encantado de recibir sus comentarios.

 
Starting:

Buenas tardes, queridos expertos.

He buscado toda la ayuda y no he encontrado ninguna respuesta en los foros. La pregunta es simple: ¿tiene MQL4 una funcionalidad sencilla para informar de la hora de activación de la orden pendiente o no?

Según la información disponible, no existe tal función. La función OrderOpenTime() indica el momento en que una orden pendiente fue colocada para su ejecución, pero me parece que no podríamos averiguar el momento en que se convirtió en una orden de mercado sin utilizar un EA para seguir el estado de la orden en la cuenta.

Por favor, avisen si alguien tiene una solución sencilla. El Asesor Experto es bastante improductivo, no tiene sentido utilizarlo permanentemente si sus servicios se requieren sólo una o dos veces al día. Necesitamos algo más sencillo, sería una función incorporada, que informara de la hora de su activación... El comerciante lo necesita para contabilizar adecuadamente las órdenes por su hora de apertura, de modo que, por ejemplo, siempre sea posible decir cuál de las órdenes actualmente abiertas o ya cerradas tiene la hora de apertura más tardía. En el caso de la orden pendiente, no podemos hacerlo. La orden pendiente puede estar colocada hace 2 horas y cerrarse hace una hora, en ese intervalo de una hora pueden abrirse y cerrarse otras órdenes y en el terminal la hora de apertura de la orden pendiente que se ha convertido en una de mercado es de 2 horas y necesitamos saber la hora real de su activación.

Estaré encantado de recibir sus comentarios.

No entiendo por qué no estás contento con el EA, no vas a hacer un complejo sistema de trading basado en redes neuronales con auto-optimización, sólo tienes que comprobar cada tick si el péndulo está funcionando y cuando lo haga recibirías un mensaje de texto en la pantalla o de audio o ambos, la calculadora puede hacer eso, nada de lo que preocuparse o ¿tienes problemas para escribir el ordenador?
 
CLAIN:
Soy nuevo en esto, estoy aprendiendo de un libro de texto por mi cuenta - ¿podrías explicarme?

¿El libro de texto no responde a tus preguntas?
 

Se ha trasladado:

Pyxlik2009 14.10.2011 03:52

Chicos, decidme qué significa el error (número entero no válido como parámetro 10 para la función OrderSend) y cómo solucionarlo.

 

Buenos días a todos, ¡experto en código de programa!

Si me pueden explicar la situación, en mi EA el punto de colocar una orden es a una hora determinada y una orden por día:

int H=Hour(),
    M=Minute();
if(H>=21 && M>=40)
{
   {
    Alert("Ордер открыт-",Ticket);
    return(0);
    }
   else 
   {
   Alert("Ошибка№=",GetLastError());
   return(0);
   }
}

Pero me he dado cuenta de queif(H>=09 && M>=40) yif(H>=21 && M>=40) tienen las mismas condiciones y resulta que el pedido se hará al menos dos veces al día.

¿Qué debo hacer para evitar este problema?

Gracias por el apoyo.

 

Starting:

.... Es improductivo hacer que un experto sea un experto, y tiene sentido tener un experto de forma regular, si sus servicios se necesitan una o dos veces al día.


El guión existe. Cuando lo necesitas, lo ejecutas.
 
Valdemar:

...Me he dado cuenta de que las condicionesif(H>=09 && M>=40) yif(H>=21 && M>=40) son iguales y resulta que la orden se hará al menos dos veces al día.
¿Qué más debería haber hecho para evitar este problema?

Por favor, revise las FAQ con frecuencia, hay un gran número de ejemplos, que pueden ser útiles. Y puedes construir tus propias funciones basadas en ellas.
isTradeTimeString - Devuelve la bandera que permite negociar por tiempo.
isTradeTimeInt - Devuelve la bandera para permitir la negociación por tiempo.
Razón de la queja: