[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 219

 

Danke, eingefügt diesen Code in EA, Kompilierung gibt '(' - Funktionsdefinition unerwartete nach bool ExistOrders, es gibt eine zusätzliche Klammer oder etwas...

for (int k=0;k<OrdersTotal();k++)//Wir überprüfen alle offenen Aufträge
{
OrderSelect(k,SELECT_BY_POS,MODE_TRADES);
if (!ExistOrders(Symbol(), OP_SELLLIMIT, Magic) )
OrderSend(Symbol(),OP_SELLLIMIT,Lots,Ask+(Shag/0.2)*Point,3,0,0,",123,0,Red);
bool ExistOrders(string sy="", int op=-1, int mn=123)
{
int i, k=OrdersTotal(), ty;
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
ty=OrderType();
wenn (ty<6)
{
if ((OrderSymbol()==sy || sy=="") && (op<0 || ty==op))
{
if (mn<0 || OrderMagicNumber()==mn) return(True);
}}}} return(False);
}
//----
zurück(0);
}
 
Graall:

Danke, eingefügt diesen Code in EA, Kompilierung gibt '(' - Funktionsdefinition unerwartete nach bool ExistOrders, es gibt eine zusätzliche Klammer oder etwas...


Nehmen Sie die FunktionExistOrders aus der Startfunktion heraus.
int start()
{
.....
for (int k=0;k<OrdersTotal();k++)//Производим просмотр среди всех открытых ордеров
   {
    OrderSelect(k,SELECT_BY_POS,MODE_TRADES);
    if (!ExistOrders(Symbol(), OP_SELLLIMIT, Magic) )  
     OrderSend(Symbol(),OP_SELLLIMIT,Lots,Ask+(Shag/0.2)*Point,3,0,0,"",123,0,Red);
}
   return(0);
 }

    bool ExistOrders(string sy="", int op=-1, int mn=123) 
     {
      int i, k=OrdersTotal(), ty; 
      if (sy=="0") sy=Symbol();
      for (i=0; i<k; i++) 
      {
       if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) 
       {
        ty=OrderType();
        if (ty<6) 
        {
          if ((OrderSymbol()==sy || sy=="") && (op<0 || ty==op)) 
         {
          if (mn<0 || OrderMagicNumber()==mn) return(True);
      }}}}  return(False);
          }
 
 

Yeah got it,ExistOrdersFunktionist eine benutzerdefinierte Funktion, nahm es aus der Startfunktion, der Fehler ist der gleiche, es ist etwas in den ersten Teil des EA kämpfen, ich bin es vollständig einfügen


//+------------------------------------------------------------------+

//| 1.mq4 |
//| (Oleg 2013)
//| |
//+------------------------------------------------------------------+
#define Magic 123

//--- Eingabeparameter
extern int TakeProfit = 100;
extern double Lots = 0.1;
extern int Shag = 100;
string sy;
int ty;
int op;
int mn;
int k;
int i;
//--------------------------------------------------------------------------------------------
int start()
{
// Suche nach dem ersten Nullelement
int total=OrdersTotal();
wenn (gesamt==0)
{
OrderSend(Symbol(),OP_SELLLIMIT,Lots,Ask+(Shag/0.2)*Point,3,0,0,",123,0,Red);
OrderSend(Symbol(),OP_BUYLIMIT,Lots,Ask-(Shag/0.2)*Point,3,0,0,",123,0,Blue);
for (int i=0;i<OrdersTotal();i++)//Ansicht aller offenen Aufträge
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if ( OrderType()==OP_SELLLIMIT)
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(),Ask-(TakeProfit/0.2)*Point, 0);
if ( OrderType()==OP_BUYLIMIT)
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(),Ask+(TakeProfit/0.2)*Point, 0);
}
}
for (int k=0;k<OrdersTotal();k++)//Ansicht aller offenen Aufträge
{
OrderSelect(k,SELECT_BY_POS,MODE_TRADES);
if (!ExistOrders(Symbol(), OP_SELLLIMIT, Magic) )
OrderSend(Symbol(),OP_SELLLIMIT,Lots,Ask+(Shag/0.2)*Point,3,0,0,",123,0,Red);

//----
zurück(0);
}
//+------------------------------------------------------------------+
bool ExistOrders(string sy="", int op=-1, int mn=123)
{
int i, k=OrdersTotal(), ty;
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
ty=OrderType();
wenn (ty<6)
{
if ((OrderSymbol()==sy || sy=="") && (op<0 || ty==op))
{
if (mn<0 || OrderMagicNumber()==mn) return(True);
}}}} return(False);
}
 
Graall:



Überprüfen Sie die Klammerpaarung {} (sorgfältig). Der Fehler bedeutet, dass mindestens eine Schließung in der Funktion start () fehlt.
 
alsu:

Paarung der Klammern {} (sorgfältig) prüfen. Der Fehler bedeutet, dass mindestens eine Schließung in der Funktion start () fehlt.


rechts, nach

for (int k=0;k<OrdersTotal();k++)//Watch unter allen offenen Aufträgen

{
OrderSelect(k,SELECT_BY_POS,MODE_TRADES);
if (!ExistOrders(Symbol(), OP_SELLLIMIT, Magic) )

OrderSend(Symbol(),OP_SELLLIMIT,Lots,Ask+(Shag/0.2)*Point,3,0,0,",123,0,Red);

verfehlt } Ich danke Ihnen!

 
Hallo, meine Zeit im Terminal nicht mit der realen Zeit übereinstimmen, jetzt, wenn ich den Cursor auf die M5 Kerze zeigt 18.45, und in der Tat in der Ukraine 19.45, wie man die Zeit ändern?
 
sanktum:
Hallo, meine Zeit im Terminal nicht mit der realen Zeit übereinstimmen, jetzt, wenn Sie über die M5 Candlestick schweben zeigt 18,45, aber eigentlich in der Ukraine 19,45, wie die Zeit zu ändern?

Keine. Die Zeit auf den Kerzenleuchtern ist die Serverzeit.

 

Guten Tag.

Ich schreibe bei jedem Öffnen eines neuen Balkens Daten in eine Datei:

int handle=FileOpen(Symbol1+Symbol2+".csv",FILE_WRITE|FILE_READ|FILE_CSV);
      if(handle>0)
        {
         FileSeek(handle,0,SEEK_END);
         FileWrite(handle,TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES), DoubleToString(Pr1,2),DoubleToString(Pr2,2),DoubleToString(Pr3,2),DoubleToString(Pr4,2));
         FileClose(handle);
        }

Ich brauche den Indikator, um diese Daten zu lesen und ein Diagramm über die aufgezeichneten Zeitintervalle zu erstellen.

Ich möchte einen Indikator haben, der diese Daten liest und sie bei jeder Eröffnung eines neuen Balkens auf dem Diagramm darstellt.

 

Ich habe MT4 (Version: 4.00 Build 451) installiert und festgestellt, dass es im Ordner Experts Logs nur eine Datei gibt, die auf den Tag der Installation des Terminals datiert ist, d.h. den 13. Keine weiteren Log-Dateien, obwohl ich die Plattform mehrmals ein- und ausgeschaltet habe.

Für Kommentare zu diesem Phänomen wären wir dankbar.

 
Geowind64:

Ich habe MT4 (Version: 4.00 Build 451) installiert und festgestellt, dass es im Ordner Experts Logs nur eine Datei gibt, die auf den Tag der Installation des Terminals datiert ist, d.h. den 13. Keine weiteren Log-Dateien, obwohl ich die Plattform mehrmals ein- und ausgeschaltet habe.

Für Kommentare zu diesem Phänomen wären wir dankbar.


Ich muss mindestens einen Experten/Indikator/Skript ausführen, da sie in diesen Ordner schreiben.