[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 197
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
Compañeros, ayuda por favor... He escrito un código sencillo, pero al compilar dice que los paréntesis están desequilibrados, pero ya los he contado 300 veces: todo está en su sitio
La idea es simple: si el MACD ha estado por encima (o por debajo) de 0 durante 7 minutos o menos, la posición se abre
Compruebe esta función
p.d. ¿cómo se dibuja un guión tan bien como lo haces tú?
Hay un botón SRC cuando escribes tu respuesta.
En cuanto a los paréntesis, tengo la costumbre de especificar a qué se refiere el paréntesis de cierre
}//para
}// (señal...
Y en cuanto a los paréntesis, tengo la costumbre de especificar a qué se refiere el cierre
}//para
}// (señal...
"para todos los gustos..." - pero debo admitir que este enfoque sobrecarga el código con información innecesaria + requiere tiempo para escribir líneas de código adicionales + no resuelve el problema de la anidación profunda (¿numeración de niveles?)
Estructurar mejor el código - como en el ejemplo anterior
Buenas tardes, podrían decirme cómo escribir una condición para que después de abrir una orden, la segunda no pueda abrirse en la misma vela. Escribo lo siguiente:
si (... && CountOrder<2 && (BarLast>1 || BarLast==-1))
{
OrderSend(Symbol(),OP_BUY,MinLot,Ask,0,VStopLossLong,0, "BUY: ",MagicL,0,Green);
}
donde
// contar el número de órdenes abiertas para un valor
int CountOrder=0;
for (int j=0; j<OrdersTotal(); j++)
if (OrderSelect(j,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol()) CountOrder++;
// Número de barra de la última posición cerrada o -1, si aún no se ha abierto
int BarLast=BarLastClosePose();
и
// Número de barra de la última posición cerrada
int BarLastClosePose()
{
datetime t;
int i;
for (i=0; i<OrdersHistoryTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
{
//if (OrderMagicNumber()!=Magic) continue;
if (OrderSymbol()!=Symbol()) continue;
if (OrderType()>1) continue;
if (t<OrderCloseTime()) t=OrderCloseTime();
}
}
return (iBarShift(Symbol(),Period(),t,true));
}
Compruebe esta función
Vinin, verificado, todo está bien en esta función... return(0) se refiere a la función de inicio, y si no se cuentan los paréntesis adjuntos a return'y, se obtienen 14 paréntesis... 7 en cada sentido
Vinin, verificado, todo está bien en esta función... return(0) se refiere a la función de inicio, y si no se cuentan los paréntesis que se adjuntan a return'y, se obtienen 14 paréntesis... 7 en cada sentido.
Copiar cada función en un archivo separado y verificar la compilación ayuda.
Si los paréntesis son correctos, entonces indique dónde termina el inicio y comienza la señal del MACD.
Copiar cada función en un archivo separado y verificar la compilación ayuda.
Si los corchetes son correctos, indique dónde termina el inicio y comienza la señal del MACD.
hmm... int signal_MACD() es efectivamente una función... ¿pero por qué tiene que estar detrás de la función de inicio? sinceramente no entiendo por qué algunas funciones se escriben fuera del inicio y otras dentro... ¿cuál es la diferencia?