[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 442
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
A documentação e um livro didático MQL são como a Bíblia e um livro didático MQL.
Pense em qual escolher para ler e estudar - a documentação primária ou a interpretação do autor?
O problema é que eu já li o livro didático (5 ou 6 vezes e anotei para mim mesmo), e a própria documentação (pelo menos 3 vezes), e fiz alguns scripts e indicadores.... Essas perguntas que estou fazendo agora são uma espécie de "limpeza" dos pontos mal entendidos restantes... Isto é o que justifica minha "irritante" repetição de perguntas... Não quero mesmo deixar buracos negros...
MQL é minha primeira língua em geral (exceto russo e ucraniano), portanto, infelizmente, não há como "dominar" a Documentação))
Pense nisso - MQL é uma das poucas linguagens de programação originalmente escrita por falantes nativos da língua e mentalidade russa. E não uma traduzida, como a maioria das linguagens de programação são. Portanto, compreender sua essência não é realmente difícil. Além disso, é muito, muito fácil e se adapta perfeitamente ao papel de "primeira língua". Se a documentação for muito pesada para você, você pode continuar aprendendo com um tutorial (do qual há muitos na Internet). Mas lembre-se que qualquer interpretação de qualquer coisa envolve a visão e os métodos do intérprete. Eu recomendo vivamente que você estude a documentação, você precisa conhecê-la como uma tabela de multiplicação. Você chegará lá de qualquer maneira, então por que seguir o caminho da rotunda.
Olá a todos!
Estou apenas começando a aprender MQL (por favor, não julgue de forma muito dura).
Eu tenho uma pergunta do tutorial MQL4.
Eu iniciei o programa e ele funciona.
Não entendo como o programa conta de 10 a 19, se o operador de laço"for(int i=20; i<=90; i=i+10)" conta de 20 e"for(int j=1; j<=9; j++)" de 1 a 9.
Por favor, explique.
E quanto aos pedidos que se fecham depois de um tempo????
Sim, se o tio Kolya estiver aqui....
double valHigh = iHigh(Symbol(),PERIOD_H1,1);
double valLow = iLow(Symbol(),PERIOD_H1,1);
não funciona, prazos diferentes têm dados diferentes e você precisa da última hora:(
não funciona, dados diferentes sobre prazos diferentes, e eu preciso deles para a última hora :(
Você já examinou esta função?
TOTALMENTE:)
Obrigado
Obrigado!!!
Você conhece a função onde você pode definir o horário de negociação, ou seja, a EA só negocia das 11:00 às 19:00 depois das 19:00, fecha a posição ou coloca uma parada e não abre uma posição até a manhã seguinte 09:00
Obrigado
Boa sorte!Seja bem-vindo! Eu não uso a função de tempo aberto. É uma opção melhor para a otimização:
Por favor, me diga o que eu perdi quando rediscutei o código para linhas horizontais
int start()
{
bool fm=false;
int GLE=0;
double SvojstvoUP=111,SvojstvoDOWN=111,SvojstvoAM=TimeLocal()-4*60*60,SvojstvoPM=0;
fm=ObjectCreate("UP_LEVEL",OBJ_HLINE,0,Time[0],Bid+111*Point);
if(fm==0 || fm==-1)
fm=ObjectSet("UP_LEVEL",OBJPROP_COLOR,Green);
if(fm==0 || fm==-1)
fm=ObjectSet("UP_LEVEL",OBJPROP_WIDTH,5);
if(fm==0 || fm==-1)
SvojstvoUP=ObjectGet("UP_LEVEL",OBJPROP_PRICE1);
if(SvojstvoUP==111)
if(SvojstvoUP!=Bid+111*Point){
fm=ObjectSet("UP_LEVEL",OBJPROP_PRICE1,Bid+111*Point);
if(fm==0 || fm==-1)
return(0);}
fm=ObjectCreate("DOWN_LEVEL",OBJ_HLINE,0,0,Bid-111*Point);
if(fm==0 || fm==-1)
fm=ObjectSet("DOWN_LEVEL",OBJPROP_COLOR,Red);
if(fm==0 || fm==-1)
fm=ObjectSet("DOWN_LEVEL",OBJPROP_WIDTH,1);
if(fm==0 || fm==-1)
SvojstvoDOWN=ObjectGet("DOWN_LEVEL",OBJPROP_PRICE1);
if(SvojstvoDOWN==111)
if(SvojstvoDOWN!=Bid-111*Point){
fm=ObjectSet("DOWN_LEVEL",OBJPROP_PRICE1,Bid-111*Point);
if(fm==0 || fm==-1)
return(0);}
no código para linhas verticais.
fm=ObjectCreate("AM_LEVEL",OBJ_VLINE,0,TimeLocal()-4*60*60,0);
if(fm==0 || fm==-1)
fm=ObjectSet("AM_LEVEL",OBJPROP_COLOR,Yellow);
if(fm==0 || fm==-1)
fm=ObjectSet("AM_LEVEL",OBJPROP_WIDTH,1);
if(fm==0 || fm==-1)
SvojstvoAM=ObjectGet("AM_LEVEL",OBJPROP_PRICE1);
if(SvojstvoAM==TimeLocal()-4*60*60)
if(SvojstvoAM!=TimeLocal()-4*60*60){
fm=ObjectSet("AM_LEVEL",OBJPROP_PRICE1,TimeLocal()-4*60*60);
if(fm==0 || fm==-1)
return(0);}
fm=ObjectCreate("PM_LEVEL",OBJ_VLINE,0,Time[0],0);
if(fm==0 || fm==-1)
fm=ObjectSet("PM_LEVEL",OBJPROP_COLOR,Black);
if(fm==0 || fm==-1)
fm=ObjectSet("PM_LEVEL",OBJPROP_WIDTH,1);
if(fm==0 || fm==-1)
SvojstvoPM=ObjectGet("PM_LEVEL",OBJPROP_PRICE1);
if(SvojstvoPM==0)
if(SvojstvoPM!=Time[0]){
fm=ObjectSet("PM_LEVEL",OBJPROP_PRICE1,Time[0]);
if(fm==0 || fm==-1)
return(0);}
return(0);
}
Se não houver linhas, elas são desenhadas normalmente, o erro na segunda parte quando. Quando eles começam a verificar sua presença e a reorganizar se não estão no lugar.