O que há de errado com isso? - página 4

 
sss2019:
O que mais vai ser?

e isto você verificará por si mesmo e saberá.
 
sergeev:

e isto você verificará por si mesmo e saberá.
Por que você o está entregando assim, você nem mesmo perguntou o sobrenome dele. É um brincalhão, você nem precisa abrir um mandado, basta bicar silenciosamente no seu bolso.
 
Um raspão, no entanto! É isso aí, sim, sim.
 

Por que esta ordem não se abre, qual é o erro?

//+------------------------------------------------------------------+
//|                                                         Test.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

extern int MaFastPeriod = 30;
extern int MaSlowPeriod = 90;
extern int StopLoss = 25;
extern int TakeProfit = 50;

int init()
  {

  }



int deinit()
  {

  }



int start()
  {
double MaFast = iMA(Symbol(),0,MaFastPeriod,0,MODE_EMA,PRICE_CLOSE,0);
double MaSlow = iMA(Symbol(),0,MaSlowPeriod,0,MODE_EMA,PRICE_CLOSE,0);
   
   if(OrdersTotal() == 0 && MaFast > MaSlow)
   {
   OrderSend(Symbol(),0,0.1,Ask,3,Ask+TakeProfit*Point,Ask-StopLoss*Point,"CommentA",0,0,Green);
   }else
   {
      if(GetLastError() != 0)
         {
         Alert("Ошибка", GetLastError());
         }
   }
   
   return(0);
  }
 
Como posso implementar a abertura de um negócio somente na barra de sinais?

Por exemplo, uma média móvel cruzou outra, um comércio abre, mas se você fechar este comércio, outro se abrirá, mesmo depois de várias barras da barra de sinalização.
 
sss2019:
Como posso implementar a abertura de um negócio somente na barra de sinais?

Por exemplo, uma média móvel cruzou outra, um comércio abre, mas se você fechar este comércio, outro se abrirá, mesmo depois de várias barras da barra de sinalização.
Você está definitivamente banido do google, e de nossas FAQ também.
Antes de tudo, COMO você recebe o sinal de cruzamento de dois MA?

Em seguida, procurar no Google algo como abrir apenas um site de pedidos:mql4.com
 

Sim, eu sei como abrir uma ordem, mas o problema é que se você abrir uma ordem e ela fechar após algumas horas e todas as condições de abertura ainda estiverem intactas, então outra ordem é aberta, mesmo que você já tenha ido longe da barra de sinais.

Vou dar uma olhada em seu link, obrigado.

 
sss2019:

Sim, eu sei como abrir um pedido, mas o problema é que se você abrir um pedido e ele fechar após algumas horas e todas as condições de abertura ainda estiverem intactas, outro pedido é aberto, mesmo que você já tenha ido longe da barra de sinais.

Vou olhar para seu link, obrigado.


Colocamos uma bandeira para permitir que as ordens sejam abertas. Entra um sinal e a bandeira permite. Abrimos a posição e retiramos imediatamente a bandeira. A pose é encerrada após algum tempo. O Expert Advisor vê que há um sinal, mas a bandeira é retirada (é proibido fazer pedidos) - como resultado, o pedido não é estabelecido.

A seguir. Se não houver sinal, colocamos uma bandeira (permitir a abertura de posições). Ou, assim que houver um novo sinal, colocamos uma bandeira. Mas no segundo caso, o Conselheiro Especialista deve ser capaz de distinguir um novo sinal do antigo.

 

drknn:



Coloque uma bandeira para permitir a abertura dos pedidos. Entra um sinal e a bandeira permite. Abrimos a posição e retiramos imediatamente a bandeira. A pose é encerrada após algum tempo. O Expert Advisor vê que há um sinal, mas a bandeira foi retirada (é proibido definir ordens), como resultado, a ordem não é definida.

A seguir. Se não houver sinal, colocamos a bandeira (permitir posições de abertura). Ou, assim que houver um novo sinal, nós colocamos a bandeira. Mas no segundo caso, o Conselheiro Especialista deve ser capaz de distinguir um novo sinal do antigo.


Muito obrigado, acho que desta forma é mais universal.

A propósito, como podemos anunciar em nossa EA que a ordem foi aberta? Talvez isto possa ser implementado usando OrderSelect?

 

Bem, por favor, dê uma olhada em algo que eu estraguei lá em cima e agora o pedido não vai abrir.

//+------------------------------------------------------------------+
//|                                                         Test.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

extern int MaFastPeriod = 30;
extern int MaSlowPeriod = 90;
extern int StopLoss = 25;
extern int TakeProfit = 50;

int init()
  {

  }



int deinit()
  {

  }



int start()
  {
  double MyPoint = Point;
   if(Digits == 3 || Digits == 5)
      {
      MyPoint = Point * 10;
      }
      
double MaFast = iMA(Symbol(),0,MaFastPeriod,0,MODE_EMA,PRICE_CLOSE,0);
double MaSlow = iMA(Symbol(),0,MaSlowPeriod,0,MODE_EMA,PRICE_CLOSE,0);

   for(int SelectedOrder = 0; SelectedOrder < OrdersTotal(); SelectedOrder++)
      {
         bool Flag = false;
         if(OrderSelect(SelectedOrder,SELECT_BY_POS,MODE_TRADES)==True)
            {
            Flag = false;
            }
      }
   return(Flag);
   
   if(OrdersTotal() == 0 && MaFast > MaSlow && Flag == false)
      {
      OrderSend(Symbol(),0,0.1,Ask,30,Ask-StopLoss*MyPoint,Ask+TakeProfit*MyPoint,"CommentA",0,0,Green);
      }
   
   return(0);
  }