Os negociantes trabalham com o Excel. É como o "papel de tornassol". Se ele não está familiarizado com folhas de cálculo, que tipo de comerciante é ele? Como ele calcula orçamentos e dinheiro?
E se o programador não for capaz de traduzir uma folha de excel para um programa MQL, ele ainda deve praticar :-)
Yusuf está tentando fazer suas observações (mesmo com o raciocínio do qual eu discordo em princípio), mas você está fazendo uma coisa ainda pior - em vez de ajuda básica, você está forçando-o a aprender coisas desnecessárias. E, ao mesmo tempo, todos sabem que ele não iniciará a programação e não transferirá suas fórmulas para o mql. Você apenas zomba e tira meses ou até anos de distância de uma pessoa.
Hm, sim, não consigo imaginar como escrever diretamente para uma folha de excel - ela está sentada sozinha e desenrola o emaranhado - as mesas estão muito intrincadamente entrelaçadas - portanto, terá que gastar tempo para descobrir, e para avaliar o trabalho deve também de acordo com os TOR.
Além disso, novamente pela minha experiência, quando reescrevi o algoritmo do Excel, encontrei erros lógicos, pois pensei adicionalmente no que estava escrevendo - muitas vezes é conveniente fantasiar no Excel.
E, além disso, recomendo anexar o arquivo em si.
Por isso, considero seus argumentos sobre forçar o aprendizado desnecessário como infundado e infundado.
Se você tem as habilidades, por que não pegar e ajudar a pessoa lendo telepaticamente o TOR de sua cabeça à distância?
Estou cansado de resolver quebra-cabeças. Faça como se eu tivesse feito uma captura de tela na primeira página com explicações https://www.mql5.com/ru/forum/305148. Para tornar as informações mais digeríveis, faça o cálculo sobre uma história rasa, quanto menos melhor (será muito mais fácil entendê-lo). Se você quiser ajuda, comprima seus rolos de texto, ninguém vai ler um texto grande, muito menos entendê-lo.
De preferência, um zip do arquivo Excel e fazer perguntas sobre ele. Caso contrário, isto continuará para sempre. Você vai acabar torturando Yusuf. Bem, ele não pode fazer isso.
Yuriy Asaulenko: É melhor zipar o arquivo excel e fazer perguntas sobre ele. Caso contrário, isto continuará para sempre. Você vai acabar torturando Yusuf. Bem, ele não pode fazer isso.
Bem persuadido, poste um screenshot você mesmo, contribua para o desenvolvimento. Darei uma olhada amanhã.
Que tipo de resposta será o mesmo que uma saudação. Se você não tiver informações claras, não obterá nenhum resultado.
Yuriy Asaulenko: É melhor zipar o arquivo Excel e fazer perguntas sobre ele. Caso contrário, isto continuará para sempre. Você vai acabar torturando Yusuf. Bem, ele não pode fazer isso.
Este manequim é um simples indicador MA, por exemplo, mas é adaptado ao seu caso com algumas simplificações que não são ideais em termos de desempenho, mas menos estressantes para a aprendizagem.
Para escrever seu indicador, você só precisa escrever o código de cálculo no corpo da função
void Soltonov(int pos) // основной расчет индикатора бара pos. В массиве X, размерностью 13 находятся значение цены 13 бар, начиная от позиции pos
no momento há um cálculo de MA com o período 13 na forma de 3 linhas.
Por que eu tomei 13 por padrão? Porque você mesmo disse que utiliza 13 valores de preço para o cálculo no momento.
Estes 13 valores estão localizados em uma matriz X (X[0] a X[12])
Você simplesmente executa o cálculo destes 13 valores no corpo desta função e escreve o valor no buffer indicador SoltonovBuffer[pos]. Todo o indicador será formado automaticamente.
//+------------------------------------------------------------------+//| Soltunov.mq5 |//| Copyright 2018, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2018, MetaQuotes Software Corp."#property link"https://www.mql5.com/ru/users/yosuf"#property version"1.00"#property indicator_chart_window#property indicator_buffers1#property indicator_plots1//--- plot Soltonov#property indicator_label1"Soltonov"#property indicator_type1DRAW_LINE#property indicator_color1clrMagenta#property indicator_style1STYLE_SOLID#property indicator_width11//--- indicator buffersdouble SoltonovBuffer[]; // это буфер линии индикатораdouble X[]; // это вспомогательный массив для значений цены//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- indicator buffers mappingSetIndexBuffer(0,SoltonovBuffer,INDICATOR_DATA);
ArrayResize(X,13); // задаем размер динамического массива X - 13ArraySetAsSeries(X,true); // для удобства обучения устанавливаем индексацию массива как в таймсерииArraySetAsSeries(SoltonovBuffer,true); // для удобства обучения устанавливаем индексацию массива как в таймсерииArrayInitialize(SoltonovBuffer,EMPTY_VALUE); // инициализируем буфер индикатора пустыми значениями//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constint begin,
constdouble &price[])
{
int N=rates_total-prev_calculated;
if(N>1 && rates_total>12) // если осуществляем первый вход или была задержка больше времени одного бара, выполняем инициализацию всех баров
{
for(int i=rates_total-1; i>11; i--)
{
ArrayCopy(X,price,0,i-12,13);
Soltonov(rates_total-1-i);
}
ArrayCopy(X,price,0,rates_total-13,13);
return(rates_total);
}
elseif(N==1) ArrayCopy(X,price,0,rates_total-13,13); // если новый барelse X[0]=price[rates_total-1]; // если новый тик без образования нового бара
Soltonov(0);
return(rates_total);
}
//+------------------------------------------------------------------+// Писать код в этой функции!//+------------------------------------------------------------------+void Soltonov(int pos) // основной расчет индикатора бара pos. В массиве X, размерностью 13 находятся значение цены 13 бар, начиная от позиции pos// X[0]- значение цены бара с номером pos// X[1]- значение цены бара с номером pos+1// ....// X[12]- значение цены бара с номером pos+12
{
double Sum=0; // создаем переменную для подсчета суммы баровfor(int i=0;i<13;i++) Sum = Sum+X[i]; // суммируем 13 баров
SoltonovBuffer[pos]=Sum/13; // помещаем в значение индикаторного буфера среднее арифметическое 13 цен
}
//+------------------------------------------------------------------+
A partir do MT5 você pressiona F4 e chega a ME (MetaEditor). Aqui você cria um indicador personalizado (Ctrl+N), especifica um nome durante a criação, por exemplo"Soltunov"(o meu é o padrão). Quando o código for gerado, substitua todo este código pelo meu boneco.
E comece a dominar a programação.
Aconselho a pré-ajustar as barras máximas na janela nas configurações do MT5 para não serem muito grandes (5000 é o suficiente).
Você não precisa ler nenhum livro para dominar a linguagem MQL5. Basta usar a Ajuda pressionando a tecla F1, primeiro clicando na função ou palavra de interesse. Use também a função de busca na Ajuda.
veja o gif animado (clique sobre a foto):
Eu também recomendo fortemente dominar imediatamente o depurador embutido do ME com configurações de pontos de interrupção para passar através do programa com a capacidade de observar mudanças variáveis.
Veja também o gif animado.
Boa sorte, Yusuf! Se você tiver alguma dúvida, se o método de regra geral não for útil, não hesite em perguntar.
Os negociantes trabalham com o Excel. É como o "papel de tornassol". Se ele não está familiarizado com folhas de cálculo, que tipo de comerciante é ele? Como ele calcula orçamentos e dinheiro?
E se o programador não for capaz de traduzir uma folha de excel para um programa MQL, ele ainda deve praticar :-)
Yusuf está tentando fazer suas observações (mesmo com o raciocínio do qual eu discordo em princípio), mas você está fazendo uma coisa ainda pior - em vez de ajuda básica, você está forçando-o a aprender coisas desnecessárias. E, ao mesmo tempo, todos sabem que ele não iniciará a programação e não transferirá suas fórmulas para o mql. Você apenas zomba e tira meses ou até anos de distância de uma pessoa.
Hm, sim, não consigo imaginar como escrever diretamente para uma folha de excel - ela está sentada sozinha e desenrola o emaranhado - as mesas estão muito intrincadamente entrelaçadas - portanto, terá que gastar tempo para descobrir, e para avaliar o trabalho deve também de acordo com os TOR.
Além disso, novamente pela minha experiência, quando reescrevi o algoritmo do Excel, encontrei erros lógicos, pois pensei adicionalmente no que estava escrevendo - muitas vezes é conveniente fantasiar no Excel.
E, além disso, recomendo anexar o arquivo em si.
Por isso, considero seus argumentos sobre forçar o aprendizado desnecessário como infundado e infundado.
Se você tem as habilidades, por que não pegar e ajudar a pessoa lendo telepaticamente o TOR de sua cabeça à distância?
Estou cansado de resolver quebra-cabeças. Faça como se eu tivesse feito uma captura de tela na primeira página com explicações https://www.mql5.com/ru/forum/305148. Para tornar as informações mais digeríveis, faça o cálculo sobre uma história rasa, quanto menos melhor (será muito mais fácil entendê-lo). Se você quiser ajuda, comprima seus rolos de texto, ninguém vai ler um texto grande, muito menos entendê-lo.
Os primeiros valores da série deslocada são os seguintes:
1.1376 1.1377 1.1375 1.1361 1.1358
como você o tem:
x1 x2 x3 x4 y
1.1376 1.1376 1.1377 1.1375 1.1361
Então x1 e x2 são a mesma fila? O que aconteceu com o CD5, que começa em1.1358?Correção
Tire uma foto da tela de toda a tabela calculada.
Tire uma foto da tela de toda a tabela calculada.
É melhor zipar o arquivo excel e fazer perguntas sobre ele. Caso contrário, isto continuará para sempre. Você vai acabar torturando Yusuf. Bem, ele não pode fazer isso.
Bem persuadido, poste um screenshot você mesmo, contribua para o desenvolvimento. Darei uma olhada amanhã.
Que tipo de resposta será o mesmo que uma saudação. Se você não tiver informações claras, não obterá nenhum resultado.
Tire uma foto da tela de toda a tabela calculada.
Não se preocupe, o programa agora está totalmente consertado.
É melhor zipar o arquivo Excel e fazer perguntas sobre ele. Caso contrário, isto continuará para sempre. Você vai acabar torturando Yusuf. Bem, ele não pode fazer isso.
Yuri, você também acompanha online?
Yuri, você também acompanha online?
Portanto, aqui está o indicador dummy.
Este manequim é um simples indicador MA, por exemplo, mas é adaptado ao seu caso com algumas simplificações que não são ideais em termos de desempenho, mas menos estressantes para a aprendizagem.
Para escrever seu indicador, você só precisa escrever o código de cálculo no corpo da função
no momento há um cálculo de MA com o período 13 na forma de 3 linhas.
Por que eu tomei 13 por padrão? Porque você mesmo disse que utiliza 13 valores de preço para o cálculo no momento.
Estes 13 valores estão localizados em uma matriz X (X[0] a X[12])
Você simplesmente executa o cálculo destes 13 valores no corpo desta função e escreve o valor no buffer indicador SoltonovBuffer[pos]. Todo o indicador será formado automaticamente.
A partir do MT5 você pressiona F4 e chega a ME (MetaEditor). Aqui você cria um indicador personalizado (Ctrl+N), especifica um nome durante a criação, por exemplo"Soltunov"(o meu é o padrão). Quando o código for gerado, substitua todo este código pelo meu boneco.
E comece a dominar a programação.
Aconselho a pré-ajustar as barras máximas na janela nas configurações do MT5 para não serem muito grandes (5000 é o suficiente).
Você não precisa ler nenhum livro para dominar a linguagem MQL5. Basta usar a Ajuda pressionando a tecla F1, primeiro clicando na função ou palavra de interesse. Use também a função de busca na Ajuda.
veja o gif animado (clique sobre a foto):
Eu também recomendo fortemente dominar imediatamente o depurador embutido do ME com configurações de pontos de interrupção para passar através do programa com a capacidade de observar mudanças variáveis.
Veja também o gif animado.
Boa sorte, Yusuf!
Se você tiver alguma dúvida, se o método de regra geral não for útil, não hesite em perguntar.
Acho que o mundo inteiro o ajudará.