Dado que tu Ask2 y Bid2 son 0, ¿por qué no añadir esta línea después de uno de ellos?
¿Y ver si hay alguna información útil?
He añadido esta línea que mencionas a mi función de inicio justo después de definir Ask2,Bid2 cuando he desactivado la línea de abajo para dejar que las velas comiencen y el gráfico continúe
El error fue 4106 que significa "Símbolo desconocido".
Entonces desactivé la línea de abajo también:
download_history(SecondPair,PERIOD_H4);
Y obtuve el error 4066 al principio (Datos históricos solicitados en estado de actualización.) Luego se convirtió en 4106 para el resto del backtesting.
HosseinKOGO: He añadido esta línea que mencionas a mi función de inicio justo después de definir Ask2,Bid2 cuando he desactivado la línea de abajo para dejar que las velas comiencen y el gráfico continúe
El error fue 4106 que significa "Símbolo desconocido".
Entonces deshabilité la línea de abajo también:
Y obtuve el error 4066 al principio (Datos históricos solicitados en estado de actualización.) Luego se convirtió en 4106 para el resto del backtesting.
Sospecho que el nombre de su símbolo no es sólo "GBPUSD"... podría tener caracteres extra en alguna parte... ¿ha probado esto
Print("Symbol Name = ", Symbol());
antes de verificar que el nombre del símbolo es sólo seis letras mayúsculas?
Sospecho que el nombre de tu símbolo no es sólo "GBPUSD"... puede tener caracteres extra en alguna parte... ¿has probado esto
antes de verificar que el nombre del símbolo es sólo seis letras mayúsculas?
Mi función symbol() muestra "GBPAUD" desde que lo puse en el gráfico GBPAUD. A pesar de que estoy utilizando la cuenta de demostración normal para backtesting, Exactamente 6 letras mayúsculas. Sin embargo he probado esto que sugieres y obtuve el resultado esperado.
También tengo una advertencia cuando compilo el código: "Conversión implícita de enum" que está ahí y que he resaltado a continuación. ¿Qué significa eso exactamente?
#define HR2400 PERIOD_D1 * 60// 86400 = 24 * 3600int TimeOfDay(datetime when=0){ if(when == 0) when = TimeCurrent();
return( int(when % HR2400 )); }
datetime DateOfDay(datetime when=0){ if(when == 0) when = TimeCurrent();
return( when - TimeOfDay(when) ); }
#define SYMBOL string#define THIS_SYMBOL ""bool download_history(ENUM_TIMEFRAMES period=PERIOD_CURRENT){
return download_history(_Symbol, period);
}
bool download_history(
SYMBOL symbol=THIS_SYMBOL, ///< The symbol required.ENUM_TIMEFRAMES period=PERIOD_CURRENT/**< The standard timeframe.*/){
if(symbol == THIS_SYMBOL) symbol = _Symbol;
if(period == PERIOD_CURRENT) period = _Period;
datetime today = DateOfDay();
ResetLastError();
datetime other = iTime(symbol, period, 0);
if(_LastError == 0
&& today == DateOfDay(other)) returntrue;
if(_LastError != ERR_HISTORY_WILL_UPDATED
&& _LastError != ERR_NO_HISTORY_DATA
) Print(StringFormat("iTime(%s,%i) Failed: %i", symbol, period,_LastError));
returnfalse;
}
Y me di cuenta de que Ask2 y Bid2 serán cero para los símbolos que no están en mi vigilancia del mercado... pero una vez que los incluyo en mi vigilancia del mercado, puedo obtener su oferta y demanda. No hay necesidad de preocuparse por los datos del historial.
Creo que he encontrado la razón por la que se obtienen ceros... Puse estas líneas en un script y lo ejecuté en mi MT4:
Y me di cuenta de que Ask2 y Bid2 serán cero para los símbolos que no están en mi vigilancia del mercado... pero una vez que los incluyo en mi vigilancia del mercado, puedo obtener su oferta y demanda. No hay necesidad de preocuparse por los datos del historial.
Tengo esos símbolos en mi ventana de observación del mercado, en la esquina superior izquierda de mi MT4. Pero si te refieres a que debo incluirlos en mi código, ¿Cómo los incluiste por código? (Si entendí mal por favor acláreme ya que no soy tan profesional :D)
Tengo esos símbolos en mi ventana de market watch, en la esquina superior izquierda de mi MT4. Pero si te refieres a que debo incluirlos en mi código, ¿Cómo los incluiste por código? (Si entendí mal por favor acláreme ya que no soy tan profesional :D)
Por código no.
Como ya están en tu ventana de vigilancia del mercado, la cosa se pone más rara.
¿De qué broker te has descargado el mt4? Quiero instalarlo para probar.
De hecho no soy codificador de todos modos he tenido un ir en la codificación de algunos EAs. Mi actividad se asocia con la inventiva y el sistema por lo que conceptualizado 600-700 pensamientos para hacer EAs y construido hasta ahora. Simplemente puedo codificar EAs simples y no estoy acostumbrado a su codificación de estado anormal...
He puesto esos códigos en mi EA sin embargo, devuelve sólo este error: 2019.05.06 15:37:56.586 2018.01.02 00:00:07 ¡MyEA! GBPAUD,H4: iTime(GBPUSD,240) Fallo: 0
Estoy intentando GBPAUD como mi diagrama abierto y GBPUSD como mi segundo par.
¿Cuál es el problema?
Dado que tu Ask2 y Bid2 son 0, ¿por qué no añadir esta línea después de uno de ellos?
¿Y ver si hay alguna información útil?
¿Llamaste a download_history para tu "segundo par", segundo TF?
¿Llamaste a download_history para tu "segundo par", segundo TF?
Y aquí está mi función de inicio :
en el que pongo GBPUSD como entrada SecondPair y hago este backtest en el gráfico GBPAUD.
Dado que tu Ask2 y Bid2 son 0, ¿por qué no añadir esta línea después de uno de ellos?
¿Y ver si hay alguna información útil?
El error fue 4106 que significa "Símbolo desconocido".
Entonces desactivé la línea de abajo también:
download_history(SecondPair,PERIOD_H4);Y obtuve el error 4066 al principio (Datos históricos solicitados en estado de actualización.) Luego se convirtió en 4106 para el resto del backtesting.He añadido esta línea que mencionas a mi función de inicio justo después de definir Ask2,Bid2 cuando he desactivado la línea de abajo para dejar que las velas comiencen y el gráfico continúe
El error fue 4106 que significa "Símbolo desconocido".
Entonces deshabilité la línea de abajo también:
Y obtuve el error 4066 al principio (Datos históricos solicitados en estado de actualización.) Luego se convirtió en 4106 para el resto del backtesting.Sospecho que el nombre de su símbolo no es sólo "GBPUSD"... podría tener caracteres extra en alguna parte... ¿ha probado esto
antes de verificar que el nombre del símbolo es sólo seis letras mayúsculas?
Sospecho que el nombre de tu símbolo no es sólo "GBPUSD"... puede tener caracteres extra en alguna parte... ¿has probado esto
antes de verificar que el nombre del símbolo es sólo seis letras mayúsculas?
Mi función symbol() muestra "GBPAUD" desde que lo puse en el gráfico GBPAUD.
A pesar de que estoy utilizando la cuenta de demostración normal para backtesting, Exactamente 6 letras mayúsculas. Sin embargo he probado esto que sugieres y obtuve el resultado esperado.
También tengo una advertencia cuando compilo el código: "Conversión implícita de enum" que está ahí y que he resaltado a continuación. ¿Qué significa eso exactamente?
Creo que he encontrado la razón por la que se obtienen ceros... Puse estas líneas en un script y lo ejecuté en mi MT4:
Y me di cuenta de que Ask2 y Bid2 serán cero para los símbolos que no están en mi vigilancia del mercado... pero una vez que los incluyo en mi vigilancia del mercado, puedo obtener su oferta y demanda. No hay necesidad de preocuparse por los datos del historial.
Creo que he encontrado la razón por la que se obtienen ceros... Puse estas líneas en un script y lo ejecuté en mi MT4:
Y me di cuenta de que Ask2 y Bid2 serán cero para los símbolos que no están en mi vigilancia del mercado... pero una vez que los incluyo en mi vigilancia del mercado, puedo obtener su oferta y demanda. No hay necesidad de preocuparse por los datos del historial.
Tengo esos símbolos en mi ventana de observación del mercado, en la esquina superior izquierda de mi MT4.
Pero si te refieres a que debo incluirlos en mi código, ¿Cómo los incluiste por código? (Si entendí mal por favor acláreme ya que no soy tan profesional :D)
Tengo esos símbolos en mi ventana de market watch, en la esquina superior izquierda de mi MT4.
Pero si te refieres a que debo incluirlos en mi código, ¿Cómo los incluiste por código? (Si entendí mal por favor acláreme ya que no soy tan profesional :D)