Erros, bugs, perguntas - página 3123

 
x572intraday #:

Por falar em procura de código livre.

Tente adivinhar que percentagem de programadores procura programas para ajudar a sua comercialização lucrativa ou para aprender o código. Pessoalmente, penso que a correlação será a favor dos primeiros, uma vez que muito menos buscadores se vêem como programadores neste campo.

1. Tenho a certeza que se alguém procura algo na kodobase, é apenas para aplicação nos seus próprios desenvolvimentos, ou seja, procura código por causa do código. e a qualidade e legibilidade do código é de grande importância neste caso. Pessoalmente, quando confrontado com uma nova tarefa mais ou menos complicada que eu próprio ainda não resolvi, vou à base de códigos e se não houver uma solução sensata, faço-o eu próprio. Isso é mais eficaz, mas com a subtileza de que só vou tomar código quase perfeito, ou código que pode ser facilmente melhorado para quase perfeito. Nunca levarei um macarrão, mesmo que funcione de alguma forma no final.

2. Vitaly contou-lhe tudo correctamente sobre as desvantagens do código, enquanto você arranja desculpas no jardim-de-infância. Queria ser o centro das atenções e mostrar a sua teimosia?)

 
Aleksey Mavrin #:

1. Tenho a certeza que se alguém procura algo na kodobase, é apenas para uso no seu próprio desenvolvimento, ou seja, procura código para código. e a qualidade e compreensibilidade do código é de grande importância neste caso. Pessoalmente, quando confrontado com uma nova tarefa mais ou menos complicada que eu próprio ainda não resolvi, vou à base de códigos e se não houver uma solução sensata, faço-o eu próprio. Isso é mais eficaz, mas com uma subtileza que só vou tomar código quase perfeito, ou código que pode ser facilmente melhorado para quase perfeito. Nunca aceitarei um macarrão, mesmo que, de alguma forma, funcione no final.

2. Vitaly contou-lhe tudo correctamente sobre as desvantagens do código, enquanto você arranja desculpas no jardim-de-infância. Queria ser o centro das atenções e mostrar a sua teimosia?)

1. confiança interessante. Vou tentar adivinhar as suas origens. Provavelmente pensa que a CodeBase contém apenas produtos gratuitos, que a priori não podem estar completos para o comércio lucrativo, por isso os utilizadores compreendem que (não os programadores, mas aqueles que decidiram ganhar dinheiro extra a negociar) partem imediatamente a sua caixa de dinheiro e vão ao Mercado para comprar produtos pagos, supostamente prontos para ter lucro na troca? Se esta é a sua opinião, não concordo com ela. Basta mencionar a razão principal: entre outros, há muitos comerciantes que não são ricos ou mesmo livres, que pouparam para o primeiro depósito de cêntimos, mas não um programa do Mercado por pelo menos dezenas de dólares. E também compreendem que quanto mais barato for um programa doMercado, menos útil é, muito provavelmente, e o código fonte pode não estar de todo disponível. - é melhor ir à CodeBase e ver se tem a sorte de encontrar algo relativamente útil... E se de repente sentir um forte impulso para o melhorar, eis o código em bruto - estudar e melhorar (o que nem todos farão). Penso que o preconceito, como se o software livre fosse pior do que o pago, é o lote daqueles que ainda não entraram profundamente na CodeBase. É como dizer que a parte do servidor pagodo Metatrader é mais fixe do que a parte do cliente grátis. Obviamente que a gratuidade do cliente é financiada pela remuneração do servidor - o promotor é o mesmo e pode pagar por isso. Mas se olharmos para um mundo mais vasto, o mundo do software em geral está cheio de análogos gratuitos pagos com muito boa funcionalidade e qualidade. Ao mesmo tempo, voltando ao ecossistema do software de comércio, é preciso perceber que ninguém vai colocar o graal do comércio automatizado na secção gratuita. Mal estará disponível no Mercado ou qualquer outra coisa por muito dinheiro. Mas se não para perseguir o graal, mas para procurar um bom apoio pelo menos para o comércio manual, o software gratuito não é inferior a muitos esforços ambiciosos baseados em taxas.

Como resultado, durante todo o percurso foi absolutamente claro sobre os interesses dos programadores no que diz respeito à CodeBase, que, repito, não podem ser tantos como os sonhadores a encontrar lá prontos e a ganhar algum dinheiro, sem compreender a estrutura do código. Se não estiver de acordo, apresente-nos os seus argumentos.

2. Vitaly tinha toda a razão em apontar algumas falhas, mas no final dá-lhe um par de F's como uma revisão de código. Ele não seria autorizado a aproximar-se de professores de informática. Ao contrário dele, tento ser mais razoável e fundamentado. Recebe-se um "F" por total ignorância de uma língua, ou por conhecê-la tão mal que o código não está escrito, ou está escrito, mas o pobre não consegue compilá-lo (ou não consegue interpretá-lo) sem erros e finalmente não corre, ou corre mas dá lixo. Pode obter "F" se no sentido básico o produto final funcionar como pretendido, mas é defeituoso e instável, visivelmente lento, a funcionalidade é muito modesta e não há opções quando claramente precisa delas (embora tenha mais a ver não com o código fonte, mas com o resultado do trabalho). B pode ser dado com defeitos menores: velocidade insuficiente optimizada, má legibilidade, código não formatado e não documentado. Se o código se revelasse estranhamente abstruso ou esquizofrénico, mas o programa funcionasse perfeitamente e de forma estável, não me encarregaria de lhe dar uma nota baixa - talvez pelo menos um B. Se todos são ensinados a um padrão, sem individualidade, é fácil asfixiar o talento.

O D de Vitalik é uma inflexão clara e não o meu caso; ele está certo nas condições inadequadas do meu caso.

 
Aleksey Mavrin #:

1. Tenho a certeza que se alguém procura algo na kodobase, é apenas para uso no seu próprio desenvolvimento, ou seja, procura código para código. e a qualidade e compreensibilidade do código é de grande importância neste caso. Pessoalmente, quando confrontado com uma nova tarefa mais ou menos complicada que eu próprio ainda não resolvi, vou à base de códigos e se não houver uma solução sensata, faço-o eu próprio. Isso é mais eficaz, mas com uma subtileza que só vou tomar código quase perfeito, ou código que pode ser facilmente melhorado para quase perfeito. O macarrão, mesmo que funcione de alguma forma no final, nunca será levado.

É para programadores como nós que proponho introduzir uma votação adicional para o código fonte sob a forma de uma classificação separada.Não se trata de uma lixeira de software de um dia ou de cinco estrelas (onde se vota por tudo o que é possível em relação ao software pronto, mas não pelo código fonte), mas de um site sério para comerciantes e programadores, conhecido não só em Runet, mas em toda a Internet e muito mais além. Como procurar matérias-primas de qualidade sem classificação, eh?

О проекте MQL5.community
О проекте MQL5.community
  • www.mql5.com
MQL5.community - это описание языка программирования MetaQuotes Language 5, статьи по самой различной тематике, форум, программы автотрейдинга, написанные на MQL5 c их использованием в торговой платформе MetaTrader 5
 
x572intraday #:

Mova as suas queixas sobre o seu código ser mal classificado para a discussão do seu código.

Não creio que consiga fazê-lo você mesmo, peça ao seu urso de insecto que o faça. Pare de discutir a sua criação no tópico de utilidade geral.

 
É muito infeliz e errado que não haja possibilidade de voltar a votar no QB.

Em primeiro lugar, tive casos em que, acidentalmente, cliquei na estrela errada.
Em segundo lugar, o código pode ser refinado e corrigido.

 
Porque é que as moedas criptográficas agora tão disponíveis nos servidores da MQ não estão nos fins-de-semana? Não há problema em mudar para outro fornecedor 24/7, mas porque é que a MQ é ainda pior? Não faria mal...
 

O Market Validator larga isto

teste em EURUSD,H1 (hedging) não sincronizado com o relatório 462 do testador de estratégia do servidor de comércio

Construir MT 5 3134

 

Por favor, ajude com o tipo de construção DRAW_FILLING

Por alguma razão um par de amortecedores funciona bem, mas o segundo recusa-se a aceitar a cor atribuída de formas diferentes.


Até tentou deixar dois amortecedores e respectivamente uma construção e o resultado não se altera. Se por cor de preenchimento alto é normal, mas por cor baixa não é.

Aqui está o código

#property indicator_chart_window
//---
#property indicator_buffers 4
#property indicator_plots   2
#property indicator_type1   DRAW_FILLING
#property indicator_label1  "Line UP"
#property indicator_color1  clrDarkOrchid
#property indicator_type2   DRAW_FILLING
#property indicator_label2  "Line DN"
#property indicator_color2  clrMagenta

/****************indicator buffers****************/
double upLine[],
       upWidth[],
       dnLine[],
       dnWidth[];
/**************Custom indicator initialization function**************/
int OnInit()
 {
  SetIndexBuffer(0, upLine);
  SetIndexBuffer(1, upWidth, INDICATOR_CALCULATIONS);
  SetIndexBuffer(2, dnLine);
  SetIndexBuffer(3, dnWidth, INDICATOR_CALCULATIONS);
  //PlotIndexSetInteger(1, PLOT_SHOW_DATA, false);
  //PlotIndexSetDouble(1, PLOT_EMPTY_VALUE, -1.0);
  //PlotIndexSetInteger(2, PLOT_SHOW_DATA, false);
  //PlotIndexSetInteger(2, PLOT_LINE_COLOR, clrYellow);
  //PlotIndexSetDouble(2, PLOT_EMPTY_VALUE, -1.0);
  return(INIT_SUCCEEDED);
 }/******************************************************************/

/****************Custom indicator iteration function*****************/
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
 {
  int count = 0, limit = prev_calculated > 0 ? rates_total-1 : 0;
  if(prev_calculated == 0)
   {
    ArraySetAsSeries(time, true);
    ArraySetAsSeries(high, true);
    ArraySetAsSeries(low, true);
    ArraySetAsSeries(upLine, true);
    ArraySetAsSeries(upWidth, true);
    ArrayInitialize(upLine, 0.0);
    ArrayInitialize(upWidth, 0.0);
    ArraySetAsSeries(dnLine, true);
    ArraySetAsSeries(dnWidth, true);
    ArrayInitialize(dnLine, 0.0);
    ArrayInitialize(dnWidth, 0.0);
    for(int i = limit; i < rates_total; i++)
     {
      int arrMax = ArrayMaximum(high, i, 11); //  ищем максимум в 11-ти барах
      if(arrMax-i == 5)                       //  если максимум средний из 11-ти баров
       {
        for(int j = arrMax; j > fmax(arrMax-5, 0); j--)
        {
         upLine[j] = high[arrMax];
         upWidth[j] = high[arrMax]-_Point*2;
        }
       }
      int arrMin = ArrayMinimum(low, i, 11); //  ищем минимум в 11-ти барах
      if(arrMin-i == 5)                      //  если минимум средний из 11-ти баров
       {
        for(int j = arrMin; j > fmax(arrMin-5, 0); j--)
        {
         dnLine[j] = low[arrMin];
         dnWidth[j] = low[arrMin]+_Point*10;
  //PlotIndexSetInteger(3, PLOT_LINE_COLOR, clrYellow); // Это тоже не помогает…
        }
       }
     }
   }
//---
  Comment("\n"
         );
  return(rates_total);
 }/*******************************************************************/

Talvez em algum ficheiro .ini esteja preso que configuração? Talvez apagá-lo, mas não sei onde procurar este ficheiro... Não sei o que pensar.

 
Pessoal, boa tarde, porque é que quando se abre uma conta demo para qualquer quantia, o saldo é 0
 
Alexey Viktorov #:

Por favor, ajude com o tipo de construção DRAW_FILLING

Por alguma razão um par de amortecedores funciona bem, mas o segundo recusa-se a aceitar a cor atribuída de formas diferentes.


Até tentou deixar dois amortecedores e respectivamente uma construção e o resultado não se altera. Se por cor de preenchimento alto é normal, mas por cor baixa não é.

Aqui está o código

Talvez em algum ficheiro .ini esteja preso que configuração? Talvez apagá-lo, não sei onde procurar este ficheiro... Não sei o que pensar.

O DRAW_FILLING tem dois amortecedores para desenhar