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
Bem, nomes ingleses foram inventados por uma razão.
Posso lhe dar outro exemplo em que nomes russos matarão seu código:
Você dá seu código a um cliente que não tem Cirílico. É isso aí. .... all gone..... :-)
E o cliente precisa do código, ou da solução?
O cliente quer o código ou a solução?
é por isso que você precisa decidir sobre o alvo e os usuários finais.
Coloque-se no lugar do usuário e esqueça tudo o que você fez: como o usuário se sentirá?
Será que tudo fará sentido para ele ou ela?
é por isso que você precisa decidir sobre o alvo e os usuários finais.
Coloque-se no lugar do usuário e esqueça tudo o que você fez: como o usuário se sentirá?
Será que ele ou ela entenderá tudo?
Eu concordo. Eu escrevo em dois idiomas. Eu posso fazer isso puramente em inglês.
Você, como um falante de inglês, sinta-se livre para ignorar minha decisão. Existem poucas palavras em inglês.
A propósito, como você é tão bom com o código inglês, por favor, me ajude com o código proposto por Nikolay Semko:
Sinceramente, eu não entendo como funciona. Tem muitas sílabas curtas em inglês. Exatamente o que você gosta.
Isso é o que eu sei sobre 30% de inglês, e apenas técnico, não conversador.
Na programação, há apenas algumas dezenas de palavras, e você pode memorizá-las depois de escrever literalmente 1-2 programas.
P.S. O código que você postou, existem apenas 5 variáveis, como elas não podem entender?
É isso mesmo, eu sei cerca de 30% de inglês, e apenas técnico, não conversador.
Na programação há apenas algumas dezenas de palavras, e elas podem ser memorizadas ao escrever literalmente 1-2 programas.
P.S. O código que você postou lá são apenas 5 variáveis, como você pode não entendê-las?
Bem, contei 30 variáveis em meu código (na função principal). E para quantos você conta? (estava brincando).
30% de inglês técnico é muito forte. Você sabe quão rico é o inglês técnico?
Algumas dúzias de palavras na programação? Agora vejo porque não nos entendemos))).
zy. Se você se refere ao código do Nikolai, esclareça como ele funciona.
A propósito, a julgar pela imagem, a decomposição de cores aqui não está completa. Apenas a metade. A faixa deve se estender de completamente branco a completamente preto, através de todas as tonalidades de uma determinada cor.
Sim, você está certo.
Eu tentei implementá-lo e analisar e visualizar seu código.
Eis o que resultou disso:
Sua variante
minha variante:
Deixe-me explicar:
A linha branca é a linha de tom (soma das cores R+B+G) - idealmente deveria ser uma linha diagonal reta. Eu o tenho implementado, você não.
As linhas vermelha, azul e verde são linhas de relação de cores. Vamos chamá-los de harmônicas do espectro. O ideal seria que fossem verticais. Mas é impossível perceber isso depois que a cor máxima inicial passou a ser 255. Mas é possível chegar a uma situação em que não serão pontos de inflexão (marcados por setas vermelhas) e fazer um arco suave. Então, o declive parecerá sem "tufos". Este problema existe tanto em seus algoritmos quanto em meus. Pode ser corrigido, mas ainda não vejo o ponto, portanto é uma perda de tempo. Na prática, eu preciso de um gradiente de uma cor para outra. Isto é facilmente implementado com harmônicas estritamente verticais do espectro (o embaçamento da harmônica no topo é normal, pois é uma conseqüência do arredondamento). Neste problema, no entanto, o gradiente vai do preto ao branco através de uma terceira cor, razão pela qual estas manchas existem.
Estranho, eu tinha certeza que você estava escrevendo na MQL5. Mas além do programa dos 4, você também tem o estilo de programação dos 4. Tentei transferir seu algoritmo para 5, mas não funcionou, porque ele só exibe algumas faixas de cores. Isto provavelmente acontece por causa da confusão com o escopo das variáveis, mas corrigi-lo porque o código não é passível de depuração é extremamente difícil, por isso desisti. Entendo que você está acostumado ao seu estilo de programação e não entende o meu estilo. É mútuo porque estou acostumado a ver a estrutura de um programa em vez de lê-lo como um livro. E em seu código é impossível depurar e entender em que momento da definição da variável, os nomes longos das variáveis ocupam 90% do texto do programa, como resultado da qual a estrutura do programa é perdida, dissolvendo-se nestes nomes longos de variáveis de cor de barbie. Em resumo, seu código me parece pessoalmente como uma espécie de S&M.
Além disso, seu algoritmo acabou sendo dezenas de vezes mais lento, e a razão nem sequer é MQL4.Eu não consegui descobrir. Que tangentes, que triângulos quando só háRGB?
E tente dominar o sindicato - coisa muito útil.
Para entender melhor o que quero dizer, você deve tentar executar os dois scripts que anexei com seu algoritmo (MQL4) e o meu (MQL5).
Você também tem tais contratempos:
só que eu ainda não entendo, é um problema de lentidão do MT4 ou um bug em seu algoritmo.
1. Nikolai, mesmo comparando as duas primeiras fotos que você citou, você pode ver imediatamente que há uma névoa cinza pairando sobre sua versão. Veja com atenção. E na minha versão a cor é muito mais brilhante. Você acha que sua versão transmite melhor a cor?
2. Tomei a paleta de cores do Windows como referência. Consegui uma correspondência de 99% de cores. Verifique suas cores para ver se elas combinam com o Windows. Imprima uma série de tons como eu fiz. Em seguida, abra as propriedades do gráfico e a paleta. Entrar em janelas de valores de componentes de cor inicial e depois mover o controle deslizante para cima e para baixo. Os números vão mudar. Você procura por estes números em sua impressão e vê o quão bem eles correspondem.
3. eu entendo que a implementação específica pode variar. Eu não verifiquei meu algoritmo especificamente para velocidade, e não o otimizei para velocidade. Sua solução pode parecer dar-lhe uma velocidade maior. Não vou negá-lo.
4. Existe a noção de um prisma na óptica. Há uma noção de refração da luz. Eu estava começando a partir deste mesmo paradigma. Tracei 256*256 (de 0 a 255). Em seguida, tracei linhas. Encontrei o eixo de refração da cor. Ela está no centro do gráfico. Cada componente é uma curva que consiste em dois segmentos. No total, a cor tem três linhas curvas, cada uma delas refracta-se no centro do gráfico, dividindo-se em dois segmentos. Cada segmento tem seu próprio ângulo. A cor original tem uma coordenada no gráfico. Ela pode ser encontrada entre seus matizes. Minha tarefa era encontrar a cor inicial, determinar os ângulos de todos os seis segmentos e obter os valores de cada componente ao longo de sua linha.
5. Tangentes são proporções de cataratas contíguas a cataratas opostas. É necessário para o cálculo dos ângulos dos segmentos e o cálculo da altura dos catafetos opostos (que é o valor de um componente em um tom de cor concreta).
6. Quanto aos estilos de programação, sugiro que não discutamos isso. Para a essência do tópico não é relevante.
7. Sobre os contratempos - talvez sejam. Mas eu ainda não os encontrei. Portanto, não sei.
A propósito, diga-me como funciona a decomposição de cores em sua versão. Eu não entendo totalmente.
Eu simplesmente ainda não entendo, é um problema de lentidão do MT4 ou um bug em seu algoritmo.
Sobre a diferença de velocidade dos algoritmos:
1. seu algoritmo preenche a matriz de uint, enquanto o meu preenche a matriz de string. (Preciso exatamente de fio, para extrair facilmente os componentes necessários da sombra e depois trabalhar com eles). Você pode ver a diferença na velocidade de preenchimento dos dois tipos de matrizes a partir do roteiro abaixo.
2. seu algoritmo funciona em МТ5, e o meu em МТ4. A diferença na velocidade de enchimento destas plataformas foi discutida por mim aqui -https://www.mql5.com/ru/forum/222333. Pelo roteiro abaixo, você mesmo pode ver a diferença. Coloque-o em ambas as plataformas e compare.
Medi a velocidade de 30 000 células de matrizes int e string em MT4 e MT5 (ms):
Como você pode ver, meu algoritmo é mais lento por duas razões:
Sobre a diferença na velocidade dos algoritmos:
1. seu algoritmo preenche uma matriz de uint, enquanto o meu preenche uma matriz de string. (Preciso de fio para extrair facilmente os componentes necessários da sombra e depois trabalhar com eles). Você pode ver a diferença na velocidade de preenchimento dos dois tipos de matrizes a partir do roteiro abaixo.
2. seu algoritmo funciona em МТ5, e o meu em МТ4. A diferença na velocidade de enchimento destas plataformas foi discutida por mim aqui -https://www.mql5.com/ru/forum/222333. Pelo roteiro abaixo, você mesmo pode ver a diferença. Coloque-o em ambas as plataformas e compare.
Medi a velocidade de 30 000 células de matrizes int e string em MT4 e MT5 (ms):
Como você pode ver, meu algoritmo é mais lento por duas razões: