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

 
7777877:

¿Puedes decirme si hay alguna forma de volcar más de 4 MB de código aquí (o de volcarlo aquí por partes?)?

Todo el código que he creado en cinco años es de 22 megabytes. Son varios miles de indicadores, asesores expertos y scripts
 
Mi código tiene 15kB(tamaño de archivo mq4 ), pero cuando intento enviarlo (usando el enlace srs en la línea de herramientas), me sale un mensaje de que mi mensaje excede el tamaño y el mensaje no se envía. Como en la parte inferior dice que el tamaño máximo del archivo es de 4 MB, me imaginé que de alguna manera el procesamiento de mi pregunta está aumentando el tamaño del archivo
 
7777877:
Mi código tiene 15 kB (tamaño de archivo mq4), pero cuando intento enviarlo (usando el enlace srs en la cadena con las herramientas), me sale un mensaje de que mi mensaje excede el tamaño y el mensaje no se envía. La línea de abajo dice que el tamaño máximo del archivo es de 4 MB, así que me imaginé que de alguna manera el procesamiento de mi pregunta, hay un aumento en el tamaño del archivo.

Utilice el siguiente enlace Adjuntar archivo
 
Vinin:

Utilice el siguiente enlace Adjuntar archivo
Archivos adjuntos:
rsis.mq4  16 kb
 
TarasBY:

Esta tarea requiere una aclaración:

  • ¡¡¡Sus parámetros de entrada (STPOLOSS, TAKEPROFIT, etc.) deben ser introducidos con 4\2 dígitos en mente!!!

Igor y Viktor, ¡muchas gracias!
 
7777877:
Lea sobre las matrices en la documentación. Una opción es hacer un array estático, es decir, un array con un tamaño predefinido: double a[55443]; otra opción es hacer un array dinámico, es decir, declarar un array de tamaño indefinido double a[], y luego determinar/calcular el tamaño que necesitamos en el código del programa: ArrayResize(a,N)
 

Por favor, ayúdenme a entender:)
¿Cómo mover una orden pendiente?
He intentado borrarlo primero y poner uno nuevo, pero no funciona

int NuevoOrden(int Cmd,double Lote){

...

TP=PR+TakeProfit*Punto;

SL=PR-StopLoss*Punto;

Proverka();

tic=OrderSend(Symbol(),Cmd,Lot,PR,5,TP,SL,0,1,0,CLR_NONE);

if(tic<0) {Print("Error de apertura de pedido: ",GetLastError());

return(0);}

//+------------------------------------------------------------------+

void Proverka()

{

for(int i=1; i<=TotalPedidos(); i++) // Bucle de pedidos

{

if (OrderSelect(i-1,SELECT_BY_POS)==true)

{

si (OrderSymbol()!= Symbol()) continuar;

if (OrderType() == OP_BUY || OrderType() == OP_SELL) continue;

int tic=OrderTicket();

OrderDelete(tic); Print("Delet",tic);

}

}


}

//+------------------------------------------------------------------+

 
Ali007:

Por favor, ayúdenme a entender:)
¿Cómo puedo mover una orden pendiente?
He intentado borrar y poner uno nuevo, pero no ha funcionado.

Si su tipo de orden no cambia, puede moverla seleccionándola mediante OrderTicket(), utilizando la función OrderModify(), donde se especifican los nuevos precios de apertura y de cierre.

...Y los valores de las variables que se pasan a las funciones de negociación deben ser normalizados (precio, STOP). Y este bucle de enumeración de órdenes:

for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер

sería mejor sustituirla por la inversa:

for(int i=OrdersTotal() - 1; i >= 0; i--) // Цикл перебора ордер
{
   if (OrderSelect (i, SELECT_BY_POS)==true) 

Los StopLoss tampoco están organizados correctamente:

TP=PR+TakeProfit*Point;
SL=PR-StopLoss*Point;

Las paradas se calcularán de forma diferente para los distintos tipos de órdenes pendientes.

CONSEJO: Si todavía tiene dificultades, consiga cualquier tipo de Asesor Experto que trabaje con órdenes pendientes y tome de él las funciones para trabajar con órdenes o los cálculos de sus STOP.

 
TarasBY:

Si el tipo de orden no cambia, se puede mover seleccionando OrderTicket() con la función OrderModify(), donde se especifica el nuevo precio de apertura y los valores de STOP.

...Y los valores de las variables que se pasan a las funciones de negociación deben ser normalizados (precio, STOP). Y este bucle de enumeración de órdenes:

sería mejor sustituirla por la inversa:

Los StopLoss tampoco están organizados correctamente:

Las paradas se calcularán de forma diferente para los distintos tipos de órdenes pendientes.

Gracias, lo tengo))
 

¡Hola! Por favor, ayúdenme a entender:

¿Cómo funciona el trailing stop virtual?

¿Por qué es mejor que un trailing stop normal?

¿Puedo prescribir un trailing stop virtual en mi Expert Advisor si hay muchas órdenes al mismo tiempo para cada par, y será eso racional?