Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 84

 
Arseniy Barudkin:   Olá Senhores, por favor, ajudem-me a escrever esta função.

Feliz Dia da Vitória!!! Já se passaram 4 dias - sem resposta. Vamos tentar... As pessoas insatisfeitas escrevem pessoalmente!!!

//+-------------------------------------------------------+
//| функция перебрала открытые ордера на графике          |
//| и выделила: 1) с самым маленьким лотом и --- профитом |
//| 2) с самым большим лотом и +++ профитом.       скрипт |
//| Предполагается, что такие есть. И удалила    PROBA.mq4|
//+-------------------------------------------------------+
// Назначение функций OrdersTotal, OrderSelect, OrderClose
// и прочих узнаем поставив на них курсор и нажав F1

#property strict

void OnStart()
{
   int    Проскальзывание=20;
   int    Тикет1 =0,  Тикет2=0;
   double Лот1=100000, Лот2=0;
   bool   Результат;     //  Чтоб избежать лишних предупреждений

   // Выделение
   for(int Тикет=OrdersTotal()-1; Тикет>=0; Тикет--)
   {
     if(!OrderSelect(Тикет,SELECT_BY_POS)) continue; // Что-то помешало - идем к следующему
     if(OrderSymbol() != _Symbol) continue;          // Чужой график

     // Если с меньшим лотом и   --- профитом   то запомним тикет и лот
     if(OrderLots()<Лот1     &&  OrderProfit()<0)
     {
       Тикет1=OrderTicket();
       Лот1=OrderLots();
     }

     // Если с большим лотом и   +++ профитом   то запомним тикет и лот
     if(OrderLots()>Лот2     &&  OrderProfit()>0)
     {
       Тикет2=OrderTicket();
       Лот2=OrderLots();
     }
   }

   // Удаление
   if(Тикет1)
   {
      while(!RefreshRates());
      if(OrderSelect(Тикет1,SELECT_BY_TICKET))  // Чтоб получить цену закрытия
         Результат=OrderClose(Тикет1, Лот1,OrderClosePrice(),Проскальзывание);
   }

   if(Тикет2)
   {
      while(!RefreshRates());
      if(OrderSelect(Тикет2,SELECT_BY_TICKET))
         Результат=OrderClose(Тикет2, Лот2,OrderClosePrice(),Проскальзывание);
   }
}   

E então surgiu a pergunta: se existem apenas duas ordens. Um com um grande lote com lucro negativo, e outro com um lote menor com lucro positivo

E se houver apenas um pedido? E se todos os pedidos tiverem o mesmo lote e todos com um lucro negativo - devemos fechar um a um?

 

Olá!

Posso obter ajuda? O Expert Advisor está recuperando negóciosa cada tique. Como faço para escrever código para tirar cerca de 5 ofícios ou apenas quantos eu quiser?

int int externo tp=50;

sl=200;

lote duplo externo=0,01;

nulo OnTick()

{

OrderSend("USDJPY",OP_SELL,lote,Bid,0,Ask+sl*Point,Ask-tp*Point, "Batsasho",1,0,Red);

}

O que devo mudar, acrescentar ao código?

Você pode responder ***.

Obrigado!

 
alstefanov:

Olá!

Posso obter ajuda? O Expert Advisor está recuperando negóciosa cada tique. Como faço para escrever código para tirar cerca de 5 ofícios ou apenas quantos eu quiser?

int int externo tp=50;

sl=200;

lote duplo externo=0,01;

nulo OnTick()

{

OrderSend("USDJPY",OP_SELL,lote,Bid,0,Ask+sl*Point,Ask-tp*Point, "Batsasho",1,0,Red);

}

O que devo mudar, acrescentar ao código?

Você pode responder ***.

Obrigado!

extern int tp=50;

extern int sl=200;

extern double lot=0.01;

void OnTick()

{ 

if(OrdersTotal()==0)OrderSend("USDJPY",OP_SELL,lot,Bid,0,Ask+sl*Point,Ask-tp*Point,"Batsasho",1,0,Red);

}
 
Por favor, informe como acelerar o trabalho da EA no testador para que ele seja testado mais rapidamente, a EA usa apenas um indicador
 
missha32 Como faço para tornar meu EA mais rápido no Testador de Estratégia, ele usa apenas um indicador

Antes de mais nada, encurtar o intervalo de tempo de teste. Melhor: 1) os últimos três meses. 2) três meses com um brexit no meio. Certifique-se de não testar em todos os carrapatos. De fato, na MT4, não há carrapatos na história, e eles são modelados por leves puxões de preço para cima e para baixo. Se você testar em dois períodos de tempo - M15 e M1, então veja, onde é melhor. Ou, melhor ainda, use a demonstração - comece na segunda-feira de manhã e verifique o resultado na sexta-feira à noite usando o conhecido roteiro. Se precisarmos testar 100 Expert Advisors, abrimos 10 terminais e em cada terminal há 10 gráficos com Expert Advisors.

É necessário ter muitos computadores. Em uma conta real $4 com 500 de alavancagem é suficiente. Veja qualquer tabela - com a entrada correta você pode facilmente dobrar seu depósito em um dia. E isso é um milhão de vezes em um mês. Existem tais EAs gratuitos na Internet? Alguém vai vender isso? Portanto, o dinheiro deve ser investido em computadores. Estamos à procura dos pontos de entrada. Escrevemos programas, calculamos em Excel usando as fórmulas e macros, e escrevemos scripts e Expert Advisors para os cálculos. Depois, quando descobrimos como encontrar pontos de entrada, e depois Robots, Stops, Trawl, Deposit, Deposits, Withdrawals...

 
STARIJ:

Feliz Dia da Vitória! Já se passaram 4 dias - sem resposta. Vamos tentar... Os insatisfeitos escrevem em seus relatos pessoais!!!

E então surgiu a pergunta: se existem apenas duas ordens. Com um grande lote com um lucro negativo, com um lote menor com um lucro positivo

E se houver apenas um pedido? E se todos os pedidos tiverem o mesmo lote e todos com um lucro negativo - devemos fechar um a um?

for(int Ticket=OrdensTotal()-1; Ticket>=0; Ticket--) - este é o código de busca de ordens de mercado por bilhete na ordem inversa (da última ordem aberta até a primeira) - eu entendi bem?

Mas "Ticket" não funciona em cirílico, tem que ser "Ticket" em latim.

 
Yaroslav Nykula:
for(int Ticket=OrdensTotal()-1; Ticket>=0; Ticket--) - este é o código de busca de ordem do mercado pelo bilhete na ordem inversa (do último aberto para o primeiro) - eu o entendi bem?

Mas "Ticket" em cirílico não vai funcionar, você precisa de "Ticket" em latim.

Não verificou, mas deve passar não só em cirílico, mas também em chinês.
 
Vitaly Muzichenko:   Ainda não verifiquei, mas deve passar não só em cirílico, mas também em chinês.
Quando começo a falar um novo idioma, primeiro verifico se o cirílico come cirílico, ou se o cospe para fora. Este sim. Aqui está o roteiro - confira.
Arquivos anexados:
PROBA.mq4  2 kb
 
Olá. A questão é: podemos carregar os valores dos carrapatos (os preços correspondentes) para um determinado período comercial (ou seja, para uma única vela) em uma matriz unidimensional? E fazê-lo de tal forma que a matriz seja formada durante a formação de uma vela. É realista na MQL4? Gostaria de receber seu feedback.
 
STARIJ:

Feliz Dia da Vitória!!! Já se passaram quatro dias - sem resposta. Vamos tentar... As pessoas insatisfeitas estão escrevendo em particular!!!

E então surgiu uma pergunta: se existem apenas duas ordens. Com um grande lote com um lucro negativo, com um lote menor com um lucro positivo

E se houver apenas um pedido. E se todos os pedidos têm o mesmo lote e todos com um lucro negativo, devemos fechar um a um?


Muito obrigado! Esta é uma boa função! Esta função deve ser chamada se não houver margem suficiente para abrir outra ordem. Mas eu não expressei minha idéia corretamente; afinal eu precisava de algo mais! O maior lote com o maior lucro das posições abertas e o menor lote com lucro negativo das posições abertas.
Razão: