Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1774

 
Mihail Matkovskij #:

Lo escribí todo arriba. Vuelve a leer los mensajes con atención. Su tarea no es algo difícil. Si te centras en la tarea y no te peleas en el foro te irá bien. Buena suerte.

"Discutir" es que el profesor entre en la sala de chat. Lo siento, pero eres más un arrogante prepotente que un articulado articulado. Pasará, yo era así cuando tenía 13 años.
 
Выше я всё написал

¿Escribir qué? ¿Sobre el conjunto? ¿Lo he hecho yo primero, o te refieres a la definición de un indicador? ¿O tal vez sobre la forma de abrir dos órdenes y poner el TF de la primera en la segunda? Una solución tan limpia que lleva a un montón de problemas secundarios.

 
Nerd Trader #:
"Discutir" - el profesor ha entrado en la sala de chat. Lo siento, pero estás sacando tu ego más que escribiendo sobre el punto. Pasará, yo era así cuando tenía 13 años.

No se trata de mi importancia ni de nada, se trata de la importancia del conocimiento de la programación, que tú no tienes. Si estuvieras en la universidad y te comportaras así en clase, como mínimo el profesor te reprendería o te echaría. ¿Es entonces cuando le hablarías de tu ego...? :)

No tienes conocimientos no porque seas un principiante sino porque eres un ignorante... Cuando alguien te diga una vez más que un EA es diferente a un indicador, seguirás diciendo tu "qué más da". :)

Escribí: "Indicador abre operaciones" y "Bot necesita un marco de tiempo para una operación". Nadie respondería a esa pregunta, ya que carece de toda lógica. Pero traté de responder. Recibí muchas acusaciones e insultos. ¿Es eso en lugar de "Gracias"...?
 
Nerd Trader en un servidor remoto. Nos vendría bien un enchufe, pero todavía me resulta difícil.

Encriptar en magik. He descrito todo el procedimiento de cifrado y descifrado en los artículos.

 
Artyom Trishkin #:

Encriptar en magik. He descrito todo el procedimiento de cifrado y descifrado en artículos.

Dame el enlace, me lleva unos 30 minutos encontrarlo cada vez) Buen enfoque de la codificación.

 
Valeriy Yastremskiy #:

Dame el enlace, me lleva unos 30 minutos encontrarlo cada vez) Buen enfoque de la codificación.

Yo no lo recuerdo :)

Voy a buscar 30 minutos también ...

 
Nerd Trader #:

Esto no funcionará porque el bot se ejecuta en un servidor remoto, por lo que escribo el TF en el comentario, que estaría bien, pero se sobrescribe por el billete cuando se cierra parte del volumen.

Haga un número mágico individual para las órdenes en diferentes plazos. Este número no cambia cuando se cierra parcialmente.

//+-----------------------------------------------------------------------------+
//|  Описание : Автоматическая генерация магического номера                     |
//|             Generate Magic Number                                           |
//|             Магический номер генерируется в зависимости от инструмента      |
//|             и таймфрейма                                                    |
//+-----------------------------------------------------------------------------+
int GenerateMagicNumber(int mn)
  {
   int      GenerateMN = 0;
   int      SymNumber = 0;
   int      PMinuts = _Period;
// 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946
   if(StringFind(_Symbol,"BTC",0)>=0)  //1
      SymNumber = 5;
   if(StringFind(_Symbol,"ETH",0)>=0)  //2
      SymNumber = 8;
   if(StringFind(_Symbol,"BCH",0)>=0)  //3
      SymNumber = 13;
   if(StringFind(_Symbol,"LTC",0)>=0)  //4
      SymNumber = 21;
   if(StringFind(_Symbol,"XRP",0)>=0)  //5
      SymNumber = 34;
   if(StringFind(_Symbol,"SOL",0)>=0)  //6
      SymNumber = 55;
   if(StringFind(_Symbol,"LINK",0)>=0) //7
      SymNumber = 89;
   if(StringFind(_Symbol,"XLM",0)>=0)  //8
      SymNumber = 144;
   if(StringFind(_Symbol,"TRX",0)>=0)  //9
      SymNumber = 233;
   if(StringFind(_Symbol,"ATOM",0)>=0) //10
      SymNumber = 377;
   if(StringFind(_Symbol,"XMR",0)>=0)  //11
      SymNumber = 610;
   if(StringFind(_Symbol,"ADA",0)>=0)  //12
      SymNumber = 987;
   if(StringFind(_Symbol,"DOT",0)>=0)  //13
      SymNumber = 1597;
   if(StringFind(_Symbol,"DOGE",0)>=0) //14
      SymNumber = 2584;

   GenerateMN = (int)(SymNumber+PMinuts+mn);

   return (int)(GenerateMN);
  }
//--- End ---
 
Volodymyr Zubov #:

Haga un número mágico individual para las órdenes en diferentes plazos. Este número no cambia cuando se cierra parcialmente.

¿Y por qué encriptar el símbolo en el número mágico si ya es legible desde el orden/posición? ¿Y por qué esos valores para el SymNumber?

 
Volodymyr Zubov #:

Haga un número mágico individual para las órdenes en diferentes plazos. Esta cifra no cambia en un cierre parcial.

Gracias a StringFind. Pero sería mucho más fácil para mí.

int GenerateMagicNumber(int mn)
  {
   int      GenerateMN = 0;
   int      PMinuts = _Period;

   GenerateMN = (int)(PMinuts+mn);

   return (int)(GenerateMN);
  }

Y el símbolo de la orden lo obtendría después usando OrderSymbol().

 

¡Hola!

Si recibo una señal (por ejemplo, de compra), tengo que abrir una orden opuesta (de venta) después de que se cumplan las condiciones del lote.

Construí el código:

// Получим значение индикатора
   dMA = iMA(Symbol(), 0,PeriodMA, MovingShift, MODE_SMA, PRICE_CLOSE, 0); // MODE_SMA - простое усреднение , значение 0. PRICE_CLOSE- цена закрытия, значение 0.

// Если нет открытых ордеров, то входим в условие
      if(CountOrders()==0)
     {
// Если появился сигнал на покупку, то откроем ордер на покупку
      if(bSignalBuy() == true)
         vOrderOpenBuy();
         
         if((bSignalBuy() == true)&&(GetLotSize()>LotControl))
         vOrderOpenSell();
// Если появился сигнал на продажу, то откроем ордер на продажу
      if(bSignalSell() == true)
         vOrderOpenSell();
  
         if((bSignalSell() == true)&&(GetLotSize()>LotControl))
         vOrderOpenBuy();
     }

pero cuando se produce una condición

(GetLotSize()>LotControl)

Pero en este caso se abren simultáneamente dos órdenes opuestas, ¿cómo lo "arreglo"?

Razón de la queja: