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

 
alsu:
Si te molestas en mirar en el terminal, el RSI "en código" está ahí de serie.
Si no lo tienes, aquí tienes.
Archivos adjuntos:
rsi.mq4  3 kb
 

¿Cómo puedo bloquear el menú en MetaTrader4? A veces se dispersa tanto por la pantalla que es espeluznante. Bueno, tal y como está fijada la Barra de Tareas en Windows, ¿quizás las ventanas estén fijadas aquí también?

 

Hola, ¿podría decirme por favor

Ahora tengo este código:

         if(M_1<NizUroven && M_0 >=NizUroven)
                {
 for(int i=OrdersTotal()-1;i>=0;i--)
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
     {     CloseOrder();
     }
   Lot2=GetLot(MaxRisk);
NewOrder(OP_SELL,Lot2);
}


             if(M_1>VerhUroven && M_0<=VerhUroven)
               {
 for(int j=OrdersTotal()-1;j>=0;j--)
   if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES))
     {    CloseOrder();
     }
Lot2=GetLot(MaxRisk);
 NewOrder(OP_BUY,Lot2);
}



¿cómo puedo simplificarlo así?

 for(int i=OrdersTotal()-1;i>=0;i--)
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
     {     CloseOrder(); 
     }
   Lot2=GetLot(MaxRisk);

         if(M_1<NizUroven && M_0 >=NizUroven) 
                { NewOrder(OP_SELL,Lot2);
}
             if(M_1>VerhUroven && M_0<=VerhUroven)
               {  NewOrder(OP_BUY,Lot2);
}

 

Y otra pregunta, he estado optimizando durante seis meses y he obtenido estos resultados. No está claro por qué muchos pases tienen ceros (no hay tratos).

 
monopolie:

¿Cómo puedo bloquear el menú en MetaTrader4? A veces se dispersa tanto por la pantalla que es espeluznante. Bueno, tal y como está fijada la Barra de Tareas en Windows, ¿quizás las ventanas estén fijadas aquí también?

Dicen que no es un error, sino una característica))
 
monopolie:

¿Cómo puedo bloquear el menú en MetaTrader4? A veces se dispersa tanto por la pantalla que es espeluznante. Bueno, tal y como está fijada la Barra de Tareas en Windows, ¿quizás las ventanas estén fijadas aquí también?


Haz clic con el botón derecho del ratón en el menú "Columnas de tamaño automático" y muévete como quieras.
 
griha:

Hola, ¿podría por favor

mi código es así:



¿cómo simplificarlo mediante este principio?


esta parte:

for(int j=OrdersTotal()-1;j>=0;j--)
   if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES))
     {    CloseOrder();
     }
Lot2=GetLot(MaxRisk);
 NewOrder(OP_BUY,Lot2);

poner en una función:

ff(int cmd)
{
   for(int j=OrdersTotal()-1;j>=0;j--)
      if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES))
      {
         CloseOrder();
      }
   double Lot2=GetLot(MaxRisk);
   NewOrder(cmd,Lot2);
}

y luego:

if(M_1<NizUroven && M_0 >=NizUroven)
{
   ff(OP_SELL);
}

if(M_1>VerhUroven && M_0<=VerhUroven)
{
   ff(OP_BUY);
}

es como un ejemplo, con la visibilidad o la transferencia a la función de la variable MaxRisk - averígualo tú mismo

 
¡Buenas tardes!
Me he encontrado con un problema al abrir un número determinado (definido por el usuario) de pedidos.
He escrito un pequeño código para resolver este problema.
Pero hay ocasiones en las que se abre un número arbitrario de órdenes, normalmente cerca del final de la prueba.

A continuación se muestra el código propiamente dicho.

extern string Kolichestvo_orderov = "Количество единовременно открытых ордеров";
extern int OrederBuy = 1;
extern int OrederSell = 1;


int OrdS=1,OrdB=1,ticketBuy,ticketSell,lastticketSell=0,lastticketBuy=0;

//========================================================================================================//     
                                  //---- Открытие ордеров SELL ----//
//========================================================================================================//

if(OrdS<=OrederSell)
  { //----- start
 
if(trendDn==true && SthFast>88.2 && SthSlow<38.2)
     {
ticketSell=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,0,magick,0,Blue);OrdS++; //--- Если ордер открыт параметр OrdS увеличиваю 
     }
   } //-----end
          
//========================================================================================================//  
                                   //----Открытие ордеров BUY ----//
//========================================================================================================//  

if(OrdB<=OrederBuy)
  { //-----start

if(trendUp==true && SthFast<11.8 && SthSlow>61.8)
      {
ticketBuy=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,0,magick,0,Red);OrdB++; //--- Если ордер открыт параметр OrdB увеличиваю
      }

  } //------end
  

//------------------------------- Подсчет количества ордеров BUY & SELL ----------------------------------//
   
  if(ticketBuy<=OrdersHistoryTotal()) //------ проверка тикетов тех  ордеров которые уже закрыты
   {
  for(int ordBuy=lastticketBuy;ordBuy<=OrdersHistoryTotal();ordBuy++) //--- перебор новых закрытых ордеров
    {
     if(OrderSelect(ordBuy,SELECT_BY_POS,MODE_HISTORY)==true){if(OrderType()==OP_BUY)OrdB--;lastticketBuy=ticketBuy;} //--- если добавился новый закрытый ордер бай, то параметр OrdB уменьшаю
    }
   }
  
  //-----
    
 if(ticketSell<=OrdersHistoryTotal()) //------ проверка тикетов тех  ордеров которые уже закрыты
  {
 for(int ordSell=lastticketSell;ordSell<=OrdersHistoryTotal();ordSell++) //--- перебор новых закрытых ордеров
     {
     if(OrderSelect(ordSell,SELECT_BY_POS,MODE_HISTORY)==true){if(OrderType()==OP_SELL)OrdS--;lastticketSell=ticketSell;} //--- если добавился новый закрытый ордер селл, то параметр OrdS уменьшаю

Si tienes una solución más sencilla, estaré encantado de recibir comentarios.

 

Hola a todos.

Me pueden decir si es posible mostrar texto en un gráfico, como

   string mytext = "Hello from programmer!";
   ObjectSetText("mycomment", mytext, 10, "Arial", Gray);
     if (ObjectFind("mycomment") == -1) {
         ObjectCreate("mycomment", OBJ_LABEL, 0, 0, 0);
         ObjectSet("mycomment", OBJPROP_CORNER, 2);
         ObjectSet("mycomment", OBJPROP_XDISTANCE, 5);
         ObjectSet("mycomment", OBJPROP_YDISTANCE, 7);}

como una función separada para que pueda ser llamada de alguna manera:

mycomment("Hello from programmer!")