Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 486
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Si tomas tu número 108, obtendrás como máximo 151 a la potencia de 151 - 108^151=1,11426138071861e+307
108^152=1,20340229117609e+309 es demasiado para la programación de la ACM, por no hablar de 108^4096
¿Qué tipo de cálculos requerirían esa escala?
Estoy tratando de sintetizar el análisis del movimiento de los precios y la gestión de la atención nlp, y mi cerebro está en piloto automático :)
He empezado a aprender MQL4 y no puedo entender cómo se selecciona una orden
del tutorial:
for(int i=1; i<=TotalPedidos(); i++) // Bucle de pedidos
{
if (OrderSelect(i-1,SELECT_BY_POS)==true) // Si
{
si (OrderSymbol()!= Symb) continuar;
Lo que entiendo es: Para i=1 mientras i<= Número de Pedidos
Si la orden seleccionada en la posición i-1 (es decir, la orden #0) existe
Compárelo con el símbolo
Entonces añade 1(i++) a i y comienza una nueva iteración
No entiendo el comentario // Si hay una orden siguiente (¿qué quiere decir: siguiente por posición o esta orden que se está seleccionando actualmente?)
Por favor, explíquelo en ruso.
Si hay un orden, es decir, existe bajo el número y-1, entonces pasa a la siguiente condición.
Siempre encontrará una orden con el número cero (que es i-1). Qué método más descabellado para determinar el "siguiente" pedido, realmente engañoso...
Siempre encontrará una orden con número cero (que es i-1). Este es un método salvaje para determinar el "siguiente" orden, que es realmente engañoso...
Si no hay pedidos entonces con este diseño:
no pasará a la siguiente condición.
porque no hay orden y-1 (en nuestro caso =0)
Por supuesto, no es conveniente escribirlo así y no está claro por qué debería ser así,
y no, por ejemplo, de esta manera:
Hola señores programadores, tengo una duda, no consigo aprender una parte del código para cerrar el porcentaje del saldo de la cuenta. no cierra el porcentaje sino todo a la vez y todas las órdenes que están en el mercado. necesito que se cierre una orden concreta y el porcentaje calculado del saldo del depósito.aconsejarme ¿qué hago mal?
extern double Porcentaje = 2.0;
extern int Deslizamiento = 2;
double stop;
void OnStart()
{
if (Dígitos == 3 || Dígitos == 5)
{
Deslizamiento *= 10;
}
for(int i = OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol())
{
if (OrderType() == OP_BUY | OrderType() == OP_SELL)
{
if(stop==AccountBalance()/100*Percent)
stop=AccountBalance()/100*Percent;
if(stop<=AccountBalance())
{
OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Aqua);
OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Aqua);
}//si(ostop<=AccountBalance())
}////(ostop==AccountBalance()/100*Percent)
}//// (OrderSymbol() == Symbol() )
}// (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
}//// for(int = OrdersTotal()-1; i>=0; i--)
return;
}////void OnStart()
//+-----------------------------------------------------------------
¿Cómo es eso?
y esto:
nunca se cumplirá.
por lo tanto:
siempre funcionará con cada pedido.
CONCLUSIÓN: todo está mal.
Su función necesita ser pensada, no tengo una respuesta rápida.
Pero al menos es así para empezar:
Si no hay órdenes en dicha construcción:
no pasará a la siguiente condición.
porque no hay orden y-1 (en nuestro caso =0)
Por supuesto, no es conveniente escribirlo así y no está claro por qué debería ser así,
y no, por ejemplo, así:
Cuando lo estaba leyendo, también pensé que por qué no poner i=0, parece más sencillo y claro.
Aquí está el código completo del script, tal vez haya una buena razón por la que el autor puso i=1 en lugar de i=0. Simplemente no sé lo suficiente sobre esto y puede que simplemente no lo vea, mientras que necesito entender el mecanismo de funcionamiento para no plantear preguntas más adelante