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

 
Alexey Viktorov #:

Todos los indicadores funcionan en el mismo hilo. En consecuencia, cada indicador consume algunos recursos de la CPU. Poner 100500 indicadores con los mismos parámetros y ¿qué pasará con el terminal? Si 300 gramos de patatas son suficientes para hacerte feliz en los próximos 20 minutos, pero tendrás un saco lleno de ellas sobre tus hombros. ¿Qué te parece?

Ya veo. Gracias por la explicación.
 

¿Puedes decirme si he visto una subventana de indicador dibujada con este estilo en algún lugar de kodobase?

No lo encuentro


 
makssub #:

Buenas tardes. He leído sobre Vail. No sé sumar ni restar.
No puedo decir nada sobre la gestión del dinero, no lo he probado.
He adjuntado la última versión. Pero ya me he hecho un lío)
Orden1 (2) el beneficio de la orden seleccionada
Orden1(3) el lote de la orden seleccionada

No pude entender el código.

Intentaré explicarlo. Espero que conozcas las entradas de los pedidos necesarios, eso facilita mucho las cosas. Las condiciones. Hay una orden de beneficios con un beneficio mayor que cero, hay una orden de pérdidas con un beneficio menor que cero y mayor que el beneficio, y hay una condición para el cierre parcial de una orden de pérdidas.

En general, si las órdenes están dirigidas de forma diferente, puede cerrar a través de OrderCloseBy sin pensarlo dos veces. La orden de pérdida menor se cerrará igual que la orden de beneficio menor. Sólo necesitamos 2 entradas.

Podemos hacerlo más complicado, obtener OrderProfit() (esto es dinero) y OrderLots() (esto es el volumen en lotes) de ambas órdenes. Calcule la relación entre ganancias y pérdidas y cierre la orden rentable y esta parte en lotes de la orden perdedora. Antes de obtener los beneficios y los lotes de la orden, debe seleccionar el OrderSelect.

// ticket1 тикет прибыльного ордера, ticket2 убыточного

bool sel1=OrderSelect(ticket1,SELECT_BY_TICKET,MODE_TRADES);
double profit1=OrderProfit();
double  Lts1=OrderLots();
double price1=0; if(OrderType()==0)price1=Bid; else price1=Ask;

bool sel2=OrderSelect(ticket2,SELECT_BY_TICKET,MODE_TRADES);
double profit2=OrderProfit();                     // profit1 < profit2 можно условием впереди поставить
double  Lts2=OrderLots();
double price2=0; if(OrderType()==0)price2=Bid; else price2=Ask;

double ratio=fabs(profit1/profit2); // или если ratio<1, и берем модуль, у нас один профит меньше нуля
double lotsl=Lts2*ratio;

 Alert("Попытка закрыть прибыльный ордер тикет1 ",ticket1,". Ожидание ответа..");
         RefreshRates();                        // Обновление данных
 bool    Ans1=OrderClose(ticket1,Lts1,price1,2);      // Закрытие прибыльного ордера
         if(Ans1==true) // Получилось :)
         Alert("Закрыт ордер тикет1 ",ticket1,". профит1 ",profit1); 
else Alert(" Ошибка при закрытии ордера  тикет1",ticket1," Код ошибки ",GetLastError());

Alert("Попытка закрыть часть ордера тикет2 ",ticket2,". Ожидание ответа..");
         RefreshRates();                        // Обновление данных
bool     Ans2=OrderClose(ticket2,lotsl,price2,2);      // Закрытие убыточного ордера частично
         if(Ans2==true) // Получилось :)
         Alert("Закрыт частично ордер тикет2 ",ticket2,". профит2 ",profit2); 
else Alert(" Ошибка при закрытии ордера  тикет2",ticket2," Код ошибки ",GetLastError());

 

  
 


Закрытие и удаление ордеров - Торговые операции - Учебник по MQL4
Закрытие и удаление ордеров - Торговые операции - Учебник по MQL4
  • book.mql4.com
Закрытие и удаление ордеров - Торговые операции - Учебник по MQL4
 
Vitaly Muzichenko #:

¿Puedes decirme si he visto una subventana de indicador dibujada con este estilo en algún lugar de kodobase?

No lo encuentro.


Ver indicadores de Scriptor

Scriptor
Scriptor
  • 2019.02.10
  • www.mql5.com
Профиль трейдера
 
Artyom Trishkin #:

Ver los indicadores de Scriptor.

Gracias, lo encontré, pero es un poco diferente, sólo en una fila

 
Vitaly Muzichenko #:

Gracias, lo he encontrado, pero es un poco diferente, sólo es para una fila.

Creo que también hay varias filas.

 
Artyom Trishkin #:

Creo que también hay unas cuantas filas ahí.

Hay más de 1500 códigos, debo haberme perdido, por desgracia

 
Vitaly Muzichenko #:

Gracias, lo he encontrado, pero es un poco diferente, sólo en una fila.

Vitaly, me sorprendes. Todos estos indicadores se basan en la construcción de DRAW_ARROW con el código apropiado. En su dibujo los cuadrados son el código 167

      ObjectSetInteger(0, up_arrow, OBJPROP_ARROWCODE, 167);    // установим код стрелки 

Y el nivel de la serie se establece como el gato de Artyom o los deseos del gato. Puede ser en números enteros o en décimas.

Empieza y pregunta sobre lo que no funciona.

 
Vitaly Muzichenko #:

¿Puedes decirme si he visto una subventana de indicador dibujada con este estilo en algún lugar de kodobase?

No lo encuentro


¿DRAW_ARROW no es bueno?

8 buffers si se dibuja con un color, 16 si con dos.

o DRAW_COLOR_LINE con líneas más gruesas.

El sentido es que las líneas están siempre al mismo nivel (primero 1 segundo 2 etc.), sólo cambia el color.

 
Alexey Viktorov #:

Vitaly, me sorprendes. Todos estos indicadores se basan en el dibujo DRAW_ARROW con el código correspondiente. En tu foto los cuadrados son el código 167

Y el nivel de la fila se establece como el gato de Artyom o los deseos del gato. Puede ser en números enteros o en décimas.

Empieza y pregunta sobre lo que no funciona.

No entiendo el principio de sangrar desde abajo para que sea igual en varias filas

Ahí es donde no puedo empezar

Razón de la queja: