Sugeri começar com HistorySelectByPosition e empurraste-o para um sítio bem fundo nos "se"...
Só pode haver uma posição por símbolo numa conta netting. Obtenha o ID da posição, obtenha a lista de comércios envolvidos na formação desta posição e conte-os por direcção de comércio e tipo de ordem.
Artyom, vou repetir a pergunta, por favor responda-a:
Não vi a pergunta :)
Sinceramente - não me lembro, mas acho que funciona no MT5 - não é verdade?
Mas no testador estava a colocar as ordens pendentes... E eu trabalhei com o rato. Mas posso ter ficado confuso e estava a trabalhar com o rato num gráfico real e a usar botões no testador...
Não vou adivinhar - Desmontei toda a minha biblioteca para pequenos parafusos há cerca de meio ano, e já não vou poder verificar rapidamente. Adiei a sua reconstrução para cerca do Outono. Assim, é mais rápido apenas para verificar o trabalho do modelo de evento OnChartEvent() no testador. Mas ainda não tenho tempo para isso - desculpe :)
Sinceramente - não me lembro, mas acho que funciona no MT5 - não é verdade?
Mas tenho colocado as ordens pendentes no testador. E eu trabalhei com o rato. Mas pode ser que eu tenha confundido a minha memória e estivesse a trabalhar com o rato num gráfico real e a usar botões no testador...
Não vou adivinhar - Desmontei toda a minha biblioteca para pequenos parafusos há cerca de meio ano, e já não vou poder verificar rapidamente. Adiei a sua reconstrução para cerca do Outono. Assim, é mais rápido apenas para verificar o trabalho do modelo de evento OnChartEvent() no testador. Mas ainda não tenho tempo para isso - desculpe :)
Há todo o código de teste:
switch( id )
{
default:
Print( __FUNCTION__,": id = "+EnumToString( (ENUM_CHART_EVENT)id ) );
}
sem resposta, infelizmente, no testador. Na função OnChartEvent(). Chamado do Conselheiro Especialista.
Sugeri começar com HistorySelectByPosition, mas empurraste-o para um sítio bem fundo no ifs...
Numa conta netting só pode haver uma posição por símbolo. Obtenha o ID da posição, obtenha a lista de acordos que formam esta posição e conte-os por direcção do acordo e tipo de ordem.
Fi-lo porque quero fazer uma função de contagem universal, para a rede e a cobertura, ou é impossível?
Não, mas é pouco provável que isto resolva o problema, uma vez que as teclas ctrl, shift e outras foram premidas... Não houve qualquer reacção.
De qualquer modo, não tenho tempo para experimentar agora - tenho as minhas próprias coisas à espera de serem feitas.
Talvez me tenha mesmo esquecido disso. Mas fixei os limites de tempo no testador. É bastante provável - apenas os mesmos botões. Também sei que os ponho com o rato. Mas talvez também numa carta ao vivo...
Provavelmente. Mas as abordagens são diferentes, e precisam de ser planeadas correctamente em primeiro lugar, em vez de despejar tudo numa linha de código...
Portanto, fá-lo-ei separadamente, por agora.
O que é que perdi?
int GetNum(conststring aSymbol)
{
int count=0;
if(PositionSelect(aSymbol))
{
long pos_id=long(PositionGetInteger(POSITION_IDENTIFIER));
if(pos_id>0)
{
if(HistorySelectByPosition(ulong(pos_id)))
{
int deals=HistoryDealsTotal();
for(int i=0; i<deals; i++)
{
ulong deal_ticket=HistoryDealGetTicket(i);
ulong order_ticket=ulong(HistoryDealGetInteger(deal_ticket,DEAL_ORDER));
if(order_ticket>0)
{
long deal_entry=long(HistoryDealGetInteger(deal_ticket,DEAL_ENTRY));
if(deal_entry==DEAL_ENTRY_IN)
{
if(m_position.PositionType()==POSITION_TYPE_SELL)
{
count++;
}
}
}
}
if( count > 0 ) return(count);
}
else
{
Print("Не возможно получить историю позиции по символу ",aSymbol);
}
}
else
{
Print("Не возможно определить идентификатор позиции по символу ",aSymbol);
}
}
return( 0 );
}
////////////
Obrigado.
O que está errado agora?
Sugeri começar com HistorySelectByPosition e empurraste-o para um sítio bem fundo nos "se"...
Só pode haver uma posição por símbolo numa conta netting. Obtenha o ID da posição, obtenha a lista de comércios envolvidos na formação desta posição e conte-os por direcção de comércio e tipo de ordem.
Artyom, vou repetir a pergunta, por favor responda-a:
Não vi a pergunta :)
Sinceramente - não me lembro, mas acho que funciona no MT5 - não é verdade?
Mas no testador estava a colocar as ordens pendentes... E eu trabalhei com o rato. Mas posso ter ficado confuso e estava a trabalhar com o rato num gráfico real e a usar botões no testador...
Não vou adivinhar - Desmontei toda a minha biblioteca para pequenos parafusos há cerca de meio ano, e já não vou poder verificar rapidamente. Adiei a sua reconstrução para cerca do Outono. Assim, é mais rápido apenas para verificar o trabalho do modelo de evento OnChartEvent() no testador. Mas ainda não tenho tempo para isso - desculpe :)
Não vi a pergunta :)
Sinceramente - não me lembro, mas acho que funciona no MT5 - não é verdade?
Mas tenho colocado as ordens pendentes no testador. E eu trabalhei com o rato. Mas pode ser que eu tenha confundido a minha memória e estivesse a trabalhar com o rato num gráfico real e a usar botões no testador...
Não vou adivinhar - Desmontei toda a minha biblioteca para pequenos parafusos há cerca de meio ano, e já não vou poder verificar rapidamente. Adiei a sua reconstrução para cerca do Outono. Assim, é mais rápido apenas para verificar o trabalho do modelo de evento OnChartEvent() no testador. Mas ainda não tenho tempo para isso - desculpe :)
Há todo o código de teste:
sem resposta, infelizmente, no testador. Na função OnChartEvent(). Chamado do Conselheiro Especialista.
Todo o código de teste está lá:
sem resposta, infelizmente, no testador. Na função OnChartEvent().
Sugeri começar com HistorySelectByPosition, mas empurraste-o para um sítio bem fundo no ifs...
Numa conta netting só pode haver uma posição por símbolo. Obtenha o ID da posição, obtenha a lista de acordos que formam esta posição e conte-os por direcção do acordo e tipo de ordem.
Fi-lo porque quero fazer uma função de contagem universal, para a rede e a cobertura, ou é impossível?
O CHART_EVENT_MOUSE_MOVE=true set?
Não, mas é pouco provável que isto resolva o problema, uma vez que as teclas ctrl, shift e outras foram premidas... não houve reacção.
Preso porque quero fazer uma função de contagem universal, para a rede e cobertura, ou será isso impossível?
É possível. Mas as abordagens são diferentes e precisam de ser devidamente planeadas primeiro, em vez de despejar tudo numa linha de código...
Não, mas é pouco provável que isto resolva o problema, uma vez que as teclas ctrl, shift e outras foram premidas... Não houve qualquer reacção.
De qualquer modo, não tenho tempo para experimentar agora - tenho as minhas próprias coisas à espera de serem feitas.
Talvez me tenha mesmo esquecido disso. Mas fixei os limites de tempo no testador. É bastante provável - apenas os mesmos botões. Também sei que os ponho com o rato. Mas talvez também numa carta ao vivo...
Provavelmente. Mas as abordagens são diferentes, e precisam de ser planeadas correctamente em primeiro lugar, em vez de despejar tudo numa linha de código...
Portanto, fá-lo-ei separadamente, por agora.
O que é que perdi?