Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Eu não estou testando, estou lembrando os desenvolvedores. A prática mostra que nunca é supérfluo)).
Quanto à direção comercial - em Forts ela é sempre dada pela troca.
O algoritmo atualmente utilizado no terminal não é adequado para isso - você tem que tirar informações da troca.
Eu não estou testando, estou lembrando os desenvolvedores. A prática mostra que nunca é supérfluo)).
Sobre a direção do negócio - nas fortalezas é sempre dada pela troca.
O algoritmo que agora é usado no terminal não é adequado para isso - devemos necessariamente tirar informações da troca.
Há apenas vários tópicos sobre copyticks (e mqltickinfo) que terminam com "espera".
Aqui está mais, por exemplo:
https://www.mql5.com/ru/forum/61607
Portanto, realmente, "esperando por". :-)
E agora, na construção de 1210, como está indo CopyTicks()?
E agora, em 1210, como é com CopyTicks()?
Quase que funciona. Sem duplicatas. Os volumes não são perdidos.
Mas, falta a direção do comércio de bandeiras. O cálculo de licitação/procura não dá uma fidelidade adequada.
A estrutura real é antiga e difere do que é descrito na ajuda. Portanto, entendo que se trata de uma construção intermediária. Então, como sempre, estamos esperando pelo próximo))
Está quase funcionando. Sem duplicatas. Os volumes não faltam.
Mas, falta a direção do comércio de bandeiras. O cálculo de licitação/procura não dá uma fidelidade adequada.
A estrutura real é antiga e difere da descrita na ajuda. Portanto, entendo que se trata de uma construção intermediária. Então, como sempre, estamos esperando pelo próximo))
Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste
MqlTick
zimbabve15, 2016.02.03 06:15
Broker "Opening" tool ED-3.16 left table - tick data is written by indicator in OnCalculate procedure via SymbolInfoTick request, right table - via CopyTicks. Estrutura de ambos: tempo, lance, pedido, flipper, volume, time_msec, bandeira.
Por que os mesmos carrapatos têm volumes e bandeiras diferentes?
Se recebermos dados brutos do corretor com bandeira zero através do SymbolInfoTick, então parece que o terminal processa o tick de entrada e atribui uma bandeira a ele com base na comparação com o tick anterior? O que fazer com os volumes? A diferença é significativa.
Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos
MqlTick
zimbabué15, 2016.02.03 06:39
FiboFroup corretor de carrapatos à esquerdavia SymbolInfoTick , tabela à direita via CopyTicks. Estrutura de ambos: tempo, licitação, pedido, greve, volume, tempo_msec, bandeira.
As bandeiras são diferentes, porque os valores de compra/venda nos mesmos carrapatos, escritos de maneiras diferentes.
CopyTicks
//////////////////////////////////////////////////////////////////////////////////////////////////////////
MqlTick tick_array[];
int OnInit()}
SaveTicksToFile(MqlTick &massiveTicks[])
{
nome de arquivo string,file_buffer;
StringConcatenate(filename,Symbol(),".txt");
int file_handle=FileOpen(filename,FILE_READ|FILE_WRITE|FILE_ANSI|FILE_SHARE_READ);
FileSeek(file_handle,0,SEEK_END);
int sizeMassiveTicks=ArraySize(massiveTicks);
int i=0;
while(i<sizeMassiveTicks)
{
StringConcatenate(file_buffer,TimeToString(massiveTicks[i].time,TIME_DATE|TIME_SECONDS)," ",DoubleToString(massiveTicks[i].bid,_Digits)," ",DoubleToString(massiveTicks[i].bid,_Digits)," ",DoubleToString(massiveTicks[i].ask,_Digits)", ", DoubleToString(massiveTicks[i].last,_Digits)", ", IntegerToString(massiveTicks[i].volume,_Digits)", ", IntegerToString(massiveTicks[i].time_msc)", ", IntegerToString(massiveTicks[i].flags,_Digits));
FileWrite(file_handle,file_buffer);
i++;
}
FileClose(file_handle);
}
SymbolInfoTick
////////////////////////////////////////////////////////////////////////
int OnCalculate(const int taxas_total,
const int prev_calculado,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
MqlTick último_tick;
SymbolInfoTick(Symbol(),last_tick);
TickStruct tick={0,0,0,0,0,0,0};
tick.time=TimeCurrent();
tick.bid=last_tick.bid;
tick.ask=last_tick.ask;
tick.flag=last_tick.flags;
tick.last=last_tick.last;
tick.time_msc=last_tick.time_msc;
tick.volume=last_tick.volume;
int total=ArraySize(g_ticks);
if(ArrayResize(g_ticks,total+1.1000)<0)
{
Alerta(": o indicador não tem memória suficiente para salvar os dados do próximo tick;)
}
senão
{
g_ticks[total]=tick;
UpTick[rates_total-1]=total;
}
if(total>999)
{
SaveTempTicks();
ArrayFree(g_ticks);
}
retorno(taxas_total);
}
nulo SaveTempTicks()
{
// Criação do arquivo de histórico de carrapatos
int hTicksFile=FileOpen(Symbol()+"fullTicks.tks",FILE_BIN|FILE_READ|FILE_WRITE|FILE_SHARE_READ|FILE_SHARE_WRITE);
if(hTicksFile<1)
retornar;
FileSeek(hTicksFile,0,SEEK_END);
// registro de arquivo
int total=ArraySize(g_ticks),i=0;
enquanto(i<total)
{
if(FileWriteStruct(hTicksFile,g_ticks[i])==0)
{
Imprimir("Salvar dados em um arquivo temporário falhou...");
retornar;
}
i++;
}
FileClose(hTicksFile);
}