Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 727

 
Igor Makanu:

Se é uma questão de aumentar o tamanho do lote de um novo pedido em relação ao tamanho máximo do lote de pedidos já abertos, então ao contar os pedidos, lembre-se do tamanho máximo do lote de pedidos

assim:

Eu tenho os lotes contados. Eu gostaria que o passo também aumentasse com cada comércio. Por coeficiente

 
Carcass77:

Eu tenho os lotes contando. Eu gostaria que o tom aumentasse a cada comércio. Pelo coeficiente.

Esta é a segunda vez que você escreve sobre o "passo mágico" e nós temos que adivinhar qual é o passo! )))

Se estamos falando dos preços de abertura de pedidos "extremos" e você quer colocar novos pedidos em relação aos preços de abertura desses pedidos, então o princípio é o mesmo, ao recalcular os pedidos, procure os preços máximos/mínimos de abertura por tipo de pedido, mais ou menos assim:

int NumberOfOrders(int magic_,double &openpricemaxbuy_,double &openpriceminsell_)
  {
   int i,ot,buy_=0,sell_=0,k=OrdersTotal();
   openpricemaxbuy_=0.0; openpriceminsell_=0.0;
   for(i=0; i<k; i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         ot=OrderType();
         if((OrderMagicNumber()==magic_) && (OrderSymbol()==_Symbol))
           {
            if(ot==OP_BUY) { buy_++;  openpricemaxbuy_  = fmax(openpricemaxbuy_,OrderOpenPrice());  }
            if(ot==OP_SELL){ sell_++; openpriceminsell_ = fmin(openpriceminsell_,OrderOpenPrice()); }
           }
        }
     }
   return(buy_+sell_);
  }



ZZY: se estamos falando de ordens fechadas, o código será diferente, e o princípio de enumeração de ordens é ligeiramente diferente - procure uma ordem com o tempo máximo de fechamento e lembre-se de seus parâmetros

 

Olá a todos. Você pode me dizer por que a função Imprimir não funciona no indicador.

//+------------------------------------------------------------------+
//|                                                        test3.mq4 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   
//---
   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[])
  {
       Print("Hello");
       Print("---- First indicator -----");

   
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
Alexander Mikryukov:

Olá a todos. Você pode me dizer por que a função Imprimir não funciona no indicador.

não há motivo para não funcionar, consulte o diário de bordo dos especialistas para suas mensagens

 
Igor Makanu:

não há motivo para não trabalhar, procure suas mensagens no diário de bordo dos especialistas

Sim, estúpido. Obrigado.

 
Boa noite! Você pode me dizer se é possível gerenciar várias contas com um único roteiro? Obrigado!
 
Maxim Voronin:
Boa noite! Você pode me dizer se é possível gerenciar várias contas com um único roteiro? Obrigado!

Você pode, mas não com um roteiro, com um conselheiro. As contas têm de ser administradas em diferentes terminais.

 
Vladimir Pastushak:

Você pode, mas não com um roteiro, com um conselheiro. A contabilidade deve ser executada em diferentes terminais.

Continue se você não se importa
 
Maxim Voronin:
Continue se você não se importa

Você escreve um EA que pode se comunicar com outros terminais, as copiadoras são um exemplo para você.

É simples, um EA transmite algo e o recebe em outro terminal.

 

INIT_PARAMETERS_INCORRECT

Projetado para indicar ao programador um conjunto incorreto de parâmetros de entrada, a seqüência de resultados com este código de retorno será destacada em vermelho na tabela geral de otimização.

Não serão realizados testes para este conjunto de parâmetros do Expert Advisor.



Algo não está destacado em vermelho.

É assim para todos?


este é o código no OnInit:
int OnInit()
{

if (Koef2<=Koef) return(INIT_PARAMETERS_INCORRECT); 

return(INIT_SUCCEEDED);


E no registro ele escreve erros como este:



Razão: