[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 471
CSV - Valores separados por vírgula. O "," é o delimitador padrão. A separação com ";" é usada com menos freqüência, e não tenho certeza se ela é sequer suportada na MQL4.
int FileOpen(
string filename, int mode, int delimiter=';')
Abre arquivo para entrada e/ou saída. Devolve o descritor do arquivo aberto ou -1 em caso de falha. Ligue para GetLastError() para obter mais informações sobre o erro. Nota: os arquivos só podem ser abertos nos arquivos do terminal(arquivos de teste do terminal em caso de teste por especialistas) ou em suas subpastas. Os modos FILE_BIN e FILE_CSV não podem ser usados simultaneamente. Se FILE_WRITE não for combinado com FILE_READ, um arquivo com comprimento zero será aberto. Mesmo que houvesse dados no arquivo antes de ele ser aberto, ele será destruído. Se os dados precisarem ser anexados a um arquivo existente, eles devem ser abertos usando a combinação FILE_READ | FILE_WRITE. Se FILE_READ não for combinado com FILE_WRITE, o arquivo só será aberto se ele já existir. Se o arquivo não existir, ele pode ser criado usando o FILE_WRITE. Não mais que 32 arquivos podem ser abertos ao mesmo tempo dentro do mesmo executável. Os descritores de arquivos abertos em um módulo não podem ser transferidos para outros módulos (bibliotecas).
Parâmetros:
nome do arquivo
-
Nome do arquivo - nome do arquivo.
modo
-
Método de abertura. Este pode ser um único valor ou uma combinação de valores: FILE_BIN, FILE_CSV, FILE_READ, FILE_WRITE.
delimitador
-
Um caractere delimitador para arquivos csv. Por padrão é aplicado o caracter ';'.
Exemplo:
int handle; handle=FileOpen("my_data.csv",FILE_CSV|FILE_READ,';'); if(handle<1) { Print("File my_data.dat not detected, last error ", GetLastError()); return(false); }
Что конкретно Вам не понравилось в том что я пишу?..
Está tudo errado. O ";" é o delimitador padrão. FileReadString - não lê a cadeia completa, mas da posição atual do ponteiro no arquivo para o próximo separador.
Olá, você poderia me dizer como chamar a variável requerida de um indicador personalizado? Eu tentei GlobalVariableSet() / GlobalVariableGet() - funciona a partir de outro EA, mas não a partir de um indicador. Agradecemos antecipadamente.
Olá, você poderia me dizer como chamar a variável requerida de um indicador personalizado, tentei GlobalVariableSet() / GlobalVariableGet() - funciona de outro EA, mas não de um indicador. Agradecemos antecipadamente...
Qual variável você quer obter e de qual indicador?
Preço desde +MP (linha 228) - Preciso de valores (preço) níveis
tente mover o prise variável para nível global, e coloque a string GlobalVariableSet("55", prise); no início da função start() e a partir do outro programa obtenha o dobro x=GlobalVariableGet("55");
tente mover o prise variável para nível global, e coloque a string GlobalVariableSet("55", prise); no início da função start() e a partir do outro programa obtenha o dobro x=GlobalVariableGet("55");
Eu já tentei... Escreve que a variável global não é descrita, ou seja, as variáveis globais não saem do indicador... >> Vou tentar novamente.
As matrizes de cordas são preenchidas normalmente a partir de um arquivo. Mas, eu preciso converter estas cordas para o dobro. Eu faço isso: x1[k]=StrToDouble(ss1[k]); mas, quando a saída para Alert, x1[0] = 0, o que está errado. ou seja, há um erro na conversão de tipo em algum lugar...
Друзья, спасибо большое, что откликнулись. уточнение, как преобразовать string в double? StrToDouble() - не прокатывает :( Строковые массивы заполняются из файла нормально. Но, необходимо преобразовать эти строки в double. делаю это: x1[k]=StrToDouble(ss1[k]); но, при выводе в Алерте, x1[0] = 0, что неправильно. то есть, где-то тут ошибка в преобразовании типов...
Как такую ситуацию исправить?
Você poderia, por favor, postar o roteiro inteiro? Quero dizer com as declarações de matriz variável, etc.
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.
CSV - Valores separados por vírgula. O "," é o delimitador padrão. A separação com ";" é usada com menos freqüência, e não tenho certeza se ela é sequer suportada na MQL4.
Nota: os arquivos só podem ser abertos nos arquivos do terminal(arquivos de teste do terminal em caso de teste por especialistas) ou em suas subpastas.
Os modos FILE_BIN e FILE_CSV não podem ser usados simultaneamente.
Se FILE_WRITE não for combinado com FILE_READ, um arquivo com comprimento zero será aberto. Mesmo que houvesse dados no arquivo antes de ele ser aberto, ele será destruído. Se os dados precisarem ser anexados a um arquivo existente, eles devem ser abertos usando a combinação FILE_READ | FILE_WRITE.
Se FILE_READ não for combinado com FILE_WRITE, o arquivo só será aberto se ele já existir. Se o arquivo não existir, ele pode ser criado usando o FILE_WRITE.
Não mais que 32 arquivos podem ser abertos ao mesmo tempo dentro do mesmo executável. Os descritores de arquivos abertos em um módulo não podem ser transferidos para outros módulos (bibliotecas).
int handle; handle=FileOpen("my_data.csv",FILE_CSV|FILE_READ,';'); if(handle<1) { Print("File my_data.dat not detected, last error ", GetLastError()); return(false); }Что конкретно Вам не понравилось в том что я пишу?..
Está tudo errado.
O ";" é o delimitador padrão.
FileReadString - não lê a cadeia completa, mas da posição atual do ponteiro no arquivo para o próximo separador.
Olá, você poderia me dizer como chamar a variável requerida de um indicador personalizado? Eu tentei GlobalVariableSet() / GlobalVariableGet() - funciona a partir de outro EA, mas não a partir de um indicador. Agradecemos antecipadamente.
Olá, você poderia me dizer como chamar a variável requerida de um indicador personalizado, tentei GlobalVariableSet() / GlobalVariableGet() - funciona de outro EA, mas não de um indicador. Agradecemos antecipadamente...
Qual variável você quer obter e de qual indicador?Preço a partir de +MP (linha 228) - Eu preciso de valores de nível (preço)
Preço desde +MP (linha 228) - Preciso de valores (preço) níveis
tente mover o prise variável para nível global, e coloque a string GlobalVariableSet("55", prise); no início da função start() e a partir do outro programa obtenha o dobro x=GlobalVariableGet("55");
tente mover o prise variável para nível global, e coloque a string GlobalVariableSet("55", prise); no início da função start() e a partir do outro programa obtenha o dobro x=GlobalVariableGet("55");
Eu já tentei... Escreve que a variável global não é descrita, ou seja, as variáveis globais não saem do indicador... >> Vou tentar novamente.
Acho que tentei... diz que nenhuma variável global é descrita, ou seja, nenhuma variável global sai do indicador. >> Vou tentar novamente.
Uma vez corrigido o código, afixe-o aqui.StrToDouble() não funciona :(
As matrizes de cordas são preenchidas normalmente a partir de um arquivo. Mas, eu preciso converter estas cordas para o dobro.
Eu faço isso:
x1[k]=StrToDouble(ss1[k]);
mas, quando a saída para Alert, x1[0] = 0, o que está errado. ou seja, há um erro na conversão de tipo em algum lugar...
Como corrigir esta situação?
Друзья, спасибо большое, что откликнулись. уточнение, как преобразовать string в double?
StrToDouble() - не прокатывает :(
Строковые массивы заполняются из файла нормально. Но, необходимо преобразовать эти строки в double.
делаю это:
x1[k]=StrToDouble(ss1[k]);
но, при выводе в Алерте, x1[0] = 0, что неправильно. то есть, где-то тут ошибка в преобразовании типов...
Как такую ситуацию исправить?
Você poderia, por favor, postar o roteiro inteiro? Quero dizer com as declarações de matriz variável, etc.