Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 757

 
Ozero:
Eu quis dizer que a ordem não fecha :( Desculpe se eu não coloquei dessa maneira, ainda sou um principiante.

Está funcionando muito bem.

//+------------------------------------------------------------------+
//|                                                        Ozero.mq4 |
//|                                            Copyright 2014, Vinin |
//|                                             http://vinin.ucoz.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, Vinin"
#property link      "http://vinin.ucoz.ru"
#property version   "1.00"
#property strict
// -------- переменные --- Н -----
extern double gLot=0.1;            // размер лота для покупки 
extern double gPoint=0.001;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
// -------- переменные --- К ----- 
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {

// Открытие позиции
   if(OrdersTotal()==0)
     {
      Print(" Открытие первой позиции ");
      double _Ask=MarketInfo("GBPUSD",MODE_ASK);
      int ticket=OrderSend("GBPUSD",OP_BUY,gLot,_Ask,15,0,0);
      if(ticket>0)
        {
         Print(" ОРДЕР ОТКРЫТ ",ticket);
        }
     }

   double _Bid=MarketInfo("GBPUSD",MODE_BID); //для цены
   for(int pos=OrdersTotal()-1;pos>=0;pos--)
     {
      if(OrderSelect(pos,SELECT_BY_POS))
        {
         if(OrderOpenPrice()+gPoint<_Bid)
           {
            OrderClose(OrderTicket(),OrderLots(),_Bid,15);
           }
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
Arquivos anexados:
ozero.mq4  2 kb
 
Vinin:

Está funcionando muito bem.

Olá Vinin.

Analisei seu código. Bela solução para o meu problema. Mas mesmo assim, meu código funcionou para você? Ou "Ele funciona" se refere à sua versão do programa?

É importante para mim entender a linguagem MQL.


Pergunta sobre sua versão. Por que você não declara as variáveis _Bid e _Ask no início do programa? É permitido em mql4?


Ozero.

 
Vinin:

Funciona muito bem.

Fantástico! Seu programa funciona. Mas por que a minha não funciona assim?
 
Ozero:
Fantástico! Seu programa funciona. Mas por que a minha não funciona assim???

Qual é a primeira parte comparada com esta?

           if (AktualBid>=AktualAsk+0.010 && PozOtk1==false)

Se você corrigiu o código para obter o segundo valor, como foi aconselhado:

                   AktualAsk=MarketInfo( "GBPUSD",MODE_ASK);

então você não o fez para o primeiro:

      AktualBid=NormalizeDouble(Bid,Digits); //для цены

E Vinin tem-no fixado:

   double _Bid=MarketInfo("GBPUSD",MODE_BID); //для цены

Isso é provavelmente tudo que é fantástico. Mas não sei ao certo, verifique por si mesmo.

 
Olá, ajude-me a entender o indicador, quero saber qual fórmula é usada para calcular o valor "Fórmula 0", bem como o valor "Fórmula 1".
Arquivos anexados:
 
zigga85:
Olá, ajude-me a entender este indicador, quero saber qual fórmula é usada para calcular o valor da "Fórmula 0", assim como o valor da "Fórmula 1".
(Alto+Baixo+Fecho)/3 e (Alto+Baixo+2*Fecho)/4
 
Vinin:

Funciona muito bem.

Caro moderador Vinin!!!!

Há muito tempo que quero agradecer a vocês por suas respostas sinceras. Um deles me ajudou há muito tempo com minha transição para o comércio real. Você me aconselhou o algoritmo de fechamento de ordem correto em vez do algoritmo que eu mesmo escrevi. Eu ainda uso o seu.

O conselho nesta linha é muito bom e útil.

Mais uma vez, muito obrigado!

 
Vinin:

Funciona muito bem.

Boa noite.


0 erros, um aviso: o valor de retorno de 'OrderClose' deve ser verificado 46 13 é a linha OrderClose(OrderTicket(),OrderLots(),_Bid,15);


Ozero.

 
Ozero:

Boa noite.


0 erros, um aviso: o valor de retorno de 'OrderClose' deve ser verificado 46 13 é a linha OrderClose(OrderTicket(),OrderLots(),_Bid,15);


Ozero.


ResetLastError();
if(!OrderClose(OrderTicket(),OrderLots(),_Bid,15);) Print("Чё-та не закрылася позиция. Фигня вот такая происходит: "+GetLastError());
 
artmedia70:

Coloque um ";" atrás do suporte.

O programa funciona, MAS ocasionalmente falha com erro 4108.


Ozero.