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

 
barabashkakvn:
Olha para a altura da minha carta e da minha - são diferentes, por isso a reentrância é diferente em cada caso.
Talvez algures em MT4 e MT5 haja uma oportunidade de definir a distância do topo e da base, por isso o gráfico de cotação será esticado/esticado por si só?
 
kon12:

Repito o quadro no meu e é isto que tenho

A questão é porque não tenho a mesma imagem que você. A escala é a mesma. Não gosto porque trabalho com MT4, a indentação é a mesma para cima e para baixo. O meu indicador coloca marcas de texto no gráfico para cima e para baixo. Fica bem na tábua. Mas no MT5 na tábua, o travessão na parte inferior come 10% do espaço da tábua. É desagradável num pequeno ecrã.

Se tiver um robô comercial e não souber como utilizá-lo, não hesite em contactar o Service Desk:

Fórum sobre comércio, sistemas de comércio automatizados e testes estratégicos

Perguntas de principiantes

paladin800, 2013.11.11 21:49

Talvez algures em MT4 e MT5 haja a possibilidade de definir a distância de cima e de baixo para que o gráfico de cotação seja esticado/esticado por si só?

Se tiver uma compreensão clara do homem com a mão direita, poderá ser capaz de a utilizar para alcançar a precisão necessária, mas terá de o fazer de imediato.

Os programadores implementam frequentemente sugestões razoáveis dos utilizadores.

 

Pode dizer-me como especificar o tipo de uma ordem pendente, e depois fazer mais movimentos dependendo do seu tipo.

Por exemplo, só posso ter o BUY_STOP ou SELL_STOP.

Faço o seguinte no meu EA:

// Если нет открытых позиций то закрываем отложные ордера!
  {
   ulong order_ticket;
//--- пройдем по всем отложенным ордерам
   for(int i=OrdersTotal()-1;i>=0;i--)
      if((order_ticket=OrderGetTicket(i))>0)
         //--- ордер с подходящим ORDER_MAGIC
         if(Mag2==OrderGetInteger(ORDER_MAGIC))
         
         if (PositionsTotal()<1) // открытых позиций нет?
         {
            MqlTradeResult result={0}; // удаляем отложные ордера!!
            MqlTradeRequest request={0};
            request.order=order_ticket;
            request.action=TRADE_ACTION_REMOVE;
            OrderSend(request,result);
            //--- выведем в лог ответ сервера  
            Print(__FUNCTION__,": ",result.comment," код ответа ",result.retcode);
           
         }else { 
                   type          =EnumToString(ORDER_TYPE);   // Устанавливаем тип отложного ордера
                   Print("ОРДЕР type =" , type );
                   
                   if (type == ORDER_TYPE_BUY_STOP && BezUbitok>0 && bool (mrate[1].close < BBMidle[1]) ) 
                  {
                   ModificationPosition_BUY_STOP (); // модифицируем ордер BUY_STOP
                  }
                   if (type == ORDER_TYPE_SELL_STOP && BezUbitok>0 && bool (mrate[1].close > BBMidle[1]) ) 
                  {
                   ModificationPosition_SELL_STOP (); // модифицируем ордер SELL_STOP
                  }
                   
              }     
               
  }  

Depois de tentar determinar o tipo =EnumToString(ORDER_TYPE); // Definir o tipo da ordem pendente

Verifico o que aí foi definido, apenas no caso deimpressão("ORDER type =", tipo );

Vejo no diário de bordo: 2013.11.12 17:42:09 Core 1 2006.06.21 13:00:00 Tipo de ORDEM =ORDER_TYPE

Isto é, tipoORDER_TYPE mas o que é SELL_STOPouBUY_STOP como é que eu determino?

Ou estou a fazer algo de errado?)

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
papaklass:

Experimente a linha

Substitui-la por

Neste caso, o log dá valores numéricos:

2013.11.12 19:08:32 Core 1 2008.04.22 10:00:07 Tipo de ORDEM =5
2013.11.12 19:08:31 Core 1 2007.08.17 14:00:00 Tipo de ORDEM =4

Talvez 4 é BUY_STOP e 5 é SELL_STOP

Mas devem ser numerados 5 e 6, isto é um disparate).

https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties#enum_order_type

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
papaklass:

Aqui está uma impressão do guião:

E o código do guião:

Obrigado!

Assumindo que ORDER_TYPE_BUY deve ser = 1).

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 

Quanto tempo antes de começar a distribuir as minhas definições a outros utilizadores?

 
Kirillos:

quanto tempo demorarei a começar a distribuir as minhas definições a outros utilizadores?

Provavelmente pretendia perguntar: "...doar os seus recursos..." com o Testador de Estratégia MetaTrader 5? Basicamente, tudo depende da classificação (PR) que os seus agentes obtiveram. Com PR abaixo de 120 não haverá muitas tarefas por dia - a carga total aproximada por dia é de cerca de 10 minutos.

Vá ao seu perfil em mql5.com e seleccione o separador de agentes(https://www.mql5.com/ru/users/kirillos/agents/list), aí poderá ver a classificação dos seus agentes.

 
existe um análogo Sharp? ou como fazer um?
 

Onde está o que falta?

   int dig=_Digits-1;
   double max=NormalizeDouble(1.33182,dig);//Мах на всем участке 
   double min=NormalizeDouble(1.30492,dig);//Мин на всем участке
   //double max=1.3318;
   //double min=1.3049;
   int mm=(int)((max-min)*pow(10,dig))+1;
   Alert(max," ",min," ",mm);

Se usar cordas comentadas, é correcto. Como está, é menos 1.

Esta construção produz13317 , e não 13318 .É erro meu ou MT?

Alert(int(max*10000));
 
Rorschach:

Onde está o que falta?

Se usar cordas comentadas, é correcto. Como está, é menos 1.

Esta construção produz13317 , e não 13318 .É erro meu ou MT?

Então precisa de obter 1.33182 para obter 1.3318? Só precisa de descartar o 5º dígito após o ponto decimal ou arredondar para o 4º dígito, ou seja, a partir de 1.33186 precisa de 1.3318 ou 1.3319?
Razão: