Se os dados mudaram, devemos colocar o ponteiro no lugar onde iremos sobregravá-lo com a semana de arquivos, sobregravá-lo com o método padrão de gravação de arquivos..., lembrar o final do arquivo e apará-lo com a função WinApi
Ou usando o método padrão, escreva a posição até o final do arquivo, onde terminam as informações úteis, e depois leia esta posição. (Você pode escrever a posição em outro arquivo).
Mas de qualquer forma, é melhor apará-lo, e não há uma ferramenta de aparo padrão ((
Boa tarde, por favor, ajude. Estou usando um indicador CCI com o período 34 e com o período 170. Preciso verificar se a CCI 170 cruza a linha de zero da CCI 34. Em outras palavras, quero ver quando a CCI 34 cruza a linha do zero primeiro, e a CCI 170 cruza a linha do zero depois dela. Nesse momento, a CCI 170 pode ter qualquer valor, e as linhas zero desses indicadores não coincidem no gráfico.
Como posso fazer isso? Preciso usar operadores gráficos? Quais e como? Muito obrigado de antemão.
Qual é a dificuldade? Colocar um ponteiro de arquivo no início do fio? Ou substituir a leitura da linha pela escrita?
Aqui, você tem uma dica.
r772ra:
FileSeek() para ajudar.
Buscar ajuda:
//--- откроем файлint file_handle=FileOpen(InpDirectoryName+"//"+InpFileName,FILE_READ|FILE_TXT|InpEncodingType);
////////////////////////////////////--- получим позицию начала для каждой строки в файле
GetStringPositions(file_handle,pos);
// Эту функцию возьми в справке./////////////////////////////////////////--- сдвинем позицию на начало этой строкиif(FileSeek(file_handle,pos[ind],SEEK_SET)==true)
// Здесь надо pos[ind] заменить на ArrayMaximum(). Это будет последняя строка.//////////////////////////////////////--- прочитаем и распечатаем строку с номером indPrintFormat("Текст строки с номером %d: \"%s\"",ind,FileReadString(file_handle));
// А это замени на uint FileWrite()///////////////////
Boa tarde, por favor, ajude. Estou usando um indicador CCI com o período 34 e com o período 170. Preciso verificar se a CCI 170 cruza a linha de zero da CCI 34. Em outras palavras, quero rastrear o momento 1.quando a CCI 34 cruza a linha do zero primeiro, e depois a CCI 170 cruza alinha do zero. Neste ponto a CCI 170 pode ter qualquer valor, as linhas zero destes indicadores no gráfico não coincidem.
Como posso fazer isso? 2.Preciso usar operadores de gráficos? Quais e como? Muito obrigado de antemão.
Determinar quando ocorre a travessia zero da CCI(34) e iniciar um contador. Por exemplo, se atravessar UP, então +1, se DN -1.
3. se contador = 0 - aguarde a próxima barra.
4. Se o valor do contador for diferente de 0 - Verifique a travessia CCI(170).
4.1 Se não houvesse cruzamento, aumentar o valor do contador UP/Diminuir o valor do contador DN.
4.1 Se UP - Verificar valor do contador: se diferente de zero e menor que o valor requerido (por exemplo, esperamos uma passagem CCI(170) dentro de 5 barras de uma passagem CCI(34) - então um valor de 5 é requerido).
4.1.2 Se todas as condições forem atendidas na barra atual ou se mais do que o número esperado de barras tiver passado - redefinimos o contador para 0 .
4.1.3 Se as condições não forem cumpridas - aumente o valor do contador.
4.2 Se DN - da mesma forma, somente para valores negativos.
Se os dados mudaram, devemos colocar o ponteiro no lugar onde iremos sobregravá-lo com a semana de arquivos, sobregravá-lo com o método padrão de gravação de arquivos..., lembrar o final do arquivo e apará-lo com a função WinApi
Ou usando o método padrão, escreva a posição até o final do arquivo, onde terminam as informações úteis, e depois leia esta posição. (Você pode escrever a posição em outro arquivo).
Mas de qualquer forma, é melhor apará-lo, e não há uma ferramenta de aparo padrão ((
aqui éZhunko12.09.2014 20:19#
Seria interessante ter as mesmas funções do WinApi.
Que triste, é tão complicado.
Existe algum exemplo simples de sobrescrever um fio?
O que há de errado com o exemplo na ajuda?
Ajude a editar o roteiro para transferir o relatório para o gráfico. Não consigo encontrar a razão pela qual não render...
Link para o codebase.
Versão levemente afinada que tenho no trailer. |
\ | /
\ /
\/
int RegisterWindowMessageA (parâmetro de corda);
provavelmente há um problema com isto, teremos que mexer com ele.
Ajude a editar o roteiro para transferir o relatório para o gráfico. Não consigo encontrar a razão pela qual não render...
O link é para a base de código.
Versão ligeiramente afinada por mim no trailer.
1. Não há PostMessageA na importação, mas há uma no código.
2. O formato mudou na comunicação com a api (aqui está um exemplo de trabalhoPavlick28.07.2014 17:24#)
Boa tarde, por favor, ajude. Estou usando um indicador CCI com o período 34 e com o período 170. Preciso verificar se a CCI 170 cruza a linha de zero da CCI 34. Em outras palavras, quero ver quando a CCI 34 cruza a linha do zero primeiro, e a CCI 170 cruza a linha do zero depois dela. Nesse momento, a CCI 170 pode ter qualquer valor, e as linhas zero desses indicadores não coincidem no gráfico.
Como posso fazer isso? Preciso usar operadores gráficos? Quais e como? Muito obrigado de antemão.
Ou é complicado ou não funciona.
Qual é a dificuldade? Colocar um ponteiro de arquivo no início do fio? Ou substituir a leitura da linha pela escrita?
Aqui, você tem uma dica.
FileSeek() para ajudar.
Buscar ajuda:
Boa tarde, por favor, ajude. Estou usando um indicador CCI com o período 34 e com o período 170. Preciso verificar se a CCI 170 cruza a linha de zero da CCI 34. Em outras palavras, quero rastrear o momento 1.quando a CCI 34 cruza a linha do zero primeiro, e depois a CCI 170 cruza alinha do zero. Neste ponto a CCI 170 pode ter qualquer valor, as linhas zero destes indicadores no gráfico não coincidem.
Como posso fazer isso? 2.Preciso usar operadores de gráficos? Quais e como? Muito obrigado de antemão.
2. Por que ?iCCI(......);
Uma opção é:
1. Iniciando um contador. Um ou dois é opcional.
Em seguida, o algoritmo para um contador:
1. rubricar 0.
Determinar quando ocorre a travessia zero da CCI(34) e iniciar um contador. Por exemplo, se atravessar UP, então +1, se DN -1.
3. se contador = 0 - aguarde a próxima barra.
4. Se o valor do contador for diferente de 0 - Verifique a travessia CCI(170).
4.1 Se não houvesse cruzamento, aumentar o valor do contador UP/Diminuir o valor do contador DN.
4.1 Se UP - Verificar valor do contador: se diferente de zero e menor que o valor requerido (por exemplo, esperamos uma passagem CCI(170) dentro de 5 barras de uma passagem CCI(34) - então um valor de 5 é requerido).
4.1.2 Se todas as condições forem atendidas na barra atual ou se mais do que o número esperado de barras tiver passado - redefinimos o contador para 0 .
4.1.3 Se as condições não forem cumpridas - aumente o valor do contador.
4.2 Se DN - da mesma forma, somente para valores negativos.