[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 584

 

Olá a todos!

Estou olhando para um exemplo de um livro didático. Não consigo descobrir qual a função que a seguinte condição desempenha:

ObjectSet(His_Name,OBJPROP_RAY,  false);  

Eu mesmo anexei o código. O Expert Advisor coloriu as últimas n barras.

Por favor, ajude-me a compreendê-lo.

Arquivos anexados:
strings.mq4  7 kb
 
rigonich:


void,int,bool que precede uma função inicializada, indica o tipo de variável, cujo valor é retornado pela função ao programa para que o programa possa continuar trabalhando com ela.void indica que a função não retorna nenhum valor (se o resultado da função for, por exemplo, fechar ou abrir ordens, ou alterar valores de variáveis globais, ela não deve retornar valores, pois

Quanto àoutralíngua, existe uma versão em inglês do fórum. A linguagem é simplesmente um conjunto de regras e em um determinado idioma há nomes comuns para objetos e fenômenos. Se você usa nomes que não são comuns, mas os que você prefere, você não será compreendido.


Acho que entendi :))) obrigado :))
 
Sergstuddek:
A essência do trabalho da EA é simples: em um determinado momento (01.00 às 10.00) determinar o preço mínimo e máximo e colocar as ordens pendentes


Eu já vi seu código e não sei o que dizer. ComoTarasBY disse acima, é mais fácil dizer o que está certo nele:

Como lhe disse acima -- Segundos(),Minuto(),Hora() funções retornam hora de início do servidor, e sob esta condição se (Hora()==10), sua função não funcionará se você não tiver iniciado seu Expert Advisor às 10 horas. Você tem tais condições o tempo todo. Leia com cuidado a descrição das funções no Help.

2.if (TIMECLOSEHIGH19>TIMEOPENLOW19) e if (TIMECLOSELOW19<TIMEOPENHIGH19) -- estas são condições que sempre funcionarão.

3. não escreva 3 ou 4 funções quase idênticas em um programa, faça uma função e passe a ela os parâmetros necessários quando a chamar. Isto não é um erro, mas torna seu código incômodo e difícil de ler.

4) Use qualquer, mas sempre o mesmo sistema de disposição de caracteres de sintaxe (espaços, abas, quebras de linha, parênteses), caso contrário você se confundirá e os outros ficarão confusos.

Por enquanto é o suficiente, conserte-o e então veremos.

 
Pacman:

Olá a todos!

Estou olhando para um exemplo de um livro didático. Não consigo descobrir qual a função que a seguinte condição desempenha:

Eu mesmo anexei o código. O Expert Advisor coloriu as últimas n barras.

Por favor, ajude-me a compreendê-lo.


ObjectGet( nome da cadeia, int prop_id)
A função retorna o valor da propriedade do objeto especificado. Ligue paraGetLastError() para obter informações de erro.
Veja também ObjectSet().
Parâmetros:
nome - nome do objeto.
prop_id - Identificador de propriedade do objeto. Pode ser qualquer um dos valores da lista de propriedades do objeto.
 
rigonich:


Eu olhei para seu código, não sei o que dizer. ComoTarasBY disse acima, é mais fácil dizer o que está certo nele:

Como lhe disse acima -- Segundos(),Minuto(),Hora() funções retornam hora de início do servidor, e sob esta condição se (Hora()==10), sua função não funcionará se você não tiver iniciado seu Expert Advisor às 10 horas. Você tem tais condições o tempo todo. Leia com cuidado a descrição das funções no Help.

2.if (TIMECLOSEHIGH19>TIMEOPENLOW19) e if (TIMECLOSELOW19<TIMEOPENHIGH19) -- estas são condições que sempre funcionarão.

3. não escreva 3 ou 4 funções quase idênticas em um programa, faça uma função e passe a ela os parâmetros necessários quando a chamar. Isto não é um erro, mas torna seu código incômodo e difícil de ler.

4) Use qualquer, mas sempre o mesmo sistema de disposição de caracteres de sintaxe (espaços, abas, quebras de linha, parênteses), caso contrário você se confundirá e os outros ficarão confusos.

Por enquanto é o suficiente, conserte-o e então veremos.

Você merece um monumento! O maior problema em ajudar o "PROGRAMADOR de amanhã" é que ele não consegue perceber ou mesmo explicar "O QUE ELE QUER???", porque é IMPOSSÍVEL conseguir que o kolbak-insert-sinta tudo ao mesmo tempo!!!! :)))
 
TarasBY:
Você já deve ter um monumento a si mesmo! O maior problema em ajudar o "PROGRAMADOR de amanhã" é que ele não consegue perceber ou mesmo explicar "o que ele quer???", porque é IMPOSSÍVEL que ele não consiga colocar tudo para dentro e para fora ao mesmo tempo! :)))


Como Kissa Sparrowmaninov costumava dizer. Sim.
 
rigonich:
ObjectGet( nome da cadeia, int prop_id)
A função retorna o valor da propriedade do objeto especificado. Você precisa ligar paraGetLastError() para obter as informações de erro.
Veja também ObjectSet().
Parâmetros:

Tudo isso está claro para mim. Mas que função específica esta seção de código desempenha -
 ObjectSet(    His_Name, OBJPROP_RAY,   false); // Луч
 

Eis o que eu já escrevi:

-------------------------------------------

int start()

{

condição de compra,

a própria compra,

e modificações

retorno(0);

}

-----------------------------------------

O problema é que agora eu preciso entrar em NOVAS condições, fechar as condições e depois fechar a si mesmo, e minha EA começa a se modificar infinitamente (parar e tomar são fixos, mas a mensagem sobre a modificação bem sucedida aparece a cada tique).

Como posso agora criar um loop dentro deste início para novas condições e fechamento, para que a primeira parte da EA não seja afetada até que se feche completamente?

 
rigonich:

Bem, então eu não sei. Você precisa olhar através do código, não apenas da função, mas de todo o programa, verificar se há erros no caminho, imprimir valores de variáveis e o último erro e procurar por um local de erro específico no código. Quando eu depurava meus próprios programas, se eles eram bastante grandes (cerca de 1000 linhas), às vezes levava semanas, ou seja, mais tempo do que escrevê-los.


não há nada de errado lá, quando não havia tais funções, tudo funcionava como um relógio! e funciona agora, mas o erro de modificação ocorre na própria função

Eu tenho uma idéia, talvez este erro apareça porque a função de modificação está na função do usuário, não no corpo do início()?

 
Pacman:



Diz que não se deve construir um raio para um objeto chamado His_Name.
Razão: