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

 
Pregunta muy trivial: pongo una orden pendiente, compruebo el vencimiento por tiempo, pongo el tiempo correcto, pero cuando se acaba el tiempo y la orden no se abre no se borra.
 
Lo encontré... No hay nada escrito en el cuaderno de bitácora
 
Elektronik:

Buenas noches a todos.

Me podéis decir por favor cómo averiguar el precio máximo y mínimo de la última hora, el libro de texto sólo dice lo de las últimas barras.


Consulte la documentación para obtener una explicación:

double valHigh = iHigh(Symbol(),PERIOD_H1,1);
double valLow  = iLow(Symbol(),PERIOD_H1,1);
 

Hola a todos.

Estoy empezando a aprender MQL (por favor, no juzguen con demasiada dureza).

Tengo una pregunta del tutorial de MQL4.

//--------------------------------------------------------------------
// stringarray.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
extern double Level=1.3200;                     // Заданный уровень 
string Text[101];                               // Объявление массива
//--------------------------------------------------------------------
int init()                                      // Спец. ф-ия init()
  {                                             // Присвоение значений
   Text[1]="один ";            Text[15]="пятнадцать ";
   Text[2]="два ";             Text[16]="шестнадцать ";
   Text[3]="три ";             Text[17]="семнадцать ";
   Text[4]="четыре ";          Text[18]="восемнадцать ";
   Text[5]="пять ";            Text[19]="девятнадцать ";
   Text[6]="шесть ";           Text[20]="двадцать ";
   Text[7]="семь ";            Text[30]="тридцать ";
   Text[8]="восемь ";          Text[40]="сорок ";
   Text[9]="девять ";          Text[50]="пятьдесят ";
   Text[10]="десять ";         Text[60]="шестьдесят";
   Text[11]="одиннадцать ";    Text[70]="семьдесят ";
   Text[12]="двенадцать ";     Text[80]="восемьдесят ";
   Text[13]="тринадцать ";     Text[90]="девяносто";
   Text[14]="четырнадцать ";   Text[100]= "сто";
   // Вычисление значений
   for(int i=20; i<=90; i=i+10)                // Цикл по десяткам
     {
      for(int j=1; j<=9; j++)                  // Цикл по единицам
         Text[i+j]=Text[i] + Text[j];          // Вычисление значения   
     }
   return;                                     // Выход из init()
  }
//--------------------------------------------------------------------
int start()                                     // Спец. ф-ия start()
  {
   int Delta=NormalizeDouble((Bid-Level)/Point,0);// Превышение 
//--------------------------------------------------------------------
   if (Delta>=0)                                // Цена не выше уровня
     {
      Alert("Цена ниже уровня");                // Сообщение
      return;                                   // Выход из start()
     }
//--------------------------------------------------------------------
   if (Delta<100)                               // Цена более 100
     {
      Alert("Более ста пунктов");               // Сообщение
      return;                                   // Выход из start()
     }
//--------------------------------------------------------------------
   Alert("Плюс ",Text[Delta],"pt.");            // Вывод на экран
   return;                                      // Выход из start()
  }
//--------------------------------------------------------------------

He iniciado el programa y funciona.

No sé cómo puede contar de 10 a 19, si el operador de bucle "for(int i=20; i<=90; i=i+10)" cuenta a partir de 20 y "for(int j=1; j<=9; j++)" de 1 a 9.

Por favor, explique.

 
borilunad:

Esto cerrará la mitad del lote. Si OrderLots() = 0.03, entonces 0.02 se cerrará y 0.01 permanecerá. Y ponga el Lote resultante en OrderClose() en su lugar después de OrderTicket(). ¿Está claro ahora?
comprensible - gracias, excepto ........ cómo hacerlo :) ?
 
kostural:
comprensible - gracias, pero aquí ........ cómo hacerlo :) ?


¿Dónde queda claro si no se puede poner el lote recibido en OrderClose() en su lugar después de OrderTicket()? No puedo explicarlo de otra manera.

Consulte la función OrderClose() en la ayuda del Doc o del MetaEditor.

 
Pacman:

Hola a todos.

Estoy empezando a aprender MQL (por favor, no juzguen con demasiada dureza).

Tengo una pregunta del tutorial de MQL4.

He iniciado el programa y funciona.

No sé cómo puede contar de 10 a 19, si el operador de bucle "for(int i=20; i<=90; i=i+10)" cuenta a partir de 20 y "for(int j=1; j<=9; j++)" de 1 a 9.

Por favor, explique.


Texto[i+j]=Texto[i] + Texto[j]; // Calcular el valor

¿Qué no está claro? decenas+unidades= decenas+unidades (Por ejemplo: 20+5= 20+5 en una máquina primitiva significa 25)

¡Empezar con la aritmética!

 
borilunad:


Texto[i+j]=Texto[i] + Texto[j]; // Cálculo

¿Qué no hay que entender? Decenas+unidades = decenas+unidades (Por ejemplo: 20+5 = 20+5 para una máquina primitiva significa 25)

¡Empezar con la aritmética!

No entiendo cómo se obtiene exactamente el número 10, 11, 12, ...,19.

En el programa, la declaración del bucle comienza con 20, y del 1 al 9?

 
krutishc:
Pregunta muy trivial. coloco una orden pendiente, compruebo el tiempo de caducidad, establezco el tiempo necesario, pero cuando se acaba el tiempo y la orden no se abre no se borra. ¿qué estoy haciendo mal?


Si no hay condiciones para abrir una orden, no se abrirá. Y en el momento oportuno, simplemente se borrará... Hay algo mal en su expiraciónTime....

tiempo de expiración - tiempo de expiración de la orden pendiente. En segundos después de las 00:00 del 1 de enero de 1970.

 
krutishc:
Pregunta muy trivial. Pongo una orden pendiente, marco la casilla de tiempo de expiración, introduzco el tiempo necesario, pero cuando pasa el tiempo y la orden no se abre no se borra.
Debe comprobar el pliego de condiciones de los contratos. Es muy posible que no se admitan las órdenes pendientes de GTC.