Ich schreibe kostenlos einen Ratgeber - Seite 120

 
Hallo! Kann jemand den Berater optimieren?
 
Hallo. Bitte helfen Sie mir, einen EA zu schreiben. Es ist wirklich gut. Es tut mir leid, dass ich meine Idee nicht öffentlich machen kann. Wenn Sie helfen können, schicken Sie mir bitte eine private Nachricht. Ich wäre Ihnen sehr dankbar!
 
kasdamato222:
Hallo. Bitte helfen Sie mir, einen EA zu schreiben. Es ist wirklich gut. Es tut mir leid, aber ich kann meine Idee nicht öffentlich machen. Ich wäre Ihnen sehr dankbar, wenn Sie mir eine private Nachricht schicken könnten.

Wenn es eine sehr gute Idee ist, bezahlen Sie einen Programmierer, der Ihre Idee in einen Experten umsetzt.

 
Hallo, können Sie beraten, wer den ASK-Indikator zum automatischen Handel mit MT2auto Handel Haken helfen könnte. Der Indikator gibt ein Signal, zeichnet einen Pfeil und gibt eine Warnung aus, aber wenn ich MT2 auf dem Chart installiere, sieht er es nicht und kopiert daher die Signale nicht. ich denke, ich muss etwas in den Einstellungen des ASK-Indikators korrigieren oder das Format des Pfeils ändern. ich bin bereit, für qualifizierte Hilfe zu danken. Ich danke Ihnen.
Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Среди программ для автоматического трейдинга можно выделить две большие категории: торговые роботы и индикаторы. Первые предназначены для совершения торговых операций на рынках, а вторые — для анализа котировок и выявления закономерностей в их изменении. При этом индикаторы могут использоваться непосредственно в роботах, образуя полноценную...
 
Ich brauche einen einfachen EA auf mql5. Zu Beginn seiner Arbeit sollten 2 Kauf-/Verkaufsschaltflächen erscheinen. Wenn Sie eine von ihnen drücken, wird ein Handel mit vordefinierten Parametern und einer magischen Zahl eröffnet. Sobald die Schaltfläche gedrückt wird, sollte sie verschwinden, bis keine offenen Positionen mehr auf dem gegebenen Chart vorhanden sind. Wenn dieser Zeitpunkt gekommen ist, sollten die Schaltflächen erscheinen.
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Sysmart:
Ich brauche einen einfachen EA auf mql5. Zu Beginn seiner Arbeit sollte es 2 Kauf-/Verkaufsschaltflächen geben, wobei das Drücken einer von ihnen ein Geschäft mit vordefinierten Parametern und einer magischen Zahl öffnen sollte. Sobald die Schaltfläche gedrückt wird, sollte sie verschwinden, bis keine offenen Positionen mehr auf dem gegebenen Chart vorhanden sind. Wenn dieser Zeitpunkt gekommen ist, sollten die Schaltflächen erscheinen.

Ich habe ein Panel mit zwei Schaltflächen erstellt:Panel öffnen schließen

Öffnen Schließen Panel

undÖffnen Schließen Panel 2

Öffnen Schließen Panel 2


Nur dass die Tasten nicht verschwinden oder gesperrt werden können.

Open Close Panel
Open Close Panel
  • www.mql5.com
Сама панель содержит три кнопки: 'BUY', 'SELL' и 'CLOSE'. Рассчитана на ручную торговлю - быстро открывать позиции с заданным уровнем Стоп лосс и Тейк профит, а также для быстрого закрытия всех позиций. Архив "Open Close Panel.zip" необходимо распаковать в отдельную папку в папку MQL5/Experts. Содержание архива:
 
Sysmart:
Wir brauchen einen einfachen Expert Advisor auf mql5. Zu Beginn seiner Arbeit sollten 2 Kauf-/Verkaufsschaltflächen erscheinen. Wenn Sie eine von ihnen drücken, sollte sich ein Geschäft mit vordefinierten Parametern und einer magischen Zahl öffnen. Sobald die Schaltfläche gedrückt wird, sollte sie verschwinden, bis keine offenen Positionen mehr auf dem gegebenen Chart vorhanden sind. Wenn dieser Zeitpunkt gekommen ist, sollten die Schaltflächen erscheinen.

öffnet, entfernt Schaltflächen - wenn keine Positionen vorhanden sind, erscheinen Schaltflächen.

Beispiel - (einfach alles an seinen Platz stellen).

//+------------------------------------------------------------------+
//|                                               удалить кнопки.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);
  }
//+------------------------------------------------------------------+
Dateien:
 
Alexsandr San:

öffnet, entfernt Schaltflächen - wenn keine Positionen vorhanden sind, erscheinen Schaltflächen.

Beispiel - (nur um alles an seinen Platz zu stellen).

Im Expert Advisor selbst Lot Balanse Profit.mq544 kb

Hier -

//+------------------------------------------------------------------+
//| 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();
  }
//+------------------------------------------------------------------+

dies wäre wahrscheinlich überflüssig

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

Die zweite Möglichkeit ist, wie Sie die Dinge in Ordnung bringen können

//+------------------------------------------------------------------+
//|                                               удалить кнопки.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);
  }
//+------------------------------------------------------------------+

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

Expert Advisor ist mit der zweiten Option verbunden !!!

Dateien:
 
Alexsandr San:

Im Experten selbst Lot Balanse Profit.mq544 kb

Hier -

dies ist wahrscheinlich unnötig

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

Die zweite Möglichkeit ist, wie Sie die Dinge an ihren richtigen Platz bringen können

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

Der Expert Advisor ist mit der zweiten Option verbunden!!!

Der Experte enthält viel Unnötiges, und mit meinem Wissen werde ich nicht in der Lage sein, das Unnötige herauszufiltern.

 
Sysmart:

Der Expert Advisor enthält viel Unnötiges, und mit meinen Kenntnissen werde ich nicht in der Lage sein, das Unnötige herauszufiltern.

Ich habe es also durchgekaut - alles, was Sie tun müssen, ist, das Ganze in Ihren Code einzufügen https://www.mql5.com/ru/forum/35071/page120#comment_16528116

Sie müssen alles, was Sie brauchen, in die Datei einfügen. Aber dasLot Profit.mq545 kb. (Es müssen noch viele Dinge eingefügt werden)

Grund der Beschwerde: