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

 
nsd63 É possível fazer com este indicador

Precisa do código fonte MQ4

 

Cidadãos, por favor, aconselhem como expressar a lógica no código!

Tenho na tabela MA.... e preciso dela para acionar a SELL, se a vela cruzou a MA para cima para baixo e BUY, se a vela cruzou de baixo para cima....

Obrigado de antemão!

 
sviter-pro:

Cidadãos, por favor, aconselhem como expressar a lógica no código!

Tenho na tabela MA.... e preciso dela para acionar a SELL, se a vela cruzou a MA para cima para baixo e BUY, se a vela cruzou de baixo para cima....

Obrigado de antemão!

há um Expert Advisor no terminal, Moving Average.mq4 - isso já é feito lá. Funciona perfeitamente

 

Saudações.

Você pode, por favor, me dizer como "deslizar" para o testador MT4 um arquivo de histórico criado com um cronograma que não está no testador (ou outras opções)?

A questão é que existe um Expert Advisor, a partir daqui http://tradelikeapro.ru/grafiki-renko/ que cria um arquivo de histórico em tempo real em castiçais Renko com um cronograma não-padrão. Precisamos testá-lo usando o arquivo criado. O testador mostra TestGenerator: sem dados de histórico 'GBPUSD5' de 2017.01.05 a 2017.06.14 É criado em tempo real, não a partir do histórico, porque o histórico não obtém um gráfico muito correto. Ou, ajustar o próprio indicador para que ele crie um gráfico com o cronograma padrão, removendo preliminarmente o adequado da história. Até agora, só consegui corrigi-lo para criar um arquivo, mas ele está vazio.

Торгуй с удовольствием! Свечи Ренко — построение графика «по кирпичику»
Торгуй с удовольствием! Свечи Ренко — построение графика «по кирпичику»
  • tradelikeapro.ru
Здравствуйте, друзья! На нашем сайте уже было несколько форекс стратегий для торговли по графикам Ренко (Renko), думаю стоит рассмотреть этот тип графиков отдельно, обсудить плюсы и минусы такого подхода к торговле. Также в рамках этого обзора мы познакомимся с альтернативным индикатором для построения графиков Ренко, т.к. часть старых утилит...
 
Andrey Sokolov:

Saudações.

Você pode, por favor, me dizer como "deslizar" para o testador MT4 um arquivo de histórico criado com um cronograma que não está no testador (ou outras opções)?

A questão é que existe um Expert Advisor, a partir daqui http://tradelikeapro.ru/grafiki-renko/ que cria um arquivo de histórico em tempo real em castiçais Renko com um cronograma não-padrão. Precisamos testá-lo usando o arquivo criado. O testador mostra TestGenerator: sem dados de histórico 'GBPUSD5' de 2017.01.05 a 2017.06.14 É criado em tempo real, não a partir do histórico, porque o histórico não obtém um gráfico muito correto. Ou, ajustar o próprio indicador para que ele crie um gráfico com o cronograma padrão, removendo preliminarmente o adequado da história. Até agora, só consegui corrigi-lo para criar um arquivo, mas ele está vazio.

A tabela Renko é o resultado da sobreposição de um filtro de baixa passagem com um backlash na história. MA dá uma curva suave, mas Renko dá uma curva escalonada por causa da folga. Guarde o resultado da filtragem em uma matriz e continue trabalhando... Estarei livre dentro de uma semana ou duas e vou começar a trabalhar

 

Vocês podem me dizer como escrever no código do Expert Advisor para abrir 3 negócios de uma só vez com a possibilidade de configurar a LS?

Esta é minha condição

if(MA_1>MA_2)
ticket=OrderSend(_Symbol,OP_BUY,Lots,Ask,0,Ask-SL*Point,Bid+TP*Point,NULL,0,0,clrGreen);
if(MA_1<MA_2)
ticket=OrderSend(_Symbol,OP_SELL,Lots,Bid,0,Bid+SL*Point,Ask-TP*Point,NULL,0,0,clrRed);

Fui aconselhado a usar a função(OrderTotal()), mas ela não se encaixa no meu caso. Eu o escrevi assim

void OnTick()
  {
//---
   double MA_1;
   MA_1=iMA(_Symbol,0,1,0,1,0,0);
   double MA_2;
   MA_2=iMA(_Symbol,0,6,0,1,0,0);
   int ticket=0;
   if(OrdersTotal()<=3)
     {
      if(MA_1>MA_2)
         ticket=OrderSend(_Symbol,OP_BUY,Lots,Ask,0,Ask-SL*Point,Bid+TP*Point,NULL,0,0,clrGreen);
      if(MA_1<MA_2)
         ticket=OrderSend(_Symbol,OP_SELL,Lots,Bid,0,Bid+SL*Point,Ask-TP*Point,NULL,0,0,clrRed);
     }
//---
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }

Ela compila bem, sem erros, mas não é apropriada para o meu caso.

 
Cidadãos, favor informar onde encontrar um EA (pedir flipper)...
Sua lógica é a seguinte:
A primeira ordem é aberta por uma condição, e quando outras condições aparecem, a primeira ordem é fechada e a segunda ordem é aberta por outras condições!!! Talvez haja algum lugar para ler sobre isso?

Fiz o que pude! Mas as ordens não fecharão Ajuda plz...

MA1_0 = iMA(_Símbolo, _Periodo, ma1, 0, ma1_método, ma1_preço, 1);
MA1_1 = iMA(_Símbolo, _Periodo, ma1, 0, ma1_método, ma1_preço, 2);

MA2_0 = iMA(_Símbolo, _Período, ma2, 0, ma2_método, ma2_preço, ma2_preço, 1);
MA2_1 = iMA(_Símbolo, _Periodo, ma2, 0, ma2_método, ma2_preço, 2);

if(MA1_0 < MA2_0 && MA1_1 >= MA2_1) //sell
{
if(tp > 0) TP = NormalizeDouble(Bid - tp * _Point, _Digits); caso contrário TP = NULL;
bilhete = OrderSend(_Symbol, OP_SELL, lot, Bid, slippage, 0, TP, NULL, Magic, 0, clrRRed); //sell
Imprimir ("Erro ao abrir uma ordem de venda");
}
senão
{
Imprimir ("Abertura bem sucedida da ordem de venda");
}
senão se(MA1_0 > MA2_0 && MA1_1 <= MA2_1)//comprar
{
ticket_close = OrderClose (bilhete, lote, Bid, slippage, clrRed);
Imprimir("Encomenda de venda fechada com sucesso");
}
senão
{
Imprimir ("Erro no fechamento da ordem de venda");
}
 
Você pode informar por que a EA deixa de ver suas ordens (abre várias ordens em vez de uma) se há outras ordens além de suas ordens? Se apenas as ordens da EA - sem problemas. Ao abrir um pedido o "Medjik" é definido e somente os pedidos com este "Medjik" são selecionados de acordo com as condições de abertura do pedido.
 
sviter-pro:
Cidadãos, favor informar onde encontrar um EA (pedir flipper)...
Sua lógica é a seguinte:
A primeira ordem é aberta por uma condição, e quando outras condições aparecem, a primeira ordem é fechada e a segunda ordem é aberta por outras condições!!! Talvez haja algum lugar para ler sobre isso?

Fiz o que pude! Mas as ordens não fecharão Ajuda plz...

MA1_0 = iMA(_Símbolo, _Periodo, ma1, 0, ma1_método, ma1_preço, 1);
MA1_1 = iMA(_Símbolo, _Periodo, ma1, 0, ma1_método, ma1_preço, 2);

MA2_0 = iMA(_Símbolo, _Período, ma2, 0, ma2_método, ma2_preço, ma2_preço, 1);
MA2_1 = iMA(_Símbolo, _Periodo, ma2, 0, ma2_método, ma2_preço, 2);

if(MA1_0 < MA2_0 && MA1_1 >= MA2_1) //sell
{
if(tp > 0) TP = NormalizeDouble(Bid - tp * _Point, _Digits); caso contrário TP = NULL;
bilhete = OrderSend(_Symbol, OP_SELL, lot, Bid, slippage, 0, TP, NULL, Magic, 0, clrRRed); //sell
Imprimir ("Erro ao abrir uma ordem de venda");
}
senão
{
Imprimir ("Abertura bem sucedida da ordem de venda");
}
senão se(MA1_0 > MA2_0 && MA1_1 <= MA2_1)//comprar
{
ticket_close = OrderClose (bilhete, lote, Bid, slippage, clrRed);
Imprimir("Encomenda de venda fechada com sucesso");
}
senão
{
Imprimir ("Erro no fechamento da ordem de venda");
}

A ordem de venda é fechada a preço de pedido

 
Anatoliy Ryzhakov:
Você pode informar por que a EA deixa de ver suas próprias ordens (abre várias ordens em vez de uma) se há outras ordens além das suas próprias? Se as ordens são apenas as da EA, não há problema. Ao abrir um pedido o "Medjik" é definido e somente os pedidos com este "Medjik" são selecionados de acordo com as condições de abertura do pedido.

Você tem uma pausa e precisa continuar