O indicador OBV em mt5 não tem a possibilidade de selecionar o tipo de cálculo de preço
No mt4, esta opção está disponível.
Por quê?
Na verdade, o OBV é calculado como a soma de todo o volume em todo o histórico, onde a vela está em baixo o volume é "negativo" Então por que em mt4 é possível selecionar o tipo de preço para o cálculo do indicador? se ele não está envolvido no cálculo
Há parte do código para calcular o número separado de ordens de compra e venda. (b - ordens de compra, s - ordens de venda)
Em seguida, quero escrever uma condição pela qual, se uma nova ordem for aberta ou uma ordem existente for fechada. Ou seja, precisamos comparar o número de pedidos abertos anteriormente e o número de mudanças subsequentes, mas não sei como escrevê-lo no código. Como posso salvar as mudanças no número de pedidos? Por favor, ajude.
O indicador OBV em mt5 não tem a possibilidade de selecionar o tipo de cálculo de preço
No mt4, esta opção está disponível.
Por quê?
Na verdade, o OBV é calculado como a soma de todo o volume em todo o histórico, onde a vela está em baixo o volume é "negativo" Então por que é possível selecionar o tipo de preço para o indicador durante seu cálculo em mt4? se ele não está envolvido no cálculo
Há uma parte do código para calcular o número separado de ordens de compra e venda. (b - ordens de compra, s - ordens de venda)
Então escrevi uma condição pela qual, se uma nova ordem for aberta ou uma ordem existente for fechada, a próxima ação será acionada. Ou seja, temos que comparar o número de pedidos abertos anteriormente e o número de mudanças subsequentes, mas não sei como escrevê-lo no código. Como posso salvar as mudanças no número de pedidos? Por favor, ajude.
double LB=0,LS=0;
int b=0,s=0;
int izmb=0, izms=0;
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderSymbol()==Symbol())
{
int tip = OrderType();
if (tip==OP_BUY)
{
LB += OrderLots();
b++;
}
if (tip==OP_SELL)
{
LS += OrderLots();
s++;
}
}
}
}
if (izmb>b ||izmb<b || izms>s || izms<s){ //условие сравнения количества ордеров, изменилось или нет,
izmb=b; //если изменилось то присваиваем новое значение, как его сохранить? Ведь с новым тиком
izms=s // оно опять будет равно "0"???
}
Se alguma coisa, você tem que fazê-lo estaticamente, caso contrário, ele é reiniciado.
Costumo tornar as bandeiras globais. É claro que no corpo da função será necessário redeclarar e Static é necessário. Mas por que ninguém notou que faltam os parênteses entre parênteses)))) impressão e atribuição devem estar entre parênteses)
E sem estática, é claro, ela será impressa em cada chamada de função, uma vez que"printsimbol="" se tornará ZERO e o símbolo será atribuído ao valor atual)
Há uma parte do código para calcular o número separado de ordens de compra e venda. (b - ordens de compra, s - ordens de venda)
Então escrevi uma condição pela qual, se uma nova ordem é aberta ou uma ordem existente é fechada, a ação é passada adiante. Ou seja, temos que comparar o número de pedidos abertos anteriormente e o número de mudanças subsequentes, mas não sei como escrevê-lo no código. Como posso salvar as mudanças no número de pedidos? Por favor, ajude.
Eu tentaria fazer isso
//+------------------------------------------------------------------+#property copyright"Copyright 2021, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.00"#property strictint izmb,izms;
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- create timerEventSetMillisecondTimer(200);
izmb=0; izms=0;
//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
//--- destroy timerEventKillTimer();
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
//---if(CountOrders(0,0)!=izmb){izmb=CountOrders(0,0);}
if(CountOrders(0,1)!=izms){izms=CountOrders(0,1);}
}
//+------------------------------------------------------------------+//+------------------------------------------------------------------+//| Подсчет ордеров по типу |//+------------------------------------------------------------------+//| 0 - ордера типа BUY 1 - ордера типа SELL |//| 2 - ордера типа BUYLIMIT 3 - ордера типа SELLLIMIT |//| 4 - ордера типа BUYSTOP 5 - ордера типа SELLSTOP |//| 6 - ордера типа Balance -1 - Все типы ордеров |//+------------------------------------------------------------------+int CountOrders(string symb="", int or_ty=-1)
{
int cnt=0;
if(symb=="0") symb=_Symbol;
for(int pos=OrdersTotal()-1;pos>=0;pos--)
{
if(OrderSelect(pos,SELECT_BY_POS)==true)
{
if(OrderSymbol()==symb || symb=="")
{
if(or_ty<0 || or_ty==OrderType()) cnt++;
}
}
}
return(cnt);
}
//+------------------------------------------------------------------+
Quem sabe por que o assessor do testador trabalha bem, coloca pedidos, etc., mas na conta real, os pedidos não são expostos, embora o robô esteja ativo
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.
Diga-me onde você pode fazer o download do MT4 1320
O indicador OBV em mt5 não tem a possibilidade de selecionar o tipo de cálculo de preço
No mt4, esta opção está disponível.
Por quê?
Na verdade, o OBV é calculado como a soma de todo o volume em todo o histórico, onde a vela está em baixo o volume é "negativo"
Então por que em mt4 é possível selecionar o tipo de preço para o cálculo do indicador? se ele não está envolvido no cálculo
Há parte do código para calcular o número separado de ordens de compra e venda. (b - ordens de compra, s - ordens de venda)
Em seguida, quero escrever uma condição pela qual, se uma nova ordem for aberta ou uma ordem existente for fechada. Ou seja, precisamos comparar o número de pedidos abertos anteriormente e o número de mudanças subsequentes, mas não sei como escrevê-lo no código. Como posso salvar as mudanças no número de pedidos? Por favor, ajude.
O indicador OBV em mt5 não tem a possibilidade de selecionar o tipo de cálculo de preço
No mt4, esta opção está disponível.
Por quê?
Na verdade, o OBV é calculado como a soma de todo o volume em todo o histórico, onde a vela está em baixo o volume é "negativo"
Então por que é possível selecionar o tipo de preço para o indicador durante seu cálculo em mt4? se ele não está envolvido no cálculo
Uma boa pergunta é a metade da resposta.
Há parte do código para calcular o número separado de ordens de compra e venda.
E há um lugar para inseri-lo)
Uma pergunta bem definida contém a metade da resposta.
E há um lugar para colocá-lo).
Então vou repetir a pergunta.
Há uma parte do código para calcular o número separado de ordens de compra e venda. (b - ordens de compra, s - ordens de venda)
Então escrevi uma condição pela qual, se uma nova ordem for aberta ou uma ordem existente for fechada, a próxima ação será acionada. Ou seja, temos que comparar o número de pedidos abertos anteriormente e o número de mudanças subsequentes, mas não sei como escrevê-lo no código. Como posso salvar as mudanças no número de pedidos? Por favor, ajude.
Se alguma coisa, você tem que fazê-lo estaticamente, caso contrário, ele é reiniciado.
Costumo tornar as bandeiras globais. É claro que no corpo da função será necessário redeclarar e Static é necessário. Mas por que ninguém notou que faltam os parênteses entre parênteses)))) impressão e atribuição devem estar entre parênteses)
E sem estática, é claro, ela será impressa em cada chamada de função, uma vez que"printsimbol="" se tornará ZERO e o símbolo será atribuído ao valor atual)
Então vou repetir a pergunta.
Há uma parte do código para calcular o número separado de ordens de compra e venda. (b - ordens de compra, s - ordens de venda)
Então escrevi uma condição pela qual, se uma nova ordem é aberta ou uma ordem existente é fechada, a ação é passada adiante. Ou seja, temos que comparar o número de pedidos abertos anteriormente e o número de mudanças subsequentes, mas não sei como escrevê-lo no código. Como posso salvar as mudanças no número de pedidos? Por favor, ajude.
Eu tentaria fazer isso