Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 590

 
Alexey Volchanskiy:
Vou dar um passeio, depois vou escrever o código para o programa geométrico.

Não sou nada bom, devo conseguir 0,5.


#define  LEN 5 // задали длину последовательности
double  start_lot=0.1;//начальный лот
int lot_5 =5;// номер искомой позиции
int start()
{
    int d = lot_5;    // это разность, любое значение
    int a[LEN];   // тут храним ариф. посл.
    a[0] = start_lot;     // любое стартовое значение, задаете сами
    Print(0, " начальный лот ", a[0]);

    for (int n = 1; n < 4; n++)
    {
       a[n] = a[0] + (n*d);
       Print(n, " лот позы№5 ", a[n]);
    }
}
 
mila.com:

Não sou nada bom, deveria ser 0,5.


0,5 para o bem de uma mulher :))

Enviareia geométrica amanhã. E o que precisa de obter, escreva de imediato o lote de entrada e o valor final.

#define  LEN 5 // задали длину последовательности
double  start_lot=0.1;//начальный лот
double lot_5 = 0.1;   // это разность
int start()
{
    double a[LEN];   // тут храним ариф. посл.
    a[0] = start_lot;     // задаем стартовое значение 0.1
    Print(0, " начальный лот ", a[0]);

    for (int n = 1; n < LEN; n++)
    {
       a[n] = a[0] + (n*lot_5);
       Print(n, " лот позы №5 ", a[n]);
    }
}

2016.06.01 01:13:54.917 ChangeTimeFrame EURUSD.e,M1: 4 лот позы №5 0.5
2016.06.01 01:13:54.917 ChangeTimeFrame EURUSD.e,M1: 3 лот позы №5 0.4
2016.06.01 01:13:54.917 ChangeTimeFrame EURUSD.e,M1: 2 лот позы №5 0.3
2016.06.01 01:13:54.917 ChangeTimeFrame EURUSD.e,M1: 1 лот позы №5 0.2
2016.06.01 01:13:54.917 ChangeTimeFrame EURUSD.e,M1: 0 начальный лот 0.1
 
Alexey Volchanskiy:

0,5 para o bem de uma mulher :))))

Enviarei a geométrica amanhã. E aí o que precisa de obter, escreva de imediato o lote de entrada e o valor final.

Obrigado, perfeito )

Sim, também quero saber a soma dos lotes das futuras quatro posições + o lote inicial, se possível.

Entradas para a geométrica:

_lot_x= ?

extern double  start_lot=0.1;//начальный лот
extern double  koef=2;//коэффициент умножения

extern int n_pos =5;// номер искомой позиции для определения её лота
//===
double _lot_x; // лот искомой позиции

double  _lot=0;// лот следующей позиции
//===
void OnTick()
{
if(OrdersTotal==1)
 {
 _lot = start_lot* koef;
 }

if(OrdersTotal>1)
 {
 _lot = _lot * koef;
 }
}
 

Saudações. Alguém com uma pista? Estou a tentar descobrir a função de Webrequest. Preciso de enviar um pedido de POST ao servidor da api para fazer um correio de teste através do sendpulse.com. Diz aqui como criar um pedido para fazer o envio: https://sendpulse.com/ru/api#push , onde "Create a new push mailing". Li sobre pedidos HTTP, mas não é claro como fazê-lo via webrequest. Ajude-me com o exemplo de pedido sob a forma de webrequest baseado no manual https://sendpulse.com/ru/api#push e exemplo de Obter pedido também do manual, por exemplo "Get list of pushed campaigns". Ficará muito grato!

Sendpulse REST API - документация - Sendpulse
Sendpulse REST API - документация - Sendpulse
  • sendpulse.com
API интерфейс используется для того, чтобы интегрировать возможности сервиса рассылок SendPulse в личный проект клиента. API предназначен для разработчиков и сопровождается детальной документацией. Описание REST API сервиса SendPulse работает по протоколу HTTP и представляет собой набор методов, с помощью которых совершаются запросы и...
 

Por favor, aconselhar. Ao testar uma EA e especificar um depósito inicial diferente, o testador dá diferentes resultados comerciais com os mesmos parâmetros (excepto para o tamanho do depósito) do testador e das definições da EA. Nas definições do Expert Advisor não existem definições de gestão de dinheiro e gestão de risco, o teste é feito para negociar um lote de futuros FORTS. Mesmo o depósito mais pequeno excede 1,5 vezes o valor do lote, o levantamento ao mesmo tempo é muito inferior ao tamanho do depósito, ou seja, há muita margem. Mas parece que o Expert Advisor, em alguns casos, não corre o risco de entrar em algumas transacções com um depósito menor e realiza menos transacções e, portanto, resultados diferentes. Porquê?

Obrigado antecipadamente pela resposta.

Arquivos anexados:
1.jpg  345 kb
2.jpg  358 kb
 
Olá camaradas! Por favor, aconselhe como escrever uma função que irá realizar um certo número de tentativas para abrir uma ordem pendente(ou melhor, o seu desencadeamento), ou que enviará um valor booleano?
 
barudkinarseniy:
Olá camaradas! Por favor, aconselhe como escrever uma função que irá realizar um certo número de tentativas para abrir uma ordem pendente(ou melhor, o seu desencadeamento), ou que enviará um valor booleano?
Se a ordem tiver mudado o seu estado de pendente para ordem de mercado, devemos escrever o valor necessário numa variável. Algo parecido com isto
//+------------------------------------------------------------------+
bool event_pending(int tiket)
  {
   if(OrderSelect(tiket,SELECT_BY_TICKET))
     {
      if(OrderType()<=1)return(true);
     }
   return(false);
  }
//+------------------------------------------------------------------+
 
Olá! É possível prescrever no código que quando um certo número de ordens o conselheiro reiniciaria, todos os contadores seriam reiniciados, mas ao testar o conselheiro com uma grelha de ordens num ano mostra mais de 1000 ordens, e até o tesoureiro começa a pendurar ( E se puder, por favor informe como?
 
barudkinarseniy:
Olá, podemos prescrever no código que quando um certo número de ordens for alcançado, a EA será reiniciada e todos os contadores serão reiniciados, porque durante o teste, a EA com a grelha de ordens mostra mais de 1000 ordens durante um ano e até o testador começa a pendurar ( E se for possível, por favor diga-nos como!

Existe uma função

ExpertRemove

Encerra o Expert Advisor e descarrega-o do gráfico.

nuloExpertRemove();

Mas não há forma de o gerir depois. O Conselheiro Especialista deve ser corrigido, o problema não é com ordens mas com outra coisa. Uma fuga de memória algures, muito provavelmente.

 
Alexey Volchanskiy:

Existe uma função

ExpertRemove

Encerra o Expert Advisor e descarrega-o do gráfico.

nuloExpertRemove();

Mas não há forma de o gerir depois. O Conselheiro Especialista deve ser corrigido, o problema não é com ordens mas com outra coisa. Uma fuga de memória algures, muito provavelmente.

Não vejo qualquer problema, a EA acaba de abrir ordens depois de fechar negócios lucrativos ou perdidos e o número do bilhete é muito grande na impressão, por isso pensei que não teria de voltar a carregá-lo manualmente. Obrigado pela função, será também útil))