Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1290

 
ANDREY:

Por favor, diga-me o que significa EA no contexto do que você escreveu em seu post. Eu quero encontrar e ler mais sobre isso.....
Obrigado.

EA = Consultor especialista

EA

Esta é a primeira vez que vejo alguém neste fórum que não entendeu a abreviação

Eu não tentei fazer um pedido no MT5 preenchendo toda a estrutura de pedidos, existe uma SB, se você entender, é uma linha para abrir um pedido

trade.Buy(0.1);

https://www.mql5.com/ru/articles/481

 
MakarFX:

Imprimir


Não está claro porque muda para M5

As parcelas de terreno e as vendas são globais ou locais?
 
Alexey Viktorov:

O que é melhor?

(0 == 0 e 1 == 0) - a condição não é satisfeita

(0 + 1 == 0) - a condição também não é satisfeita.

Qual é a diferença entre AND e adição neste exemplo em particular?

O código é mais legível.
 
Alexey Viktorov:

Quando a TF é trocada, a EA é reiniciada.

A questão é resolvida da seguinte forma

int    CountOrder(int Order_Type) 
 {
  int Orders=0;
  for(int a=OrdersTotal()-1;a>=0;a--)
   {
    if(OrderSelect(a, SELECT_BY_POS, MODE_TRADES)==false) continue;
    if(OrderSymbol()!=_Symbol) continue;
    if(Order_Type == OrderType() || Order_Type == -1) Orders++;
   }
  return Orders;
 }
int    OrOfSy;
//+------------------------------------------------------------------+
void OnTimer(void)
  {
//----
   OrOfSy=CountOrder(-1);
  if(OrOfSy!=0)
   if(ChartPeriod()!=PERIOD_M15)
    if(ChartSetSymbolPeriod(0,Symbol(),PERIOD_M15))
     {Print(ChartPeriod());}
  if(OrOfSy==0)
   if(ChartPeriod()!=PERIOD_M5)
    if(ChartSetSymbolPeriod(0,Symbol(),PERIOD_M5))
     {Print(ChartPeriod());}
//----
  }
Tudo funciona)
 
MakarFX:

A questão foi resolvida da seguinte forma

Tudo funciona)
OrofSys está na zona global.
 
Igor Makanu:

EA = Consultor especialista

EA

Esta é a primeira vez que vejo alguém neste fórum que não entendeu a abreviação

sobre o que foi discutido - eu não tentei fazer pedidos no MT5 preenchendo toda a estrutura de pedidos, existe uma SB, se você entender, ela abre um pedido em uma linha

https://www.mql5.com/ru/articles/481

Entendi. Obrigado.

 
SanAlex:

erro - esta linha deve ser apagada ( dupla const = 0; )

e tudo vai funcionar



Olá SanAlex ! 2020.10.29_06:54 GMT+3. Obrigado por suas sugestões. O indicador BrainTrend1Sig.mq4 será útil. Eu mesmo não lidei com a conversão de código de .mq5 para .mq4 . Vou tentar fazer um consultor especializado rentável com base neste indicador.

 
Valeriy Yastremskiy:
O código é mais legível.

Depende...

 

Você pode me dizer como bloquear o botão

   //--- обработка кнопки Создать трендовую линию Buy
   if(sparam=="Button 3")
      {
      if(trigger_greateB==true)
         {
         Sleep(100);
         trigger_greateB=false;
         ObjectSetInteger(0,"Button 3",OBJPROP_STATE,true);
         //--- Определяем координаты
         ChartXYToTimePrice(0,xn,yn+20,window,dt_1,price_1);
         ChartXYToTimePrice(0,xn+100,yn-20,window,dt_2,price_2);
         //--- Создаем трендовую линию Buy
         TrendCreate(0,("OrderBuy: "+Symbol()),0,dt_1,price_1,dt_2,price_2,ColorUP,0,1,false,true,false,false,0);
         return;
         }
      }

você precisa trancar a prensa se

if(ObjectGet("OrderBuy: "+Symbol(),OBJPROP_PRICE1)!=0)
 
MakarFX:

Você pode me dizer como bloquear o botão

Você precisa bloquear a imprensa se

Assim mesmo, acrescente-o à condição.

if(sparam=="Button 3" && ObjectGet("OrderBuy: "+Symbol(),OBJPROP_PRICE1)!=0)

Ou == 0, mais provavelmente. Ou melhor usar a busca por objeto pelo nome, se não houver tal objeto, então crie um. E não importa se o botão é pressionado ou não.

Razão: