Problemas com o Tempo() - página 8

 

Sim, isso é um bom roteiro... qualquer novato em codificação deve prestar atenção a isso. Portanto, deve significar que é possível reorganizar o código OP para que ele funcione corretamente sem parênteses. pode até ser mais eficiente dessa forma.

 
SDC:

Sim, isso é um bom roteiro... qualquer novato em codificação deve prestar atenção a isso. Portanto, deve significar que é possível reorganizar o código OP para que ele funcione corretamente sem parênteses. pode até ser mais eficiente dessa forma.

Não, eu discordo disso. As pessoas "novas na codificação", e outras, deveriam usar muitas linhas em vez de tentar colar todos os testes possíveis em uma única linha. O OP está usando uma "ferramenta" que (aparentemente) requer toda a lógica em um só lugar. Mas no MT4 comum os testes devem ser divididos em linhas separadas ou em funções para que você possa colocar as declarações impressas entre elas e ver onde a lógica foi estragada (como é freqüentemente o caso :-)

Adicionar parênteses de forma alguma aumenta o custo computacional. E na MQL4 colocar a lógica em várias linhas é na verdade menos caro em termos computacionais. Portanto, só há ganhos usando múltiplas linhas e nenhuma desvantagem :-)

 
Não importa se algo é computacionalmente eficiente ou ineficiente se não funcionar como pretendido . . . faça-o funcionar primeiro . . depois passe o resto de sua vida otimizando-o se você quiser ou precisar. ;-)
 
SDC:

Sim, isso é um bom roteiro... qualquer novato em codificação deve prestar atenção a isso. Portanto, deve significar que é possível reorganizar o código OP para que ele funcione corretamente sem parênteses. pode até ser mais eficiente dessa forma.


Realmente. Portanto, é lógico que, afinal de contas, está tudo bem e pode até ser mais eficiente - após algum "reordenamento".

Às vezes eu acho que este site realmente derrota sua própria lógica de existência. Tudo isso sem sentido, só para chegar a "talvez até seja mais eficiente dessa forma".

Irreal.

 
dabbler:

Interessante, como é isto

https://www.mql5.com/en/forum/126224

Ajuda a conhecer os antecedentes do que estamos falando!


Eu tenho evitado este fio porque há muita chatice de todos os lados. Parece tão desnecessário.


Talvez o OP deva iniciar um novo tópico para que os respondentes não tenham que ler 200 posts com 100% de precisão para descobrir o que está acontecendo.

E talvez todos pudessem parar de chamar nomes de pessoas.


Dada a abordagem absolutamente errada do meu tópico pela brigada realmente cheia de temas, o único tópico novo que eu pensaria em começar neste fórum, é o que diz a todos os roteiristas não-MQL para se afastarem deste poço de víboras de um fórum - para seu próprio benefício.

 
dabbler:
Curiosamente, eu verifiquei isso e me pareceu bem. MQL4 e C (e qualquer outra linguagem de computador) tem um conjunto de regras de precedência que dão uma interpretação exata de uma expressão lógica.


Não brinca - eu sabia disso, e nem sequer sou desenvolvedor! Por que você acha que eu escrevi dessa maneira para começar? Como não programador, tomei a abordagem mais lógica disponível e coloquei cada expressão na ordem mais lógica, sem saber nada sobre a necessidade da bola curva que a MQL coloca na segmentação de argumentos individuais que usam operadores lógicos, usando parênteses. Quem diabos vai saber alguma coisa sobre tal exigência, a menos que codifique MQL todos os dias, o dia todo.

Do ponto de vista de um roteirista não-MQL, tendo em vista que acabei de começar a usar MQL como um meio de executar operações fora de meu protótipo de sistema de negociação que não usa MQL, eu diria que esta primeira rodada foi muito bem feita de um ponto de vista puramente lógico. O erro (se havia algum) não era lógico, era SINTÁTICO:


Day() == 1 || Day() == 2 || Day() == 3 || Day() == 4 && TimeHour(TimeCurrent()) >=23 &&
 TimeMinute(TimeCurrent()) >=57 || Day() == 5 && TimeHour(TimeCurrent()) >=21 && TimeMinute(TimeCurrent()) >=57


Há uma diferença entre alguém que se engana na sintaxe, e alguém que simplesmente não tem nenhum entendimento lógico sobre o que está fazendo, seja lá o que for. Mas, é claro, o I'm-An-MQL-Gurus neste quadro, falhou em perceber tanto assim. Dado o tempo que estive exposto à MQL, e dada a complexidade de todos os meus EAs, duvido que a maioria dos recém-chegados à MQL tivesse chegado até aqui com o que estou tentando realizar.

O fato de que eu estava meramente sintáticamente em erro, diz tudo o que preciso saber sobre esta resposta da diretoria ao meu OP.

Como eu disse, Traders, Trade. Ao longo dos anos, não tenho tempo a mais para desenvolver apuradas habilidades de programação. Da mesma forma, Codificadores, código. E, ao longo dos anos, encontrei poucos deles que foram capazes de escrever uma única linha de lógica comercial repetível que contém o reconhecimento de padrões historicamente significativos, suficientes para construir capital real e, portanto, riqueza real.

Eu tenho um sistema comercial totalmente integrado que funciona quase sem falhas. Meu único interesse na MQL, é iniciar a exploração do POC de prazos mais baixos, dos quais meu protótipo não tira vantagem neste momento.

Este seria um ótimo site, se não fosse a atitude esmagadoramente errada de codificar-guru que derrota seu propósito de existir. Talvez um dia você consiga descobrir essa pista.

 
RaptorUK:
Não importa realmente se algo é computacionalmente eficiente ou ineficiente se não funcionar como pretendido . . . faça-o funcionar primeiro . . então passe o resto de sua vida otimizando-o se você quiser ou precisar. ;-)


Funciona muito bem, agora. Não graças a ninguém neste quadro, como eu próprio imaginei, uma forma de obter a iteração baseada no tempo que preciso e em todo o intervalo de tempo necessário para que a lógica comercial ganhe vida. Essencialmente, o código escaneia uma série de modos iCustom em vários períodos de tempo, para configurações específicas através de um intervalo de tempo específico único para cada modo.

Você só viu a peça baseada no Tempo(), aqui neste fórum. O EA é na verdade composto de cinco (5) EAs diferentes, cada um monitorando o desempenho comercial do outro, para não acionar sinais subordinados, e para permitir que sinais superiores persistam (já que a posição permanece aberta). O sistema geral é projetado para permanecer no mercado à medida que transita do vertical para o horizontal e de volta para o vertical. Não é algo facilmente projetado de um ponto de vista de lógica comercial.

Certamente, não é sua estratégia cruzada típica (toda para familiar) e não há indicadores "padrão" em uso.


A ÚNICA coisa que importa no negócio de comércio é a lógica comercial final que você implanta no mercado. Tudo o mais, incluindo as grandes habilidades de programação que se pensa ter, não importará uma colina de feijões, se você não puder escrever Lógica Comercial sólida de rocha.

Nuf disse, sobre este assunto e sobre o tópico "eu".

 

Para aqueles que precisam aprender mais sobre como desenvolver uma lógica comercial que funcione, criei um laboratório temporário enquanto realizo minhas pesquisas para saber se meus projetos de indicadores personalizados têm ou não validade temporal mais baixa. O site é: CollaborativeFx.forumer.com. Eu retirei o site do ar até que eu conseguisse obter um número suficiente de projetos Bot e pudesse apresentar os resultados.

[Você pode acompanhar meu retorno ao projeto CollaborativeFx.forumer.com online no Twitter @CollaborativeFx. O CollaborativeFx, é um site de P&D SOMENTE. Não há produtos comerciais permitidos no site, e não há nada à venda no site. Será um site dedicado às pessoas de mente positiva interessadas em descobrir o que torna possível uma boa lógica comercial.

NÃO é um site dedicado à MQL. No site, a MQL não será mais do que uma ferramenta para construir várias provas de conceitos, relacionados a um punhado de indicadores principais personalizados que desenvolvi desde o início ao longo dos anos. Naturalmente, você sempre terá outros sites programadores de MQL. O CollaborativeFx, é tudo sobre Desenvolvimento de Lógica Comercial.