o que é melhor fazer no indicador, para iniciar um temporizador 1s ou no OnCalculate para comparar o tempo (segundos)
não é importante onde fazê-lo, a única coisa que a OnCalculate está relacionada a carrapatos - não haverá carrapato e, portanto, não haverá chamada OnCalculate
Como posso comparar o símbolo do gráfico atual com o que eu preciso?
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); // Открытие ордера
Т.е. надо ему дать понять, что тот или иной кейс принадлежит тому или другому графику, но чтот я пока не придумал как
Preciso que o programa abra uma ordem no AUD/USD, então ele abre a ordem (funciona corretamente). No entanto, o programa tenta abrir a ordem em outros gráficos abertos(o robô está rodando em vários pares de moedas) e retorna um erro de preço para os outros pares de moedas onde o Expert Advisor está rodando. Tenho que fazer uma comparação e se Symbol() == é igual ao símbolo no qual a ordem deve ser aberta, então a abrimos e se não, saímos. Não encontrei em nenhum lugar como definir o nome do símbolo a partir do terminal e fazer a comparação.
Como posso comparar o símbolo do gráfico atual com o que eu preciso?
Preciso que o programa abra uma ordem no AUD/USD, então ele abre a ordem (funciona corretamente). No entanto, o programa tenta abrir a ordem em outros gráficos abertos(o robô está rodando em vários pares de moedas) e retorna um erro de preço para os outros pares de moedas onde o Expert Advisor está rodando. Tenho que fazer uma comparação e se Symbol() == é igual ao símbolo no qual a ordem deve ser aberta, então a abrimos e se não, saímos. Não encontrei em nenhum lugar como definir o nome do símbolo do terminal e fazer comparações.
2. Возвращает true или false в зависимости от успешности выполнения функции. В случае успеха значение свойства помещается в приемную переменную, передаваемую по ссылке последним параметром. Если функция используется для получения информации о последнем тике, то лучше использовать SymbolInfoTick(). Вполне возможно, что по данному символу с...
Obrigado, mas eu não preciso dos preços certos. Os preços estão bem. Eu preciso que o EA não abra uma ordem se o par de moedas no qual a ordem é aberta não for o mesmo que o atual gráfico aberto ao qual o robô está anexado. Talvez possamos implementar isto abrindo um novo gráfico com um cronograma, abrir uma ordem desejada no mesmo e depois fechar o gráfico.
Meu programa acessa o gráfico atual, atribui a ele o nome do instrumento atual e o sela em uma variável, depois compara o valor desta variável com o símbolo atual no gráfico. Na verdade, ele o compara a si mesmo)))) Eu preciso de alguma forma converter Sympol() para qualquer valor com o qual qualquer outra variável possa ser comparada. Por exemplo:
Meu programa acessa o gráfico atual, atribui a ele o nome do instrumento atual e o sela em uma variável, depois compara o valor desta variável com o símbolo atual no gráfico. Na verdade, ele o compara a si mesmo)))) Eu preciso de alguma forma converter Sympol() para qualquer valor com o qual qualquer outra variável possa ser comparada. Por exemplo:
AUDUSD;
(Símbolo() == AUDUSD)
Eu consegui de alguma forma, até ficar feliz e mudar tudo corretamente - nada funciona))
Meu programa acessa o gráfico atual, atribui a ele o nome do instrumento atual e o sela em uma variável, depois compara o valor desta variável com o símbolo atual no gráfico. Na verdade, ele o compara a si mesmo)))) Eu preciso de alguma forma converter Sympol() para qualquer valor com o qual qualquer outra variável possa ser comparada. Por exemplo:
AUDUSD;
(Símbolo() == AUDUSD)
Eu consegui fazer isso de alguma forma, e enquanto eu estava me regozijando e mudando tudo corretamente - nada mais funcionou))
O Expert Advisor, o roteiro, o indicador não se aplicam, mas trabalham na janela atual. E as variáveis globais de diferentes janelas / gráficos não se sobrepõem. Portanto, deve funcionar)
Esta é uma variável de texto, que inicialmente está vazia, ou seja, é igual a "".
(Symbol() == AUDUSD) // esta string não tem nada a ver com a variável AUDUSD.
Symbol
Возвращает имя символа текущего графика.
stringSymbol();
Возвращаемое значение
Значение системной переменной _Symbol, в которой хранится имя символа текущего графика.
Mas o critério de abertura do pedido não deve ser o mesmo para instrumentos/janelas diferentes. Se eles forem os mesmos, eles realmente se abrirão em todas as janelas.
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Eu não tenho o menor desejo de pesquisar ou ler, então abri o arquivo D:\1.txt
Qual é a melhor maneira de fazer no indicador, iniciar um timer de 1s ou comparar tempos (segundos) na OnCalculate
<1sec, saída
ou existem outras opções de trabalho?
necessidade de atualizar o HistorySelect para o mês + trabalho com objetos
ou em OnCalculate compare time (segundos)
<1sec, saída
O problema é com a data - não pode ser menos de um segundo.
comparar pelo menos milissegundos
o que é melhor fazer no indicador, para iniciar um temporizador 1s ou no OnCalculate para comparar o tempo (segundos)
não é importante onde fazê-lo, a única coisa que a OnCalculate está relacionada a carrapatos - não haverá carrapato e, portanto, não haverá chamada OnCalculate
você precisa atualizar o HistorySelect por um mês + trabalhar com objetos
HistóriaSelect é rápido, mas quando você vai para mover ou criar objetos, pode haver atrasos, se objetos acima de 1000 +
e você estará modificando esses objetos a cada segundo
(digite seu código e as armadilhas irão aparecer ))))
um segundo é suficiente para mim e menos vezes até que o tique chegue
para eu exibir os negócios no gráfico + resultado do comércio sobre barras, e algumas informações semi-estáticas, como a tendência global
pode observar o preço da mudança de
ou tempo a partir da segunda opção
Por favor, me diga!
Como posso comparar o símbolo do gráfico atual com o que eu preciso?
Preciso que o programa abra uma ordem no AUD/USD, então ele abre a ordem (funciona corretamente). No entanto, o programa tenta abrir a ordem em outros gráficos abertos(o robô está rodando em vários pares de moedas) e retorna um erro de preço para os outros pares de moedas onde o Expert Advisor está rodando. Tenho que fazer uma comparação e se Symbol() == é igual ao símbolo no qual a ordem deve ser aberta, então a abrimos e se não, saímos. Não encontrei em nenhum lugar como definir o nome do símbolo a partir do terminal e fazer a comparação.
Por favor, me diga!
Como posso comparar o símbolo do gráfico atual com o que eu preciso?
Preciso que o programa abra uma ordem no AUD/USD, então ele abre a ordem (funciona corretamente). No entanto, o programa tenta abrir a ordem em outros gráficos abertos(o robô está rodando em vários pares de moedas) e retorna um erro de preço para os outros pares de moedas onde o Expert Advisor está rodando. Tenho que fazer uma comparação e se Symbol() == é igual ao símbolo no qual a ordem deve ser aberta, então a abrimos e se não, saímos. Não encontrei em nenhum lugar como definir o nome do símbolo do terminal e fazer comparações.
Há um exemplo de obter os preços certos no final.
Obrigado, mas eu não preciso dos preços certos. Os preços estão bem. Eu preciso que o EA não abra uma ordem se o par de moedas no qual a ordem é aberta não for o mesmo que o atual gráfico aberto ao qual o robô está anexado. Talvez possamos implementar isto abrindo um novo gráfico com um cronograma, abrir uma ordem desejada no mesmo e depois fechar o gráfico.
Não, não funciona dessa forma.
Meu programa acessa o gráfico atual, atribui a ele o nome do instrumento atual e o sela em uma variável, depois compara o valor desta variável com o símbolo atual no gráfico. Na verdade, ele o compara a si mesmo)))) Eu preciso de alguma forma converter Sympol() para qualquer valor com o qual qualquer outra variável possa ser comparada. Por exemplo:
AUDUSD;
(Símbolo() == AUDUSD)
Eu consegui de alguma forma fazê-lo - enquanto eu estava me regozijando e mudando tudo corretamente - nada mais funciona))
Não, não funciona dessa forma.
Meu programa acessa o gráfico atual, atribui a ele o nome do instrumento atual e o sela em uma variável, depois compara o valor desta variável com o símbolo atual no gráfico. Na verdade, ele o compara a si mesmo)))) Eu preciso de alguma forma converter Sympol() para qualquer valor com o qual qualquer outra variável possa ser comparada. Por exemplo:
AUDUSD;
(Símbolo() == AUDUSD)
Eu consegui de alguma forma, até ficar feliz e mudar tudo corretamente - nada funciona))
corda AUDUSD = "AUDUSD";
Pelo menos assim.
Não, não funciona dessa forma.
Meu programa acessa o gráfico atual, atribui a ele o nome do instrumento atual e o sela em uma variável, depois compara o valor desta variável com o símbolo atual no gráfico. Na verdade, ele o compara a si mesmo)))) Eu preciso de alguma forma converter Sympol() para qualquer valor com o qual qualquer outra variável possa ser comparada. Por exemplo:
AUDUSD;
(Símbolo() == AUDUSD)
Eu consegui fazer isso de alguma forma, e enquanto eu estava me regozijando e mudando tudo corretamente - nada mais funcionou))
O Expert Advisor, o roteiro, o indicador não se aplicam, mas trabalham na janela atual. E as variáveis globais de diferentes janelas / gráficos não se sobrepõem. Portanto, deve funcionar)
Esta é uma variável de texto, que inicialmente está vazia, ou seja, é igual a "".
(Symbol() == AUDUSD) // esta string não tem nada a ver com a variável AUDUSD.
Mas o critério de abertura do pedido não deve ser o mesmo para instrumentos/janelas diferentes. Se eles forem os mesmos, eles realmente se abrirão em todas as janelas.