Por favor digam-me, estou a usar uma função dentro de outra. No exterior, declaro uma variável. No interno, eu utilizo-a. Aqui está sobre
string PositionSymboll = "";
if (PositionSymboll=PositionGetSymbol(i)){//Возвращает символ соответствующей открытой позиции и автоматически выбирает позицию для дальнейшей работы с нейif (PositionGetInteger(POSITION_MAGIC)== MAGIC)//Функция возвращает запрошенное свойство открытой позиции, предварительно выбранной
{ BU_();}}
Etc. Jura assim: 'PositionSymboll' - identificador não declarado Redo.mq5 2472 5
Honestamente, não esperava nenhuma captura aqui. Se o encapsular dentro da função BU_() que estou a utilizar, o pyrimen será "nulo". O que devo fazer melhor?
Seria muito bom para mim declará-lo dentro da primeira função, dentro do laço do se.
Dimka-novitsek: Oh, você! E mesmo declarando-o dentro da função OnTick() vazia, o compilador também explode, já na primeira função! Vou passar, apenas caí...
voidOnStart()
{
int i=0; long MAGIC=1234;
string PositionSymboll="";
if(PositionSymboll=PositionGetSymbol(i))
{//Возвращает символ соответствующей открытой позиции и автоматически выбирает позицию для дальнейшей работы с нейif(PositionGetInteger(POSITION_MAGIC)==MAGIC)//Функция возвращает запрошенное свойство открытой позиции, предварительно выбранной
{ BU_();}
}
}
void BU_(){}
compila normalmente, mas a construção
string PositionSymboll="";
if(PositionSymboll)
questionável, está a verificar a variável de corda verdadeiro/falso ????????? estou intrigado
Poderia dizer-me se existe uma função que deve voltar a ser verdadeira se houver uma ordem pendente ao preço enviado para a função. Mas retorna "careca" (alternadamente verdadeiro/falso). Por favor, informe-me onde me falta a lógica de trabalhar com encomendas em mql5? (apenas aprendizagem).
bool OrderExist(double price) // функция возвращает наличие ордера на передаваемой цене
{
uint total=OrdersTotal();
ulong ticket;
for(uint i=0;i<total;i++)
{
if((ticket=OrderGetTicket(i))>0)
{
if(NormalizeDouble(OrderGetDouble(ORDER_PRICE_OPEN),4)== price)
{
return(true);
}
}
}
return(false);
}
Por favor, informe, há uma função que deve voltar a ser verdadeira se houver uma ordem pendente ao preço que eu enviei para a função. Mas regressa careca (alternadamente verdadeiro/falso). Por favor, informe-me onde me falta a lógica de trabalhar com encomendas em mql5? (apenas aprendizagem).
Mas não é certo que a ordem tenha aberto ao preço indicado, pode ter havido um deslize, por isso recebo o seguinte: se a ordem abriu a tempo - verdadeiro, se não o fez (o preço mudou) - falso.
fyords: Mas não é o facto de a ordem ter sido aberta ao preço estabelecido, poderia ter ocorrido um deslizamento e é por isso que temos o seguinte resultado: se a ordem foi aberta a tempo - verdadeira, se não foi aberta a tempo (o preço mudou) - falso.
Sim, é afixado no terminal a este preço. Se estiver em funcionamento, significa que foi colocado com sucesso, certo?
DMXX: Sim, está pendurado no terminal a este preço. Se estiver em funcionamento, significa que é colocado com sucesso, certo?
Sim, está definido, mas quando é accionado...
Ou outro exemplo: temos uma ordem pendente, o seu preço difere do actual por 1 ponto, no tick seguinte o preço salta não por 1 ponto, mas, digamos, por 3-5 pontos, o que resulta na abertura a um preço errado. Um exemplo óbvio é uma lacuna.
Ou talvez eu não compreenda a questão e seja burro.
Etc. Jura assim: 'PositionSymboll' - identificador não declarado Redo.mq5 2472 5
Honestamente, não esperava nenhuma captura aqui. Se o encapsular dentro da função BU_() que estou a utilizar, o pyrimen será "nulo". O que devo fazer melhor?
Seria muito bom para mim declará-lo dentro da primeira função, dentro do laço do se.
Oh, você! E mesmo declarando-o dentro da função OnTick() vazia, o compilador também explode, já na primeira função! Vou passar, apenas caí...
compila normalmente, mas a construção
questionável, está a verificar a variável de corda verdadeiro/falso ????????? estou intrigado
a questão é retórica.
Obrigado!!! Estou apenas a aprender, esta é a minha primeira EA em MQL5. O que quer dizer com retórica?
Isto significa que não é necessária uma resposta.
Apenas uma variável de tipo string passada como uma expressão numa declaração de if só dará falso num caso, se a variável não tiver sido rubricada.
Em todos os outros casos, o conteúdo variável será dado por verdadeiro.
Poderia dizer-me se existe uma função que deve voltar a ser verdadeira se houver uma ordem pendente ao preço enviado para a função. Mas retorna "careca" (alternadamente verdadeiro/falso). Por favor, informe-me onde me falta a lógica de trabalhar com encomendas em mql5? (apenas aprendizagem).
Por favor, informe, há uma função que deve voltar a ser verdadeira se houver uma ordem pendente ao preço que eu enviei para a função. Mas regressa careca (alternadamente verdadeiro/falso). Por favor, informe-me onde me falta a lógica de trabalhar com encomendas em mql5? (apenas aprendizagem).
Mas não é certo que a ordem tenha aberto ao preço indicado, pode ter havido um deslize, por isso recebo o seguinte: se a ordem abriu a tempo - verdadeiro, se não o fez (o preço mudou) - falso.
Mas não é o facto de a ordem ter sido aberta ao preço estabelecido, poderia ter ocorrido um deslizamento e é por isso que temos o seguinte resultado: se a ordem foi aberta a tempo - verdadeira, se não foi aberta a tempo (o preço mudou) - falso.
Sim, está pendurado no terminal a este preço. Se estiver em funcionamento, significa que é colocado com sucesso, certo?
Sim, está definido, mas quando é accionado...
Ou outro exemplo: temos uma ordem pendente, o seu preço difere do actual por 1 ponto, no tick seguinte o preço salta não por 1 ponto, mas, digamos, por 3-5 pontos, o que resulta na abertura a um preço errado. Um exemplo óbvio é uma lacuna.
Ou talvez eu não compreenda a questão e seja burro.