Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 281

 
Integer:

Include ist kein Import.

Das ist verständlich. Ich importiere Bibliotheken. Und die Inline-Funktion dient nur dazu, ein Stück Code an einer Stelle einzufügen. Das spart Platz auf der Tafel.

Integer:

Wir sollten versuchen, eine Funktion aus einer Datei aufzurufen, die nicht verbunden zu sein scheint. Was dort in den Protokollen steht, muss nicht unbedingt sein, es lohnt sich nicht, darauf zu achten.

Ich habe diese Bibliotheken in einen anderen Scoop geladen, alles funktioniert einwandfrei. Ich meine, dass Funktionen aus diesen Bibliotheken funktionieren. Aber es gibt einen Punkt. Bei der anderen Schaufel habe ich diese Bibliotheken direkt in die Schaufel geladen. Und in Eule, wo jetzt nicht irgendeine Art von Fehler entstand diese Bibliotheken innerhalb 1 der verwendeten Bibliotheken. Zum Beispiel so:

In sovok so in den Hut:

#property copyright "hoz"
#property link      ""

#include <hoz_Base@Include.mqh>
#include <hoz_Base@ListOfFunc.mqh>
#include <hoz_MakeListOfInstruments@Include.mqh>
#include <hoz_MakeListOfInstruments@ListOfFunc.mqh>

extern string ___H1 = " ________ Параметры общие _________ ";

extern string ___H3 = " _______ Параметры фильтров _______ ";

extern string ___H4 = " __ Параметры торговых операций ___ ";
extern double  i_Lot = 0.1,
               i_KLot = 2,
               i_SL = 0,
// ДРУГИЕ ВНЕШНИЕ ПАРАМЕТРЫ ЭКСПЕРТА

So ist #include <hoz_Base@Include.mqh> ein Einschluss der Basisbibliothek (Deklarationen von Variablen), und #include <hoz_Base@ListOfFunc.mqh> ist bereits ein Einschluss, in dem importierte Funktionen dieser Bibliothek dieses Formats vorgeschrieben sind:

#import "hoz_Base@Library.ex4"
    void fInitBase (string fs_SymbolList, string fs_MagicList, string fs_Delimiter = ",");
    double ND (double v);
    string DToS (double v);
    double SToD (string v);
    int SToI (string v);
    datetime SToT (string v);
    double NDByMinLotPres(double v);
// ДРУГИЕ ФУНКЦИИ
    void fShiftIndex (double& ar_MAS[], bool fb_Conditions = false);
    void fSort_InDecreasingSequance (int& fia_INDEX[], double fda_Value[]);
    void fCreat_ArrayGV (string& fsa_Base[], string fsa_Add[]);
#import

Die Bibliothek hoz_Base@Library.ex4 selbst benötigt 3 Bibliotheken von Drittanbietern, um zu funktionieren. Diese werden am Anfang der Basisbibliothek selbst importiert:

//+---------------------------------------------------------------------------------------------------------------------------------------+
//|                                                                                                                  hoz_Base@Library.mq4 |
//|                                                                                                                                   hoz |
//|                                                                                                                                       |
//+---------------------------------------------------------------------------------------------------------------------------------------+

#property copyright "hoz"
#property link      ""
#property library

//+---------------------------------------------------------------------------------------------------------------------------------------+
//| Библиотека базовых функций.                                                                                                           |
//+---------------------------------------------------------------------------------------------------------------------------------------+
// ================================================== Включения и импорт внешних модулей =================================================+
#include <hoz_Base@Include.mqh>
//+---
#import "hoz_LoggingToAnyWere@library.ex4"
    void fWrite_Log (string fs_Txt);
    void fPrint (string fs_Text);
#import
//+---
#import "hoz_HandlingWithErrorS@library.ex4"
    bool fErrorHandling (int fi_Error, bool& fb_InvalidSTOP);
    void fReConnect();
    string fErrorToString (int fi_Error);
    string fErrorDescription (int fi_Error);
#import
//+---
#import "hoz_ReturningSomeInfo@library.ex4"
    string fGet_NameOP (int fi_Type);
    string fGet_NameTF (int fi_TF = 0);
#import

Ich habe verstanden, dass bei einem Fehler in einer dieser Bibliotheken, die hoz_Base@Library.mq4 verwendet , die Basisbibliothek nicht geladen wird und folglich keine dieser Bibliotheken geladen wird. Im Moment funktioniert nicht einmal die erste Zeile des Starts. Wie kann ich die Ursache für diese Situation herausfinden?
 

Hallo zusammen!

Ich hatte eine Störung in meinem EA. Es wurden die Fehler 138 und 129 angezeigt. Falsche Preise.

Frage: Da es sich bei dem EA nicht um einen Pips handelt, hatte er genügend Zeit, um den Handel zu eröffnen, zumal der Preis das Signalniveau deutlich überschritten hat und lange genug dort war, sogar mit Bid- und Ask-Korrekturen.

Ich habe es im Testgerät laufen lassen, das Geschäft eröffnet. Wie geht man mit diesem Problem um und warum tritt es auf (vorher war alles in Ordnung, der EA eröffnete Geschäfte)?

Ich habe das Gefühl, dass sich der EA nach der Verarbeitung des Signals aufgehängt hat und keine weiteren Signale akzeptiert hat, oder hätte ich Metatrader nach dem letzten Build neu laden sollen?

 

Guten Tag!

Wie (aus dem Kopf) zu malen unter der Hauptkarte Linie alle unten mit einer Farbe und die oben mit einem anderen, wenn Sie nichts dagegen haben, vielleicht hat jemand einige Arbeit zu tun?

 
_new-rena:

Guten Tag!

Wie (aus dem Kopf) zu malen unter der Hauptkarte Linie alle unten mit einer Farbe und die oben mit einem anderen, wenn Sie nichts dagegen haben, vielleicht hat jemand einige Arbeit zu tun?


Zeigen Sie auf einem Bildschirmfoto, was Sie wollen
 
ALXIMIKS:

auf einem Bildschirmfoto zeigen, was Sie wollen

Es gibt ein Preisdiagramm - eine Linie. Darunter in einem Blauton, darüber in Weiß (so ähnlich - Prinzip)

 
ALXIMIKS:

auf einem Bildschirmfoto zeigen, was Sie wollen

Schon gut, keine Sorge, das habe ich schon... Warten Sie hier...

 
Forexman77:

Hallo zusammen!

Ich hatte eine Störung in meinem EA. Es wurden die Fehler 138 und 129 angezeigt. Falsche Preise.

Frage: Da es sich bei dem EA nicht um einen Pips handelt, hatte er genügend Zeit, um den Handel zu eröffnen, zumal der Preis das Signalniveau deutlich überschritten hat und lange genug dort war, sogar mit Bid- und Ask-Korrekturen.

Ich habe es im Testgerät laufen lassen, das Geschäft eröffnet. Wie geht man mit diesem Problem um und warum tritt es auf (vorher war alles in Ordnung, der EA eröffnete Geschäfte)?

Ich habe das Gefühl, dass nach der Signalverarbeitung der EA eingefroren ist und nicht mehr auf weitere Signale reagiert hat oder sollte der Metatrader nach dem letzten Build neu gestartet werden?

Verwenden Sie die Preise über MarketInfo(), nicht Ask und Bid. Zum Beispiel so:

double pa=MarketInfo(Symbol(),MODE_ASK);
double pb=MarketInfo(Symbol(),MODE_BID);

Verwenden Sie in Ihren Handelsaufträgen nicht Ask, sondern pa, nicht Bid, sondern pb.

Sie werden glücklich sein

 
artmedia70:

Verwenden Sie MarketInfo() anstelle von Ask- und Bid-Preisen. Zum Beispiel so:

Und in den Handelsaufträgen ersetzen Sie pa, nicht Ask, und pb, nicht Bid.

Und du wirst glücklich sein


Und was ist der Unterschied zwischen Ask und MarketInfo(Symbol(),MODE_ASK)?
 
evillive:
Und was ist der Unterschied zwischen Ask und MarketInfo(Symbol(),MODE_ASK)?


Ask ist eine Variable, die auf dem Computer gespeichert ist und sich bei der nächsten Berechnung der Startfunktion oder beim Auffrischen ändert.

MarketInfo(Symbol(),MODE_ASK) - wird dieser Wert vom Server oder von Ask übernommen?

 
evillive:
Und was ist der Unterschied zwischen Ask und MarketInfo(Symbol(),MODE_ASK)?
Diese Funktion übernimmt die neuesten Preisdaten. D.h. bei der Verwendung in Funktionen der Positionseröffnung und der Auftragserteilung ist RefreshRates() nicht erforderlich. Aber nach dem Empfang einiger Fehler vom Server, die ein Warten oder eine Preisaktualisierung erfordern, ist es notwendig, die Handelsumgebung mit RefreshRates() zu aktualisieren und eine zweite Anfrage zu senden.
Grund der Beschwerde: