[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 895

 
belck:

Te dije que no lo tomaras a mal. No estamos aquí para pelear. Tampoco me gusta que alguien se niegue a ayudar, es decir, que decida por mí, que necesito consejo o que necesito leer un libro. Como se suele decir: ¡instintivo!

Una vez más, chicos, por favor, no lo toméis de forma agresiva o mi petición sigue siendo una contradicción, si es así, entonces no lo escribiré más.

Nadie tiene derecho a prohibirte que escribas y preguntes... Pero es útil leer lo que mucha gente ha empezado aquí. Y nosotros también nos hacemos preguntas, pero, en mi opinión, muy diferentes...

No se le niega la ayuda, sino que se le ofrece una fuente de conocimiento. En qué no puede ayudarte el libro de SC???????????????

¿Qué es lo que no le ha gustado de las características de Igor Kim, que funcionan a pleno rendimiento? ??????????

Primero te di un enlace al hilo de Igor - tómalo o déjalo... Úsalo, insértalo en tu código. Puedes montar a partir de ellos, como de los ladrillos, YUMO diferentes Asesores Expertos totalmente operativos...

¿Qué has empezado a hacer con ellos?

Tu siguiente post fue una construcción completamente incomprensible... ...Código apilado, en el que iniit y start y deinit y todas las funciones estaban prácticamente escritas en una línea...

Te sugerí que te familiarizaras con la programación modular, te di un enlace a un tutorial...

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Usted me pidió en respuesta a publicar este tutorial aquí (!) en este hilo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

WHY????????????????????

Tienes ante ti una gran variedad de tutoriales diferentes...

Pero, según usted, todo el mundo debería dejar urgentemente lo que está haciendo y ponerse en la cola para recibir una respuesta a su pregunta. Y la respuesta está, de hecho, delante de tus ojos

 

Gracias.

 
artmedia70:

Nadie tiene derecho a prohibirte que escribas y preguntes... Pero vale la pena leer lo que muchos de ustedes empezaron. Y nosotros también nos hacemos preguntas, pero, en mi opinión, muy diferentes...

No se le niega la ayuda, sino que se le ofrece una fuente de conocimiento. ¿Por qué el libro de SC no puede ayudarte? ??????????????? La respuesta es ¡¡¡Ayuda!!!

¿Qué es lo que no le ha gustado de las funciones de Igor Kim, que funcionan a pleno rendimiento? ?????????? La respuesta es que se necesita mucho tiempo para reunirlos y revisarlos todos.

Primero te di un enlace al hilo de Igor - tómalo o déjalo... Úsalo, pégalo en tu código. Usted puede ensamblar de ellos, como de los ladrillos, UYMU de varios Asesores Expertos totalmente de trabajo...

¿Qué has empezado a hacer con ellos?

Su siguiente puesto fue un diseño completamente incomprensible, ... Código apilado, donde iniit y start y deinit y todas las funciones estaban prácticamente escritas en una línea...

Te sugerí que te familiarizaras con la programación modular y te di un enlace a un tutorial... La respuesta - Lo he leído y no lo he entendido del todo

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Su respuesta fue pedirme que publicara este tutorial aquí (¡!) en este hilo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

WHY???????????????????? ¿Por qué lo crees?

Tienes ante ti una gran cantidad de tutoriales diferentes... La respuesta es suya.

Pero, en su opinión, todo el mundo debería abandonar urgentemente sus casos y ponerse a la cola para obtener una respuesta a su pregunta. La respuesta - todo según usted Y la respuesta, de hecho, está en usted la respuesta - de nuevo, delante de sus ojos

 
artmedia70:

Se selecciona una posición de la entrada. Pero no se comprueba DÓNDE está exactamente. La posición puede ser en las ya cerradas:

bool OrderSelect( int index, int select, int pool=MODE_TRADES)

Esta función selecciona una orden para su posterior manipulación. Devuelve TRUE si la función se completa con éxito. Devuelve FALSE si la función falla. Llame a la función GetLastError() para obtener información sobre el error.

El parámetro pool se ignora si la orden se selecciona por el número de ticket. El número de billete es el identificador único del pedido. Para determinar de qué lista se selecciona una orden, hay que analizar su hora de cierre. Si la hora de cierre de la orden es 0, entonces la orden está abierta o pendiente y se toma de la lista de posiciones abiertas del terminal. Una posición abierta puede distinguirse de una orden pendiente por su tipo. Si la hora de cierre no es igual a 0, entonces la orden está cerrada o pendiente y ha sido seleccionada del historial del terminal. La distinción entre una orden cerrada y una orden pendiente eliminada también puede hacerse por tipo de orden.

¡¡¡¡¡El error 4051 informa de una función no válida !!!!!

int total=Total de pedidos();
int n=0;
for (int i=total-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS))
{
if(OrderSymbol()==Symbol())
n++;
}
}
si (total == 1)
{
for (int k=total-1; k>=0; k--)
{
if(OrderSelect(k,SELECT_BY_POS, MODE_TRADES))
{
//Alert("el pedido es ", k);
if ((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OrderStopLoss()==0))
{
OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
Alert("error ", GetLastError());
}
}
}
}}

return(0);


Me pondré gris y moriré pronto si no resuelvo este asunto

 
VOLDEMAR:

¡¡¡¡¡El error 4051 se escribe con una función no válida !!!!!

int total=Total de pedidos();
int n=0;
for (int i=total-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS))
{
if(OrderSymbol()==Symbol())
n++;
}
}
si (total == 1)
{
for (int k=total-1; k>=0; k--)
{
if(OrderSelect(k,SELECT_BY_POS, MODE_TRADES))
{
//Alert("el pedido es ", k);
if ((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OrderStopLoss()==0))
{
OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
Alert("error ", GetLastError());
}
}
}
}}

return(0);


Me pondré gris y moriré pronto si no resuelvo este asunto




ERR_INVALID_FUNCTION_PARAMVALUE 4051 Valor del parámetro de la función no válido
 
artmedia70:

Tendrás mucho de eso :)

Muchas gracias, no adiviné a buscar entre las constantes.

 
VOLDEMAR:

¡¡¡¡¡error 4051 función incorrecta !!!!!

por qué

si (total == 1)
{
for (int k=total-1; k>=0; k--)
{

????

No veo ninguna lógica - el ciclo dentro de la condición no siempre funcionará

 
VOLDEMAR:

¡¡¡¡¡error 4051 función incorrecta !!!!!

int total=OrdersTotal();
int n=0;
for (int i=total-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS))
{
if(OrderSymbol()==Symbol())
n++;
}
}
if(total == 1)
{
for(int k=total-1; k>=0; k--)
{
if(OrderSelect(k,SELECT_BY_POS, MODE_TRADES))
{
//Alert("order exists ", k);
if ((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OrderStopLoss()==0))
{
OrderModify(k,OrderOpenPrice(),slb,tpb,0,Blue);
Alert("error ", GetLastError());
}
}
}
}

return(0);


Voy a encanecer y morir si no resuelvo este problema.



Tiene el número de posición en la variable k, y necesita pasar el TICKET de la orden en la función OrderModify() como su primer parámetro.

Antes de la modificación, tome el ticket de la posición, por ejemplo, int ticket = OrderTicket(); y pase ticket en lugar de k

Algo así en alguna parte. Lo escribí de rodillas, no comprobé nada - sólo una idea... Ni siquiera se metió en su código.

int i, k, n=0, ticket=0, total=OrdersTotal();
for(i=total-1; i>=0; i--)
   {
      if(OrderSelect(i, SELECT_BY_POS))
         {
            if(OrderSymbol()==Symbol())
            n++;
         }
   }
if (total == 1)
   {
      for (k=total-1; k>=0; k--)
         {
            if(OrderSelect(k,SELECT_BY_POS, MODE_TRADES))
               {
                  Alert("ордер есть ", k);
                  if (OrderType()==OP_BUY && OrderTakeProfit()==0 && OrderStopLoss()==0)
                     {
                        ticket = OrderTicket();
                        OrderModify(ticket,OrderOpenPrice(),slb,tpb,0,Blue);
                        Alert("ошибка ", GetLastError());
                     }
               }
         }
   }

return(0);
 
IgorM:

por qué

if (total == 1)
{
for (int k=total-1; k>=0; k--)
{

????

No veo ninguna lógica en ello - el bucle dentro de la condición no siempre se mantendrá.

Igor, el significado no está claro aquí...

Si el número total de pedidos es uno (total==1), el bucle de cero (total-1) a cero k>=0

¿Entiendes algo? ????? Yo también... :))

 

Hola.

Aquí hay una pregunta. Quiero tomar una ganancia como esta:

double TakeProfit =  ((LineIndicator - Ask)/2); // но мне нужно указать, что если эта цифра меньше допустимого значение, то выставляется автоматом минимальное допустимое 
значение, а это 10 пунктов.

Ese fue el primer punto, pero ahora hay otro:

La línea del indicador cambia su posición después de un cierto período de tiempo. ¿Cómo puedo asegurarme de que el take profit no cambie, sino que permanezca igual que cuando lo abrí?