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

 
globad:
Creo que hay muchas cosas preparadas como esta. Un simple EA abre un trato en un momento dado...

El problema es que durante todo el tiempo la posibilidad de programar para MT4 ha acumulado CIENTOS de EAs ya hechos en el libre acceso a Internet, que encontrar el adecuado es muy problemático - tendrá que buscar entre un montón de basura, e incluso puede tardar más de un mes. Además, todavía no hay garantía de que el código que has encontrado no esté escrito de forma incorrecta. El código hecho a medida no sólo ahorra tiempo y esfuerzo, sino que también puede ser corregido rápidamente por el desarrollador si el cliente ve que algo no funciona como se pidió.
 
Vinin:


¡¡¡Gracias!!!
 
artmedia70:

De todos modos, ¿qué hace la función?

De todos modos, devuelve cero... Así que hice la pregunta sin mirar la sintaxis.


Bueno, es una plantilla..... Maldita sea, qué puede ser, actualicé la build y el EA empezó a separarse, además, el mismo EA en otra build antigua, funciona, abre tratos, etc.

if (b!=Bars){
b=Bars;

      if (iCustom(NULL, 0, "1111",set,up,zukko1,7,1)!=0){
      TotalOrders=OrdersTotal(); 
           for (i=0; i<=TotalOrders; i++){
                 if (OrderSelect(0,SELECT_BY_POS)==true){
                    if (OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,5,Red);
                 if (OrderSelect(0,SELECT_BY_POS)==true){   
                    if (OrderType()==OP_BUYSTOP) OrderDelete(OrderTicket(),Green);                    
                 }
                 }            
           }  
                       
    // if (OrdersTotal()==0) 
    OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Bid-StopLoss*Point,Bid+TakeProfit*Point);
      //OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-StopLoss*Point,3,Bid-StopLoss*Point+OPStopLoss*Point,Bid-StopLoss*Point-OPTakeProfit*Point);
       }
      if (iCustom(NULL, 0, "111111",set,up,zukko1,6,1)!=0){
      TotalOrders=OrdersTotal();
        for (i=0; i<=TotalOrders; i++){
                 if (OrderSelect(0,SELECT_BY_POS)==true){
                    if (OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,5,Red);
                 if (OrderSelect(0,SELECT_BY_POS)==true){   
                    if (OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket(),Green);
                 }   
                 }
        }              
     //if (OrdersTotal()==0) 
     OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Ask+StopLoss*Point,Ask-TakeProfit*Point);
     // OrderSend(Symbol(),OP_BUYSTOP,Lot,Ask+StopLoss*Point,3,Ask+StopLoss*Point-OPStopLoss*Point,Ask+StopLoss*Point+OPTakeProfit*Point);
         }
  }

¿Alguien puede ayudar? .... Se supone que el EA funciona una vez por barra. Y está pegando fuerte....

 
drknn:

Ese es el problema, ya que todo el tiempo la posibilidad de programar para MT4 se ha acumulado en el libre acceso a CIENTOS de EAs ya hechos en Internet, que encontrar el correcto es muy problemático - tendrás que buscar entre un montón de basura, e incluso puede tomar más de un mes. Además, todavía no hay garantía de que el código que has encontrado no esté escrito de forma incorrecta. El código hecho a medida no sólo ahorra tiempo y esfuerzo, sino que también puede ser corregido rápidamente por el desarrollador, si el cliente ve que algo no funciona como se pidió.
¿Cuánto crees que costaría un EA de este tipo?
 

¡Buenas tardes!

Este es un problema ....

En el indicador complejo, he creado una visualización gráfica de los fractales (para no aplicar el indicador fractal)

Para los fractales superiores (flechas)

double P_F_5_Up = Price_UP_1 + Positiont;
               string name="Up_F5"+"_"+s;
               
               ObjectCreate( name, OBJ_ARROW, 0, Time[s], P_F_5_Up);
               ObjectSet( name,OBJPROP_COLOR,Color_F5);
               ObjectSet( name,OBJPROP_ARROWCODE,217);
               ObjectSet(name,OBJPROP_WIDTH,2);

Para los fractales inferiores (flechas)

double P_F_5_DW=Price_DW_1 - Positiont;
               name="DW_F5"+"_"+s;
               
               ObjectCreate( name, OBJ_ARROW, 0, Time[s], P_F_5_DW);
               ObjectSet( name,OBJPROP_COLOR,Color_F5 );
               ObjectSet( name,OBJPROP_ARROWCODE,218);
               ObjectSet(name,OBJPROP_WIDTH,2);
Flechas fractales

se muestran en la ventana principal a una distancia de High/Low por el valor de Positiont, que se define en init()

Positiont*=Point;

El problema es el siguiente: para los fractales inferiores los objetos gráficos (flechas) se muestran según Positiont, mientras que para los superiores se ciñen a la vela High/Low, es decir, no ven Positiont.

¿Por qué? No entiendo....

 
LOA:


¿Por qué? No entiendo....

Tal vez añadir la altura del objeto todavía.
 
splxgf:
Tal vez añadir la altura del objeto también.


¿Cómo se hace esto?

Y, para ser sincero, dudo que sirva de algo (aunque lo intentaré si me dices cómo).

Los objetos gráficos son caracteres estándar tanto para alta como para baja.

 
double P_F_5_Up = Price_UP_1 + Positiont*2;
La posición se cuenta desde la esquina superior izquierda, la inferior está bien, la superior necesita un margen extra.
 
splxgf:
La posición se cuenta desde la esquina superior izquierda, la inferior está bien, la superior necesita un margen extra.

OK. Lo entiendo y lo hice, pero no funcionó con *2, pero con *4 es genial. Muchas gracias, no conocía este matiz (aunque hay muchas más cosas que desconozco, pero estoy aprendiendo)
 
Reshetov:
Ver https://www.mql5.com/ru/forum/131859/page6#434260


Función GetExtremumZZZPrice()


Muchas gracias.