O provador funciona correctamente. O erro está na lógica do programa: dois símbolos são como duas vidas de pessoas diferentes (aqui "pessoa" é análogo a "símbolo"). E a segunda pessoa não tem de acordar ao mesmo tempo que a primeira ("acordar" é análogo a "nova barra a aparecer").
Portanto, é preciso esperar que apareça uma nova barra E no primeiro símbolo E no segundo.
Olá. Conta de compensação, quero contar quantas ordens de limite da mesma direcção se tornaram posições.
A função não calcula correctamente, porquê?
int CurrentPos_sell_nettin()
{
string symb=_Symbol;
int total =0; // Всего сделок в списке выбранной историиint count =0; // Счетчик сделок по символу позиции//--- Если история позиции полученаfor(int i=0; i<PositionsTotal(); i++)
{
ulong pt=PositionGetTicket(i);
long ID=PositionGetInteger(POSITION_IDENTIFIER);
if(PositionGetString(POSITION_SYMBOL)==symb && HistorySelect(PositionGetInteger(POSITION_TIME),TimeCurrent()+60))
{
//--- Получим количество сделок в полученном списке
total=HistoryDealsTotal();
//--- Пройдем по всем сделкам в полученном спискеfor(int i=0; i<total; i++)
{
ulong dt = HistoryDealGetTicket(i);
long did = HistoryDealGetInteger(dt, DEAL_POSITION_ID);
ENUM_DEAL_ENTRY in_out=HistoryDealGetInteger(dt,DEAL_ENTRY);
if(did==pt && in_out==DEAL_ENTRY_IN)
{
if(m_position.PositionType()==POSITION_TYPE_SELL)
{
count++;
}
}
}
}
}
//---return(count);
}
Agora descreva por palavras o que descreveu graficamente. Usar alto, baixo, aberto, fechado.
Tamanho da vela = alto[i] - baixo[i]
Sombra superior = alta[i] - aberta[i]
Corpo da vela = aberto[i] - fechado[i]
sombra inferior = fechar[i] - baixo[i]
A proporção do corpo do castiçal em relação ao seu tamanho - (alto[i] - baixo[i]) / (aberto[i] - fechado[i])
O tamanho da sombra curta não deve exceder algum limiar - ( fechar[i] - baixo[i]) <= fechar[i]
Orientação da vela - alto[i] > aberto[i] > fechado[i] > baixo[i]
Estou a apostar com o rato.
É assim que se fazem encomendas no testador do MT5, no modo visual? Como são tratados os eventos? OnChartEvent() não funciona, certo?
O provador funciona correctamente. O erro está na lógica do programa: dois símbolos são como duas vidas de pessoas diferentes (aqui "pessoa" é análogo a "símbolo"). E a segunda pessoa não tem de acordar ao mesmo tempo que a primeira ("acordar" é análogo a "nova barra a aparecer").
Portanto, é preciso esperar que apareça uma nova barra E no primeiro símbolo E no segundo.
Acrescentado: artigo"novo bar" manipulador de eventos
Tal pergunta - a ordem pela qual as condições são listadas é importante para encontrar uma combinação de candelabros?
Exemplo:
Olá. Conta de compensação, quero contar quantas ordens de limite da mesma direcção se tornaram posições.
A função não calcula correctamente, porquê?
Olá. Conta de compensação, quero contar quantas ordens de limite da mesma direcção se tornaram posições.
A função não conta correctamente, porquê?
Comece com HistorySelectByPosition. Então, só terá os ofícios envolvidos nessa posição.
Tal pergunta - a ordem pela qual as condições são listadas é importante para encontrar uma combinação de candelabros?
Exemplo:
Dêemuma vista de olhos ao exemplo - existem trinta padrões diferentes.
Artyom, vou repetir a pergunta, por favor responda:
Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial
Perguntas de principiantes MQL5 MT5 MetaTrader 5
Alexey Kozitsyn, 2018.06.03 15:39
É assim que se fazem encomendas no testador MT5, em modo visual? E como é que se processam os eventos? OnChartEvent() não funciona, certo?
Comece com HistorySelectByPosition. Então, só terá os ofícios envolvidos nessa posição.
Obrigado.
O que está errado agora?