Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 240
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
1) - Esta parte abre o arquivo 11112222.txt para ler os dados do mesmo:
//=================================BUY=========================================
int handle2 = FileOpen("11112222.txt", FILE_CSV|FILE_READ, ";");//код открывает файл для чтения
2) - A seguir vem a condição se o cabo2>0
if(handle2>0) // если в файле больше 0, то есть 1, то открывать BUY
{
3) - Esta é a parte que eu não entendo:
Print(FileReadString(handle2));
4) - Esta parte encerra o arquivo:
FileClose(handle2); // закрытие текстового файла
5) - Como o cabo de condição2>0 é atendido, ou seja, o arquivo 11112222.txt contém 1, uma ordem de compra é aberta:
//ОТКРЫТИЕ ОРДЕРА НА ПОКУПКУ
if(OrdersTotal() == 0) // если нет открытых ордеров то открывать ордер на покупку
{
OrderSend(Symbol(), OP_BUY, 0.01, Ask, 3, 0, 0); // первым указывается ЛОСЬ, вторым ПРОФИТ
FileClose(handle2); // закрытие текстового файла
}
else
Print("NE USPESHNO!!!");
FileClose(handle2); // закрытие текстового файла
}
//=================================конец кода BUY=========================================
1) Abre o arquivo, mas não lê seu conteúdo.
2) O cabo do arquivo é SEMPRE maior que zero. Assim, a condição será sempre mantida se o arquivo existir independentemente de seu conteúdo.
3) Isto é exatamente a leitura do conteúdo do arquivo. Embora eu não entenda por que a leitura de cordel é feita, se o número deve ser lido... Mas ainda assim pode ser outro problema. Agora o principal é descrever a seqüência de ações.
4) É claro que o arquivo deve ser fechado e ele se fecha.
E apenas a cláusula seguinte precisa ser condicionada dependendo do que você ler na cláusula 3, mas não a segunda cláusula.
1) abre um arquivo, mas não lê seu conteúdo.
2) Um cabo de arquivo é SEMPRE maior que zero. Assim, a condição será sempre mantida se o arquivo existir independentemente de seu conteúdo.
3) Isto é exatamente a leitura do conteúdo do arquivo. Mas não entendo porque se lê uma corda, se um número é para ser lido. Mas ainda assim pode se referir a outro problema. Agora o principal é descrever a seqüência de ações.
4) O arquivo deve ser fechado, é claro, e está sendo fechado.
E apenas a cláusula seguinte deve ser condicionada dependendo do que você ler na cláusula 3, mas não a segunda cláusula.
Não... INVALID_HANDLE tem valor -1.
É quando recebe um erro de abertura de arquivo, então ele receberá um sinal de venda...
Outras constantes
Constantes especiais usadas para indicar o estado dos parâmetros e variáveis. Podem ser os seguintes valores:
Constante
Descrição
Valor
NULL
Nulo de qualquer tipo. Também indica estado de fio vazio
0
VAZIO
Indica o estado vazio do parâmetro
-1
VAZIO_VALOR
Valor vazio no buffer indicador
2147483647 (0x7FFFFFFFFFF)
CLR_NONE, clrNONE
Sem cor. Valor padrão, ponteiro para valor vazio. Usado em indicadores personalizados
-1
CHARTS_MAX
Número máximo possível de gráficos abertos simultaneamente no terminal
100
INVALID_HANDLE
Manuseio incorreto
-1
IS_DEBUG_MODE
Sinal de um programa de mq5 em modo de depuração
no modo de depuração não é igual a zero, caso contrário 0
IS_PROFILE_MODE
Sinal de um programa de mq5 no modo de perfil
no modo de perfil não é igual a zero, caso contrário é 0
ARRAY_BRANCO
Indica o número de elementos que restam até o final da matriz, ou seja, a matriz inteira será processada
0
VALOR_VALOR ESCRITO
Uma constante pode ser implicitamente moldada a qualquer tipo de enumeração
-1
Não vi esta linha, então criei uma nova. por favor, vejaem https://www.mql5.com/ru/forum/206126
1) abre um arquivo, mas não lê seu conteúdo.
2) Um cabo de arquivo é SEMPRE maior que zero. Correspondentemente, a condição será sempre mantida se o arquivo existir independentemente de seu conteúdo.
3) Isto é exatamente a leitura do conteúdo do arquivo. Mas não entendo porque se lê uma corda, se um número é para ser lido. Mas ainda assim pode se referir a outro problema. Agora o principal é descrever a seqüência de ações.
4) O arquivo deve ser fechado, é claro, e está sendo fechado.
E apenas o próximo item deve ser condicionado dependendo do que você ler no item 3, mas não o segundo item.
Caros gurus MQL - se você não for um problema, por favor, ajude-me com este código, passei meio dia em motores de busca, mas não encontrei nada semelhante.
Eu acho que são apenas algumas linhas, mas para um usuário experiente é uma questão de minutos))))
Como uma dll em c+++ pode pegar uma string de mql4 e convertê-la em char*?
Este é o código certo, não é?Olá a todos, poderiam me dizer por favor, eu escrevi um EA há cerca de um ano, estava funcionando bem. Eu não o usei todo esse tempo. Não sei o que fazer com ele, só não sei o que fazer com ele. Pode ser porque eu mudei de Build? Atualmente estou usando o Build 1090.
Parece ser uma questão de algumas linhas, o que para uma pessoa conhecedora é uma questão de três minutos))))
Demorei duas horas. Tenho que verificar o sistema peça por peça. Execute os dois EAs de uma só vez em gráficos adjacentes - tudo será visível. Expert Advisor 1 = Escrever para arquivar
//+------------------------------------------------------------------+ //| Запись в файл -1 0 1 1.mq4 | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Инициализация - установка интервала таймера | //+------------------------------------------------------------------+ void OnInit() { EventSetTimer(7); } //+------------------------------------------------------------------+ //| Деинициализация - удаление метки | //+------------------------------------------------------------------+ void OnDeinit(const int Зачем) { ObjectDelete("Семафор"); } //+------------------------------------------------------------------+ //| По таймеру каждые 7 секунд | //+------------------------------------------------------------------+ void OnTimer() { int x=0; if(rand()<20000) { x=1; if(rand()<16000) x=-1; } ObjectCreate("Семафор",OBJ_LABEL,0,0,0); ObjectCreate("Семафор", OBJ_LABEL, 0, 0, 0); // Создание ObjectSet("Семафор", OBJPROP_CORNER, 3); // В правый нижний угол ObjectSet("Семафор", OBJPROP_XDISTANCE, 0); // Координата X ObjectSet("Семафор", OBJPROP_YDISTANCE, 40); // Координата Y ObjectSetText("Семафор",(string)x+" Открываю",20,"Arial",Yellow); ChartRedraw(0); Sleep(2000); int handle = FileOpen("123.txt", FILE_BIN | FILE_WRITE); if(handle == -1) { ObjectSetText("Семафор","Ошибка",20,"Arial",Salmon); ChartRedraw(0); return; } ObjectSetText("Семафор",(string)x+" Записываю",20,"Arial",DeepSkyBlue); ChartRedraw(0); FileWriteInteger(handle, x, 4); Sleep(2000); ObjectSetText("Семафор","",20,"Arial",White); ChartRedraw(0); FileClose(handle); }
EA 2 = Ler arquivo
//+------------------------------------------------------------------+ //| Чтение файла -1 0 1 2.mq4 | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Инициализация - установка интервала таймера | //+------------------------------------------------------------------+ void OnInit() { EventSetTimer(1); } //+------------------------------------------------------------------+ //| Деинициализация - удаление метки | //+------------------------------------------------------------------+ void OnDeinit(const int Зачем) { ObjectDelete("Семафор"); } //+------------------------------------------------------------------+ //| По таймеру каждую секунду | //+------------------------------------------------------------------+ void OnTimer() { int x=0; ObjectCreate("Семафор",OBJ_LABEL,0,0,0); ObjectCreate("Семафор", OBJ_LABEL, 0, 0, 0); // Создание ObjectSet("Семафор", OBJPROP_CORNER, 2); // В правый нижний угол ObjectSet("Семафор", OBJPROP_XDISTANCE, 0); // Координата X ObjectSet("Семафор", OBJPROP_YDISTANCE, 40); // Координата Y ObjectSetText("Семафор","",20,"Arial",Yellow); ChartRedraw(0); Sleep(500); int handle = FileOpen("123.txt", FILE_BIN | FILE_READ); // Получаем НОМЕР файла в ОС if(handle == -1) // Если производится запись, файл занят, будет ошибка { ObjectSetText("Семафор","Ошибка",20,"Arial",Salmon); ChartRedraw(0); return; } x = FileReadInteger(handle,4); // Получаем СОДЕРЖИМОЕ файла ObjectSetText("Семафор",(string)x+" Прочитал",20,"Arial",DeepSkyBlue); ChartRedraw(0); FileClose(handle); }
Olá a todos, poderiam me aconselhar, escrevi um EA há cerca de um ano, estava funcionando bem. Eu não o usei todo esse tempo. Não sei o que fazer com ele, só não sei o que fazer com ele. Pode ser porque eu mudei de Build? Atualmente estou usando o Build 1090.
É bem possível, tem havido muitas inovações. Comece verificando a existência de erros de compilação. Com a diretiva #PropertyStrict.
Pode muito bem ter havido muitas inovações. Comece verificando a existência de erros de compilação. Com a diretiva #PropertyStrict.
Não existe tal diretriz.
Há:
Pode muito bem ter havido muitas inovações. Comece verificando a existência de erros de compilação. Com a diretiva #PropertyStrict.
Não existe tal diretriz.
Há:
Mas não posso abrir o arquivo EA que está em meu computador com extensão ex4, mas não existe tal arquivo através do MetaEditor. Por favor, diga-me qual é a razão.