¿qué es mejor hacer en el indicador, para iniciar un temporizador 1s o en OnCalculate para comparar el tiempo (segundos)
no es importante dónde hacerlo, lo único que OnCalculate está relacionado con los ticks - no habrá ningún tick y por lo tanto no habrá ninguna llamada OnCalculate
¿Cómo puedo comparar el símbolo del gráfico actual con el que necesito?
case1 : // кейс для открытия Buy по AUD/USDif(Symbol() == (как обозначить нужный символ для сравнения?)) // если символ текущего графика AUD/USD открываем сделку
{
RefreshRates();
Open_Order = OrderSend("AUDUSD",OP_BUY,Lot(),Ask,0,0,0); // Открытие ордера//----------------------------------------------------------------------------------------------------
В тоже время советник запущен на другом графике и пытается произвести открытие ордера, цены не совпадают и соответственно вылетает ошибка - неверные цены
case2 : // кейс для открытия Bay по GBP/USD if(Symbol() == (как обозначить нужный символ для сравнения?))
// если символ текущего графика не AUDUSD то выходим
{
RefreshRates();
Open_Order = OrderSend("GBPUSD",OP_SELL,Lot(),Bid,0,0,0); // Открытие ордера
Т.е. надо ему дать понять, что тот или иной кейс принадлежит тому или другому графику, но чтот я пока не придумал как
Necesito que el programa abra una orden en AUD/USD, así que abre la orden (funciona correctamente). Sin embargo, el programa intenta abrir la orden en otros gráficos abiertos(el robot está funcionando en varios pares de divisas) y devuelve un error de precio para los otros pares de divisas en los que se está ejecutando el Asesor Experto. Tengo que hacer una comparación y si Symbol() == es igual al símbolo sobre el que se debe abrir la orden, entonces la abrimos y si no, salimos. No he encontrado en ningún sitio cómo poner el nombre del símbolo desde el terminal y hacer la comparación.
¿Cómo puedo comparar el símbolo del gráfico actual con el que necesito?
Necesito que el programa abra una orden en AUD/USD, así que abre la orden (funciona correctamente). Sin embargo, el programa intenta abrir la orden en otros gráficos abiertos(el robot está funcionando en varios pares de divisas) y devuelve un error de precio para los otros pares de divisas en los que se está ejecutando el Asesor Experto. Tengo que hacer una comparación y si Symbol() == es igual al símbolo sobre el que se debe abrir la orden, entonces la abrimos y si no, salimos. No he encontrado en ningún sitio cómo poner el nombre del símbolo desde el terminal y hacer la comparación.
Al final hay un ejemplo de cómo conseguir los precios correctos.
2. Возвращает true или false в зависимости от успешности выполнения функции. В случае успеха значение свойства помещается в приемную переменную, передаваемую по ссылке последним параметром. Если функция используется для получения информации о последнем тике, то лучше использовать SymbolInfoTick(). Вполне возможно, что по данному символу с...
Gracias, pero no necesito los precios correctos. Los precios están bien. Necesito que el EA no abra una orden si el par de divisas en el que se abre la orden no es el mismo que el gráfico abierto actual al que está unido el robot. Tal vez podamos implementar esto abriendo un nuevo gráfico con un marco de tiempo, abrir una orden deseada en él y luego cerrar el gráfico.
Mi programa accede al gráfico actual, le asigna el nombre del instrumento actual y lo sella en una variable, luego compara el valor de esta variable con el símbolo actual del gráfico. En realidad lo compara consigo mismo)))) Necesito convertir de alguna manera Sympol() a cualquier valor con el que se pueda comparar cualquier otra variable. Por ejemplo:
Mi programa accede al gráfico actual, le asigna el nombre del instrumento actual y lo sella en una variable, luego compara el valor de esta variable con el símbolo actual del gráfico. En realidad lo compara consigo mismo)))) Necesito convertir de alguna manera Sympol() a cualquier valor con el que se pueda comparar cualquier otra variable. Por ejemplo:
AUDUSD;
(Símbolo() == AUDUSD)
Lo he conseguido de alguna manera, hasta que he sido feliz y he cambiado todo correctamente - nada funciona))
Mi programa accede al gráfico actual, le asigna el nombre del instrumento actual y lo sella en una variable, luego compara el valor de esta variable con el símbolo actual del gráfico. En realidad lo compara consigo mismo)))) Necesito convertir de alguna manera Sympol() a cualquier valor con el que se pueda comparar cualquier otra variable. Por ejemplo:
AUDUSD;
(Símbolo() == AUDUSD)
Lo hice de alguna manera, y mientras me alegraba y cambiaba todo, ya no funcionaba nada))
El Asesor Experto, el script, el indicador no se aplican, sino que trabajan en la ventana actual. Y las variables globales de diferentes ventanas / gráficos no se superponen. Por lo tanto, debería funcionar)
string AUDUSD; // Esta es una variable de texto, que inicialmente está vacía, es decir, es igual a ""
(Symbol() == AUDUSD) // esta cadena no tiene nada que ver con la variable AUDUSD.
Symbol
Возвращает имя символа текущего графика.
stringSymbol();
Возвращаемое значение
Значение системной переменной _Symbol, в которой хранится имя символа текущего графика.
Pero los criterios de apertura de la orden no deben ser los mismos para diferentes instrumentos/ventanas. Si son iguales, se abrirán efectivamente en todas las ventanas.
No tengo el menor deseo de buscar en Google o leer, así que abrí el archivo D:\1.txt
¿Cuál es la mejor manera de hacerlo en el indicador, para iniciar el temporizador 1s o en OnCalculate para comparar el tiempo (segundos)
<1seg, salir
¿o hay otras opciones de trabajo?
necesidad de actualizar HistorySelect para el mes + trabajar con objetos
o en OnCalculate comparar el tiempo (segundos)
<1seg, salida
El problema es con el datetime - no puede ser menos de un segundo.
comparar al menos milisegundos
¿qué es mejor hacer en el indicador, para iniciar un temporizador 1s o en OnCalculate para comparar el tiempo (segundos)
no es importante dónde hacerlo, lo único que OnCalculate está relacionado con los ticks - no habrá ningún tick y por lo tanto no habrá ninguna llamada OnCalculate
es necesario actualizar HistorySelect durante un mes + trabajar con objetos
HistorySelect es rápido, pero cuando vas a mover o crear objetos, puede haber retrasos, si los objetos superan los 1000 +
y usted estará modificando estos objetos cada segundo
(introduzca su código y aparecerán las trampas ))))
un segundo es suficiente para mí y menos a menudo hasta que la garrapata viene
para mostrar las operaciones en el gráfico + el resultado de la operación sobre las barras, y alguna información semiestática como la tendencia global
puede el precio ver el cambio de
o el tiempo de la segunda opción
Por favor, dímelo.
¿Cómo puedo comparar el símbolo del gráfico actual con el que necesito?
Necesito que el programa abra una orden en AUD/USD, así que abre la orden (funciona correctamente). Sin embargo, el programa intenta abrir la orden en otros gráficos abiertos(el robot está funcionando en varios pares de divisas) y devuelve un error de precio para los otros pares de divisas en los que se está ejecutando el Asesor Experto. Tengo que hacer una comparación y si Symbol() == es igual al símbolo sobre el que se debe abrir la orden, entonces la abrimos y si no, salimos. No he encontrado en ningún sitio cómo poner el nombre del símbolo desde el terminal y hacer la comparación.
Por favor, dímelo.
¿Cómo puedo comparar el símbolo del gráfico actual con el que necesito?
Necesito que el programa abra una orden en AUD/USD, así que abre la orden (funciona correctamente). Sin embargo, el programa intenta abrir la orden en otros gráficos abiertos(el robot está funcionando en varios pares de divisas) y devuelve un error de precio para los otros pares de divisas en los que se está ejecutando el Asesor Experto. Tengo que hacer una comparación y si Symbol() == es igual al símbolo sobre el que se debe abrir la orden, entonces la abrimos y si no, salimos. No he encontrado en ningún sitio cómo poner el nombre del símbolo desde el terminal y hacer la comparación.
Al final hay un ejemplo de cómo conseguir los precios correctos.
Gracias, pero no necesito los precios correctos. Los precios están bien. Necesito que el EA no abra una orden si el par de divisas en el que se abre la orden no es el mismo que el gráfico abierto actual al que está unido el robot. Tal vez podamos implementar esto abriendo un nuevo gráfico con un marco de tiempo, abrir una orden deseada en él y luego cerrar el gráfico.
No, no funciona así.
Mi programa accede al gráfico actual, le asigna el nombre del instrumento actual y lo sella en una variable, luego compara el valor de esta variable con el símbolo actual del gráfico. En realidad lo compara consigo mismo)))) Necesito convertir de alguna manera Sympol() a cualquier valor con el que se pueda comparar cualquier otra variable. Por ejemplo:
AUDUSD;
(Símbolo() == AUDUSD)
De alguna manera lo he conseguido - mientras me alegraba y cambiaba todo correctamente - ya no funciona nada))
No, no funciona así.
Mi programa accede al gráfico actual, le asigna el nombre del instrumento actual y lo sella en una variable, luego compara el valor de esta variable con el símbolo actual del gráfico. En realidad lo compara consigo mismo)))) Necesito convertir de alguna manera Sympol() a cualquier valor con el que se pueda comparar cualquier otra variable. Por ejemplo:
AUDUSD;
(Símbolo() == AUDUSD)
Lo he conseguido de alguna manera, hasta que he sido feliz y he cambiado todo correctamente - nada funciona))
cadena AUDUSD = "AUDUSD";
Al menos así.
No, no funciona así.
Mi programa accede al gráfico actual, le asigna el nombre del instrumento actual y lo sella en una variable, luego compara el valor de esta variable con el símbolo actual del gráfico. En realidad lo compara consigo mismo)))) Necesito convertir de alguna manera Sympol() a cualquier valor con el que se pueda comparar cualquier otra variable. Por ejemplo:
AUDUSD;
(Símbolo() == AUDUSD)
Lo hice de alguna manera, y mientras me alegraba y cambiaba todo, ya no funcionaba nada))
El Asesor Experto, el script, el indicador no se aplican, sino que trabajan en la ventana actual. Y las variables globales de diferentes ventanas / gráficos no se superponen. Por lo tanto, debería funcionar)
string AUDUSD; // Esta es una variable de texto, que inicialmente está vacía, es decir, es igual a ""
(Symbol() == AUDUSD) // esta cadena no tiene nada que ver con la variable AUDUSD.
Pero los criterios de apertura de la orden no deben ser los mismos para diferentes instrumentos/ventanas. Si son iguales, se abrirán efectivamente en todas las ventanas.