[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 265

 
vasabu2012:

Leute, ich kenne Kim nicht, vielleicht kann jemand, der sich auskennt, in diesem Thread antworten.

Ich wäre Ihnen sehr dankbar dafür!

Hier ist er Kim Igor V. Und hier sind einige nützliche Funktionen von KimIV
 

Frage für Fachleute: Wir müssen die Daten der letzten abgeschlossenen
Bestellung, ist eine Zählung der Bestellnummern nicht möglich, da
Wenn Sie die Daten über die letzte geschlossene Order erhalten möchten, müssen Sie alle Order-Nummern zählen. Das ist unmöglich, da mehrere EAs arbeiten und jeder setzt und schließt.
Jeder EA hat seinen eigenen Assistenten.
Die Frage bezieht sich auf die Daten der letzten abgeschlossenen Bestellung im Terminal?

WER KENNT DIE ANTWORT?!!

 
vasabu2012:
Frage für Fachleute: Wir müssen Daten aus dem letzten abgeschlossenen
Auftrag, ist eine Zählung der Auftragsnummern nicht möglich, da
Ich habe ein paar EAs arbeiten und alle von ihnen setzen und schließen
Jeder EA hat seinen eigenen Assistenten.
Die Frage bezieht sich auf die Daten des letzten abgeschlossenen Auftrags im Terminal?

Ich bin kein Wissenschaftler, aber wenn Sie nach der letzten Bestellung suchen, finden Sie sie mit der Zeit...
 
WIE GENAU?
 
Wie bringe ich einen EA dazu, nicht nur in der Demo zu funktionieren?
Dateien:
sovetnik.ex4  31 kb
 
sergio7:
Wie bringe ich einen EA dazu, nicht nur in der Demo zu funktionieren?
Das, was Sie hier gepostet haben - NOTHING
 
sergio7:
Wie bringe ich einen EA dazu, nicht nur in der Demo zu funktionieren?

Es ist nicht der Quellcode! Es sollte mq4 heißen, nicht eh4!
 
paladin80:
Das, was Sie hier gepostet haben, ist NICHTS.


Derselbe Eindringling in einem anderen Thread:

sergio704.04.2013 21:04
Helfen Sie mit, dass der EA nicht nur in der Demo funktioniert.
Beigefügte Dateien:
tpyokfcx.ex4(30.27 KB)
 

Ich beschloss, mir die vonTarasBy geschriebenen Bibliotheken anzusehen. Ich habe mit dieserhttps://www.mql5.com/ru/code/10659 begonnen.

Es gibt einige Fragen. Ich werde konsequent sein. Zum Beispiel:

//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
//|  Автор : TarasBY, taras_bulba@tut.by                                              |
//+-----------------------------------------------------------------------------------+
//|        Получаем торговую информацию по символу                                    |
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
void fGet_MarketInfo (string fs_Symbol, int fi_Ticket = 0)
{
//----
         if (fs_Symbol != bs_Symbol || fi_Ticket < 0)
         {
                  if (fi_Ticket > 0)
                  {
                     bs_Symbol = OrderSymbol();
                  }
                  else
                  {
                     bs_Symbol = fs_Symbol;
                  }
                  if (bs_Symbol == Symbol())
                  {
                      bi_SymDigits = Digits;
                      bd_SymPoint = Point;
                  }
                  else
                  {
                      bi_SymDigits = MarketInfo (fs_Symbol, MODE_DIGITS);
                      bd_SymPoint = MarketInfo (fs_Symbol, MODE_POINT);
                  }
        if (bd_SymPoint == 0.0)
        {
           bd_SymPoint = fGet_Point (fs_Symbol);
        }
                  bd_ProfitMIN = NDP (ProfitMIN_Pips);
         }
         if (fi_Ticket > 0)
         {
            fGet_OrderDetails (fi_Ticket);
         }
    //---- Получаем текущие цены по инструменту
    RefreshRates();
    bda_Price[0] = NDD (fGet_TradePrice (0, bb_RealTrade, bs_Symbol));
    bda_Price[1] = NDD (fGet_TradePrice (1, bb_RealTrade, bs_Symbol));
    bd_Spread = NDD (bda_Price[1] - bda_Price[0]);
//----
}

Das können wir an den Funktionsparametern selbst sehen:

fi_Ticket = 0

Normalerweise werden solche Funktionen bereits nach der Auftragsauswahl aufgerufen, d.h. sie haben ein Ticket. Warum sollten wir dann einen Standardwert von Null zuweisen?

Der nächste Schritt ist noch interessanter:

if (fs_Symbol != bs_Symbol || fi_Ticket < 0)
{
   if (fi_Ticket > 0)
   {
      bs_Symbol = OrderSymbol();
   }
   else
   {
     bs_Symbol = fs_Symbol;
                  }
                  if (bs_Symbol == Symbol())
                  {
                      bi_SymDigits = Digits;
                      bd_SymPoint = Point;
                  }

Die Variable fs_Symbol wird sofort mit bs_Symbol verglichen.

Dasobigebs_Symbol wurde nicht initialisiert, wo dieFunktionfGet_MarketInfo()selbst aufgerufen wird. Und wofür ist dieses bs_Symbol überhaupt gut?

auch in der Bedingung:

if (fs_Symbol != bs_Symbol || fi_Ticket < 0)

Bedingung, wennfi_Ticket < 0, dann weiter...

if (fi_Ticket > 0)
{
   bs_Symbol = OrderSymbol();
}

und dies widerspricht bereits der Bedingung. Am Anfang des Codes muss die Bedingungfi_Ticket < 0 gelten, und dann innerhalb dieser Bedingung das Ticket > 0. Wo ist die Logik?