[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 127

 
borilunad:
... Lo he puesto por ti. Puedes hacer lo mismo en tu puesto.
Genial.
 
borilunad:
Lo siento, no funcionará. Ni el primero, ni el último.

¿Por qué? Porque el último pedido es OrdersTotal()- 1, y el primer pedido tiene un índice de 0 . ¿Por qué entonces no funciona?
 
borilunad:

Tengo una función para todas las modificaciones, como la fijación de SL y TP, la transferencia a B/S, la búsqueda de posiciones y órdenes con intentos y comprobaciones de errores.

Sólo tengo que prescribir la selección de posiciones, las condiciones y las advertencias en el inicio. Esta es la función:

¡Pequeño pero inteligente!


Por cierto, su función sólo modifica las órdenes. Y las condiciones ya están todas en la salida. Y tengo todas las condiciones en la función. Resulta que habrá muchas condiciones colocadas en el inicio y sería muy poco razonable sobrecargarlo, ¿no? Al fin y al cabo, la esencia de la función está sobre todo en las condiciones, no sólo en la función de modificación desnuda, por supuesto con la visualización de errores. Pero de alguna manera tienes un enfoque extraño. Todavía no lo he encontrado. Miro y me sorprendo.
 
hoz:

Por cierto, su función sólo modifica las órdenes. Y las condiciones ya están todas en la salida. Y tengo todas las condiciones en la función. Resulta que habrá muchas condiciones colocadas en el inicio y sería muy poco razonable sobrecargarlo, ¿no? Al fin y al cabo, la esencia de la función está sobre todo en las condiciones, no sólo en la función de modificación desnuda, por supuesto con la visualización de errores. Pero es un enfoque extraño. Nunca he visto un enfoque así. Lo miro y me pregunto.
¡Cada uno elige lo que le conviene! Tengo la ventaja de que una función cumple con precisión todas las posibles modificaciones de una posición pendiente y abierta. Especifico todas las condiciones necesarias en la línea de salida que pueden cambiar con frecuencia en función de los caprichos del mercado. Esto me da una gran flexibilidad en mi trabajo. Por el contrario, hay que tener muchas funciones y seguir prescribiendo todas las condiciones en el Inicio y en las Funciones. Poco a poco llegarás a tu propia manera cómoda. Pero lo principal es conseguir una lógica clara y un funcionamiento sin errores del programa. Le deseo éxito.
 
hoz:

¿Por qué? Porque el último pedido es OrdersTotal() - 1, y el primer pedido tiene índice 0 . ¿Por qué entonces no lo será?

Para el último orden hay una función en Kim's donde compara por tiempo para evitar errores, y para el primer orden.

Tú piensas en todo a la vez, pero el ordenador piensa de uno en uno, digamos 0 o 1, luego otra vez, 0 o 1, y otra vez 0 o 1, etc.

Así que tienes que hacer por la lógica de la máquina, no la nuestra. Y la recompensa será un programa sin errores. Buena suerte.

 
borilunad:
Utilice el botónSRC de la parte superior para insertar el código. Nadie va a hurgar así. Lo he pegado para ti. Puedes hacer lo mismo en tu puesto.
Gracias por la ayuda, he corregido mi post y espero que haya sido correcto.
 
borilunad:

Tengo una función para todas las modificaciones, como la fijación de SL y TP, la transferencia a B/S, la búsqueda de posiciones y órdenes con intentos y comprobaciones de errores.

Sólo tengo que prescribir la selección de posiciones, las condiciones y las advertencias en el inicio. Esta es la función:

void ModifyOrder(int ticket,double price,double stoploss,double takeprofit,datetime e,color arrow_color)
{
  int ModifyCnt = 0, err;
  while(ModifyCnt < 3)
  {
    if(OrderModify(ticket,NormalizeDouble(price,Digits),NormalizeDouble(stoploss,Digits),
    NormalizeDouble(takeprofit,Digits),0,arrow_color))
    ModifyCnt = 3;
    else err = GetLastError();
    if(err > 0)
    { 
      Print(ModifyCnt," #",ticket," Error modifing order: (", err , ") " , ErrorDescription(err));
      Sleep(5000); RefreshRates(); ModifyCnt++;
} } }

¡El pequeño!


Boris. ¿Por qué tienes la variable e aquí?
 
hoz:

Boris. ¿Por qué tienes la variable e aquí?
La variable e es la variable (para la orden, ver doc. OrderModify()), que debo especificar, si quiero usar arrow_color, una para bai y otra para vender, y puedo variar el color para orderModify()). Al fin y al cabo, el programa no entra en esos detalles de golpe, como hacemos nosotros, sino uno a uno, definiendo los parámetros por su lugar de presentación en la función estándar OrderModify().
 
borilunad:
La variable e es un vencimiento (para órdenes, ver Doc OrderModify()), que debo especificar si quiero usar arrow_color, para bai uno, y para vender otro, y para órdenes puedo diversificar el color). Al fin y al cabo, el programa no entra en esos detalles a la vez, como hacemos nosotros, sino uno a uno, definiendo los parámetros por su lugar de presentación en la función estándar OrderModify().

Puede ponerlo a 0(cero), ya que normalmente la caducidad no es necesaria. Pero probablemente lo tengas en caso de emergencia, para no tener que volver a este punto.
 
¿Pueden aconsejarnos: hay alguna función personalizada de libre acceso ya escrita que tome un array como entrada y lo exporte a excel?