Escreverei um conselheiro sem custos - página 120

 
Olá! alguém pode afinar o conselheiro?
 
Olá. Por favor, ajude-me a escrever um EA. É realmente bom. Lamento não poder afixar a minha ideia publicamente. Se puder ajudar, por favor envie-me uma mensagem privada. Ficar-lhe-ia muito grato!
 
kasdamato222:
Olá. Por favor, ajude-me a escrever um EA. É realmente bom. Lamento, mas não posso afixar a minha ideia publicamente. Ficaria muito grato se me pudesse ajudar, enviando uma mensagem privada.

Se for uma ideia muito boa, pague a um programador para colocar a sua ideia num Perito.

 
Olá, pode aconselhar quem poderia ajudar a ligar o indicador ASK ao comércio automático usando o MT2auto. O indicador dá um sinal, desenha uma seta e dá um alerta, mas quando instalo o MT2 no gráfico, ele não o vê e, portanto, não copia os sinais. penso que preciso de corrigir algo nas definições do indicador ASK ou alterar o formato da seta. estou pronto a agradecer pela ajuda qualificada. Obrigado.
Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Среди программ для автоматического трейдинга можно выделить две большие категории: торговые роботы и индикаторы. Первые предназначены для совершения торговых операций на рынках, а вторые — для анализа котировок и выявления закономерностей в их изменении. При этом индикаторы могут использоваться непосредственно в роботах, образуя полноценную...
 
Preciso de uma simples EA em mql5. No início do seu trabalho, devem aparecer 2 botões de compra/venda, premindo um deles deve abrir uma troca com parâmetros predefinidos e um número mágico. Uma vez premido o botão, este deve desaparecer até ao momento em que não haja posições em aberto no gráfico dado. Se este tempo chegou, os botões devem aparecer.
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Sysmart:
Preciso de uma simples EA em mql5. No início do seu trabalho, deve haver 2 botões de compra/venda, premindo um deles deve abrir um negócio com parâmetros pré-definidos e um número mágico. Uma vez premido o botão, este deve desaparecer até ao momento em que não haja posições em aberto no gráfico dado. Se este tempo chegou, os botões devem aparecer.

Fiz um painel de dois botões:Abrir Fechar Painel

Abrir Painel Fechado

eAbrir Painel Fechado 2

Abrir Fechar Painel 2


Excepto que os botões não desapareceriam ou fechariam.

Open Close Panel
Open Close Panel
  • www.mql5.com
Сама панель содержит три кнопки: 'BUY', 'SELL' и 'CLOSE'. Рассчитана на ручную торговлю - быстро открывать позиции с заданным уровнем Стоп лосс и Тейк профит, а также для быстрого закрытия всех позиций. Архив "Open Close Panel.zip" необходимо распаковать в отдельную папку в папку MQL5/Experts. Содержание архива:
 
Sysmart:
Precisamos de um simples Expert Advisor em mql5. No início do seu trabalho, devem aparecer 2 botões de compra/venda, premindo um deles, deve abrir um negócio com parâmetros pré-definidos e número mágico. Uma vez premido o botão, este deve desaparecer até ao momento em que não haja posições em aberto no gráfico dado. Se este tempo chegou, os botões devem aparecer.

abre, remove botões - se não houver posições, os botões aparecerão.

exemplo-(apenas, colocar tudo no seu lugar).

//+------------------------------------------------------------------+
//|                                               удалить кнопки.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//---
#define  InpMagic 19789876535
//---
#include <Trade\PositionInfo.mqh>
//---
CPositionInfo  m_position; // trade position object
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   if(!m_position.Select(Symbol()))
     {
      CheckObject();
     }
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   if(ObjectFind(0,"BUY")==0)
     {
      ObjectDelete(0,"BUY");
     }
   if(ObjectFind(0,"SELL")==0)
     {
      ObjectDelete(0,"SELL");
     }
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if(ObjectGetInteger(0,"BUY",OBJPROP_STATE)!=0)
     {
      ObjectSetInteger(0,"BUY",OBJPROP_STATE,0);

      //--- сюда BUY

      if(ObjectFind(0,"BUY")==0)
        {
         ObjectDelete(0,"BUY");
        }
      if(ObjectFind(0,"SELL")==0)
        {
         ObjectDelete(0,"SELL");
        }
      PlaySound("ok.wav");
     }
   if(ObjectGetInteger(0,"SELL",OBJPROP_STATE)!=0)
     {
      ObjectSetInteger(0,"SELL",OBJPROP_STATE,0);

      //--- сюда SELL

      if(ObjectFind(0,"BUY")==0)
        {
         ObjectDelete(0,"BUY");
        }
      if(ObjectFind(0,"SELL")==0)
        {
         ObjectDelete(0,"SELL");
        }
      PlaySound("ok.wav");
     }
//---
   if(!m_position.Select(Symbol()))
     {
      CheckObject();
     }
//---
  }
//+------------------------------------------------------------------+
//| Check for long position closing                                  |
//+------------------------------------------------------------------+
bool CheckObject(void)
  {
//---
   bool res=false;
     {
      ObjectCreate(0,"BUY",OBJ_BUTTON,0,0,0);
      ObjectSetInteger(0,"BUY",OBJPROP_XDISTANCE,ChartGetInteger(0,CHART_WIDTH_IN_PIXELS)-102);
      ObjectSetInteger(0,"BUY",OBJPROP_YDISTANCE,37);
      ObjectSetString(0,"BUY",OBJPROP_TEXT,"BUY");
      ObjectSetInteger(0,"BUY",OBJPROP_BGCOLOR,clrMediumSeaGreen);

      ObjectCreate(0,"SELL",OBJ_BUTTON,0,0,0);
      ObjectSetInteger(0,"SELL",OBJPROP_XDISTANCE,ChartGetInteger(0,CHART_WIDTH_IN_PIXELS)-50);
      ObjectSetInteger(0,"SELL",OBJPROP_YDISTANCE,37);
      ObjectSetString(0,"SELL",OBJPROP_TEXT,"SELL");
      ObjectSetInteger(0,"SELL",OBJPROP_BGCOLOR,clrDarkOrange);
      res=true;
     }
//--- result
   return(res);
  }
//+------------------------------------------------------------------+
Arquivos anexados:
 
Alexsandr San:

abre, remove botões - se não houver posições, os botões aparecerão.

exemplo-(apenas para colocar tudo no seu lugar).

No próprio Expert Advisor Lot Balanse Profit.mq544 kb

Aqui...

//+------------------------------------------------------------------+
//| Close selected position                                          |
//+------------------------------------------------------------------+
void ClosePosition(const string symbol)
  {
   if(InitTrade(symbol))
      m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbo
   PlaySound("ok.wav");
   CheckObject();
  }
//+------------------------------------------------------------------+

isto seria provavelmente redundante

------------------------------------------------------------------------------------

A segunda opção é como pode corrigir as coisas

//+------------------------------------------------------------------+
//|                                               удалить кнопки.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//---
#define  InpMagic 19789876535
//---
#include <Trade\PositionInfo.mqh>
//---
CPositionInfo  m_position; // trade position object
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   if(!m_position.Select(Symbol()))
     {
      CheckObject();
     }
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   if(ObjectFind(0,"BUY")==0)
     {
      ObjectDelete(0,"BUY");
     }
   if(ObjectFind(0,"SELL")==0)
     {
      ObjectDelete(0,"SELL");
     }
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   CheckButon();
//---
   if(!m_position.Select(Symbol()))
     {
      CheckObject();
     }
//---
  }
//+------------------------------------------------------------------+
//| Check for long position closing                                  |
//+------------------------------------------------------------------+
bool CheckButon(void)
  {
//---
   bool res=false;
     {
      if(ObjectGetInteger(0,"BUY",OBJPROP_STATE)!=0)
        {
         ObjectSetInteger(0,"BUY",OBJPROP_STATE,0);

         //--- сюда BUY

         if(ObjectFind(0,"BUY")==0)
           {
            ObjectDelete(0,"BUY");
           }
         if(ObjectFind(0,"SELL")==0)
           {
            ObjectDelete(0,"SELL");
           }
         PlaySound("ok.wav");
        }
      if(ObjectGetInteger(0,"SELL",OBJPROP_STATE)!=0)
        {
         ObjectSetInteger(0,"SELL",OBJPROP_STATE,0);

         //--- сюда SELL


         if(ObjectFind(0,"BUY")==0)
           {
            ObjectDelete(0,"BUY");
           }
         if(ObjectFind(0,"SELL")==0)
           {
            ObjectDelete(0,"SELL");
           }
         PlaySound("ok.wav");
        }
      res=true;
     }
//--- result
   return(res);
  }
//+------------------------------------------------------------------+
//| Check for long position closing                                  |
//+------------------------------------------------------------------+
bool CheckObject(void)
  {
//---
   bool res=false;
     {
      ObjectCreate(0,"BUY",OBJ_BUTTON,0,0,0);
      ObjectSetInteger(0,"BUY",OBJPROP_XDISTANCE,ChartGetInteger(0,CHART_WIDTH_IN_PIXELS)-102);
      ObjectSetInteger(0,"BUY",OBJPROP_YDISTANCE,37);
      ObjectSetString(0,"BUY",OBJPROP_TEXT,"BUY");
      ObjectSetInteger(0,"BUY",OBJPROP_BGCOLOR,clrMediumSeaGreen);

      ObjectCreate(0,"SELL",OBJ_BUTTON,0,0,0);
      ObjectSetInteger(0,"SELL",OBJPROP_XDISTANCE,ChartGetInteger(0,CHART_WIDTH_IN_PIXELS)-50);
      ObjectSetInteger(0,"SELL",OBJPROP_YDISTANCE,37);
      ObjectSetString(0,"SELL",OBJPROP_TEXT,"SELL");
      ObjectSetInteger(0,"SELL",OBJPROP_BGCOLOR,clrDarkOrange);
      res=true;
     }
//--- result
   return(res);
  }
//+------------------------------------------------------------------+

---------------------------

Conselheiro especializado em anexo com a segunda opção!!!

Arquivos anexados:
 
Alexsandr San:

No próprio Expert Lot Balanse Profit.mq544 kb

Aqui...

isto é provavelmente desnecessário

------------------------------------------------------------------------------------

A segunda opção é como pode colocar as coisas no seu devido lugar

---------------------------

O Conselheiro Especialista anexado com a segunda opção!!!

Há muitas coisas desnecessárias no perito, com o meu conhecimento não poderei eliminar as coisas desnecessárias.

 
Sysmart:

Há muitas coisas desnecessárias no Expert Advisor, com o meu conhecimento não vou conseguir eliminar as coisas desnecessárias.

Por isso, mastiguei-o - tudo o que precisa de fazer é colar tudo no seu código https://www.mql5.com/ru/forum/35071/page120#comment_16528116

Tem de inserir nele tudo o que precisa, mas olote Lucro.mq545 kb. (Ainda precisa de muitas coisas para ser inserido)