Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 967 1...960961962963964965966967968969970971972973974...1503 Nuevo comentario ilvic 2018.12.21 12:12 #9661 ¿Cómo puedo acertar el precio de apertura de una barra y si no consigo el precio de apertura salir? Esbozó algunas opciones. ¿Pero tal vez haya un código mejor y más correcto? if(iOpen(Symbol(),Period(),0)==0) { return; } { if(iOpen(Symbol(),Period(),0)!=0) { double open=iOpen(Symbol(),Period(),0); } } if(iOpen(Symbol(),Period(),0)==0.0) { return; } { if(iOpen(Symbol(),Period(),0)!=0.0) { double open=iOpen(Symbol(),Period(),0); } } if(iOpen(Symbol(),Period(),0)==0 && iOpen(Symbol(),Period(),0)==0.0) { return; } { if(iOpen(Symbol(),Period(),0)!=0 && iOpen(Symbol(),Period(),0)!=0.0) { double open=iOpen(Symbol(),Period(),0); } } Vladimir Karputov 2018.12.21 12:23 #9662 ilvic: ¿Cómo puedo acertar el precio de apertura de una barra y si no consigo el precio de apertura salir? Esbozó algunas opciones. ¿Pero tal vez haya un código mejor y más correcto? Las funciones iXXXX sólo tienen sentido si se ejecuta una solicitud única, sin bucles y sin llamar a otras funciones iXXXX. Si sólo necesita obtener el precio de apertura una vez, consultela ayudade iOpen: Valor de retorno*** 0 en caso de error. Así que hay que consultar el precio y comprobar si es cero: si no es cero entonces el precio se recibe, si es cero entonces es un error. double open=iOpen(Symbol(),Period(),0); if(open==0.0) retutn; Zero Divide (Encontrado el [¡AVISO CERRADO!] Cualquier pregunta Cualquier pregunta de los xxz 2018.12.21 12:30 #9663 ¿Pueden decirme cómo insertar el parámetro 9 con una cuadrícula (#CL) para que el compilador no genere un error?enum Symboll_ { AUDUSD=0, NZDUSD=1, USDCAD=2, USDCHF=3, USDJPY=4, EURJPY=5, EURUSD=6, GBPUSD=7, #CL =8 }; ilvic 2018.12.21 12:30 #9664 Vladimir Karputov: Las funciones iXXXX sólo tienen sentido si se ejecuta una solicitud única, sin ciclos y sin llamar a otras funciones iXXXX. Si sólo necesita obtener el precio de apertura una vez, consulte la ayuda deiOpen: Valor de retorno*** 0 en caso de error. Así que hay que consultar el precio y comprobar que es cero: si no es cero, el precio se recibe, si es cero, es un error. Gracias. Una pregunta más. ¿Debemos usar paréntesis en este código o no hay diferencia? double open=iOpen(Symbol(),Period(),0); if(open==0.0) { return; } Vladimir Karputov 2018.12.21 12:33 #9665 xxz: ¿Pueden decirme cómo insertar el parámetro 9 con una cuadrícula (#CL) para que el compilador no genere un error?Así: enum MySymbol { symbol_0=0,// AUDUSD symbol_1=1,// NZDUSD symbol_2=2,// USDCAD symbol_3=3,// USDCHF symbol_4=4,// USDJPY symbol_5=5,// EURJPY symbol_6=6,// EURUSD symbol_7=7,// GBPUSD symbol_8=8,// #CL }; Konstantin Nikitin 2018.12.21 12:39 #9666 ilvic: Gracias. Una pregunta más. ¿Deben utilizarse paréntesis en este código o no hay ninguna diferencia? double open=iOpen(Symbol(),Period(),0); if(open==0.0) return;Lo hará. En general, los corchetes están destinados a un grupo de acciones. Si sólo hay una acción, no sirven de nada. int n; double y; if(бла-бла-бла) n = бла-бла; else { n = бла-бла; y = бла; ) xxz 2018.12.21 12:39 #9667 Vladimir Karputov: Ahí lo tienes: ¡Muchas gracias! Porque lo intenté así y no funcionó: enum Symboll_ { SIM_0, //AUDUSD SIM_1, //NZDUSD SIM_2, //USDCAD SIM_3, //USDCHF SIM_4, //USDJPY SIM_5, //EURJPY SIM_6, //EURUSD SIM_7 //#CL }; Vladimir Karputov 2018.12.21 12:40 #9668 xxz: ¡Muchas gracias! Porque lo intenté así y no funcionó: O así: enum MySymbol { symbol_0=0,// AUDUSD symbol_1=1,// NZDUSD symbol_2=2,// USDCAD symbol_3=3,// USDCHF symbol_4=4,// USDJPY symbol_5=5,// EURJPY symbol_6=6,// EURUSD symbol_7=7,// GBPUSD symbol_8=8,// #CL }; string my_symbol[9]= { "AUDUSD", "NZDUSD", "USDCAD", "USDCHF", "USDJPY", "EURJPY", "EURUSD", "GBPUSD", "#CL" }; xxz 2018.12.21 12:51 #9669 Vladimir Karputov: o esto: ¡Eso es! En esas variantes salía sólo un número de serie oSIM_1,...etc. [Eliminado] 2018.12.21 14:28 #9670 Al probar un EA multidivisa, hay un problema con el tamaño del lote. Tengo un fijo de 0,03, pero durante la prueba las órdenes aparecen con el volumen de 0,1. Inmediatamente aparece un fallo en el gráfico. ¿Soy yo? [ARCHIVO]Cualquier pregunta de novato, Errores, fallos, preguntas Teoría del mercado 1...960961962963964965966967968969970971972973974...1503 Nuevo comentario
¿Cómo puedo acertar el precio de apertura de una barra y si no consigo el precio de apertura salir?
Esbozó algunas opciones. ¿Pero tal vez haya un código mejor y más correcto?
¿Cómo puedo acertar el precio de apertura de una barra y si no consigo el precio de apertura salir?
Esbozó algunas opciones. ¿Pero tal vez haya un código mejor y más correcto?
Las funciones iXXXX sólo tienen sentido si se ejecuta una solicitud única, sin bucles y sin llamar a otras funciones iXXXX.
Si sólo necesita obtener el precio de apertura una vez, consultela ayudade iOpen:
Valor de retorno
*** 0 en caso de error.
Así que hay que consultar el precio y comprobar si es cero: si no es cero entonces el precio se recibe, si es cero entonces es un error.
enum Symboll_ { AUDUSD=0, NZDUSD=1, USDCAD=2, USDCHF=3, USDJPY=4, EURJPY=5, EURUSD=6, GBPUSD=7, #CL =8 };Las funciones iXXXX sólo tienen sentido si se ejecuta una solicitud única, sin ciclos y sin llamar a otras funciones iXXXX.
Si sólo necesita obtener el precio de apertura una vez, consulte la ayuda deiOpen:
Valor de retorno
*** 0 en caso de error.
Así que hay que consultar el precio y comprobar que es cero: si no es cero, el precio se recibe, si es cero, es un error.
Gracias. Una pregunta más. ¿Debemos usar paréntesis en este código o no hay diferencia?
¿Pueden decirme cómo insertar el parámetro 9 con una cuadrícula (#CL) para que el compilador no genere un error?
Así:
Gracias. Una pregunta más. ¿Deben utilizarse paréntesis en este código o no hay ninguna diferencia?
Lo hará. En general, los corchetes están destinados a un grupo de acciones. Si sólo hay una acción, no sirven de nada.
Ahí lo tienes:
¡Muchas gracias!
Porque lo intenté así y no funcionó:
enum Symboll_ { SIM_0, //AUDUSD SIM_1, //NZDUSD SIM_2, //USDCAD SIM_3, //USDCHF SIM_4, //USDJPY SIM_5, //EURJPY SIM_6, //EURUSD SIM_7 //#CL };¡Muchas gracias!
Porque lo intenté así y no funcionó:
O así:
o esto:
¡Eso es!
En esas variantes salía sólo un número de serie oSIM_1,...etc.