Fehler, Irrtümer, Fragen - Seite 970

 
Lizar:

IsStopped() wird verwendet, um Schleifen zu bekämpfen - das ist sicher. Seit einiger Zeit wird die "Endlosschleife" nicht mehr durchIsStopped() geheilt und wir müssen den Terminalprozess löschen, um den Betrieb wiederherzustellen. Der Typindikator wird zwar problemlos aus dem Diagramm gelöscht, aber das Diagramm bleibt hängen.

Zum Spaß können Sie einen speziellen Schleifenindikator ausprobieren. Übrigens funktioniert OnDeinit() in einem solchen Fall nicht, wie vorgesehen.

Es ist sogar beängstigend, ihn zu starten)
 
zfs:
Es ist beängstigend, ihn überhaupt zu starten.)
Und es ist nicht nötig, das, was im Anhang steht, zu überprüfen. Dies ist für diejenigen, die es testen wollen. Wenn jedoch Indikatoren mit umfangreichen Berechnungen verwendet werden, kann sich dieser Zeitpunkt ändern. Es ist notwendig, dies zu überprüfen.
 

Wie sendet man eine Anfrage (Nachricht) vom Android Client an den MetaTrader Client, zum Beispiel um eine Benachrichtigung zu senden?

Die einzige Möglichkeit, dies zu tun, besteht darin, einen schwebenden Auftrag auf ein unbenutztes Symbol zu platzieren, woraufhin der EA diesen findet, eine Nachricht mit den erforderlichen Informationen sendet und den schwebenden Auftrag löscht.

 

Guten Tag!

In der Build von 19.04.13 zeigt der Debugger nun den Inhalt von MqlRate in geschweiften Klammern an. Vielen Dank dafür, MQ! Gibt es Pläne, die Anzeige solcher Daten erweiterbar zu machen? Im Sinne von "wie ein Baum aussehen". Dies könnte auch auf Klassen ausgedehnt werden.

Ich danke Ihnen!

Zum Beispiel:

CAbstractFilter{ meSS:CStrategySettings{ meEntrancePeriod:PERIOD_M15 meHistoryDepth:100 meSymbol: "EURUSD" meHistoryRates:[100] meRangeLimit:0.2 meHiLo:0.006 meHiLoMax:0.02 meTimeStart:" 06:00" meTimeEnd:" 20:00" meAsianStart:" 00:00" meAsianEnd:" 07:... }

Besser:

CAbstractFilter:

+ { meSS:CStrategySettings

+ { { meEntrancePeriod:PERIOD_M15

meHistoryDepth:100

meSymbol: "EURUSD"

meHistoryRates:[100]

meRangeLimit:0.2}

und so weiter, ähnlich der Baumstruktur von Verzeichnissen im Windows Explorer.

Ich danke Ihnen!

 

Hallo noch mal!

Ein Schritt zum Cursor wäre im Debugger sehr nützlich. Hoffentlich wird sie eines Tages erscheinen. Ich wäre Ihnen dankbar, wenn Sie sich im Voraus zu möglichen Zeitplänen äußern würden.

Ich danke Ihnen!

 

Hatte jemand ein solches Problem bei der Verwendung der Standardbibliothek?

RF      0       19:42:38        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
RJ      0       19:42:38        Trades  '1001326': deal #204868 sell 1.00 ED-6.13 at 1.3058 done (based on order #2946444)
OQ      0       20:30:54        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
DJ      0       20:30:55        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
FF      0       20:30:55        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
DO      0       20:30:55        Trades  '1001326': deal #204952 buy 1.00 ED-6.13 at 1.3054 done (based on order #2946510)
FK      0       20:30:55        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
HG      0       20:30:55        Trades  '1001326': deal #204953 buy 1.00 ED-6.13 at 1.3054 done (based on order #2946511)
LO      0       20:30:55        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
NS      0       20:30:55        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
NK      0       20:30:55        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
LN      0       20:30:55        Trades  '1001326': deal #204954 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946512)
OR      0       20:30:56        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
EG      0       20:30:56        Trades  '1001326': deal #204955 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946513)
ME      0       20:30:56        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
IN      0       20:30:56        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
OI      0       20:30:56        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
JS      0       20:30:56        Trades  '1001326': deal #204956 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946514)
GO      0       20:30:56        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
NJ      0       20:30:56        Trades  '1001326': deal #204957 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946515)
JD      0       20:30:57        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
PO      0       20:30:57        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
HP      0       20:30:57        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
JJ      0       20:30:57        Trades  '1001326': deal #204958 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946516)
DM      0       20:30:57        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
RS      0       20:30:57        Trades  '1001326': deal #204959 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946517)
JI      0       20:30:57        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
GS      0       20:30:58        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
IM      0       20:30:58        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
OF      0       20:30:58        Trades  '1001326': deal #204960 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946518)
ID      0       20:30:58        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
KN      0       20:30:58        Trades  '1001326': deal #204961 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946519)
OP      0       20:30:58        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
QJ      0       20:30:58        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
QL      0       20:30:58        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
KG      0       20:30:58        Trades  '1001326': deal #204962 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946520)
NI      0       20:30:59        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
DO      0       20:30:59        Trades  '1001326': deal #204963 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946521)
PM      0       20:30:59        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
DG      0       20:30:59        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
NQ      0       20:30:59        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
GJ      0       20:30:59        Trades  '1001326': deal #204964 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946522)
FH      0       20:30:59        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
KR      0       20:30:59        Trades  '1001326': deal #204965 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946523)
OL      0       20:31:00        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
IF      0       20:31:00        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
QH      0       20:31:00        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
CS      0       20:31:00        Trades  '1001326': deal #204966 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946524)
ME      0       20:31:00        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
KK      0       20:31:00        Trades  '1001326': deal #204967 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946525)
PP      0       20:31:01        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
DK      0       20:31:01        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
FE      0       20:31:01        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
ON      0       20:31:01        Trades  '1001326': deal #204968 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946526)
FL      0       20:31:01        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
KF      0       20:31:01        Trades  '1001326': deal #204969 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946527)
LH      0       20:31:01        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
KR      0       20:31:02        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
KD      0       20:31:02        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
HO      0       20:31:02        Trades  '1001326': deal #204970 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946528)
OQ      0       20:31:02        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
PD      0       20:31:02        Trades  '1001326': deal #204971 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946529)
MD      0       20:31:02        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
IO      0       20:31:02        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
OH      0       20:31:02        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
JR      0       20:31:02        Trades  '1001326': deal #204972 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946530)
GP      0       20:31:02        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
MM      0       20:31:03        Trades  '1001326': deal #204973 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946531)
JE      0       20:31:03        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
PN      0       20:31:03        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
HQ      0       20:31:03        Trades  '1001326': exchange sell 1.00 ED-6.13 at market
RK      0       20:31:03        Trades  '1001326': deal #204974 sell 1.00 ED-6.13 at 1.3052 done (based on order #2946532)
DL      0       20:31:03        Trades  '1001326': exchange sell 1.00 ED-6.13 at market placed for execution
GP      0       20:31:03        Trades  '1001326': deal #204975 sell 1.00 ED-6.13 at 1.3051 done (based on order #2946533)
CH      0       20:31:04        Trades  '1001326': exchange buy 1.00 ED-6.13 at market
OD      0       20:31:04        Trades  '1001326': exchange buy 1.00 ED-6.13 at market placed for execution
NN      0       20:31:04        Trades  '1001326': deal #204976 buy 1.00 ED-6.13 at 1.3055 done (based on order #2946534)

Ich habe versucht, eine Position zu schließen SELL, obwohl die Prüfung der Expert Advisor ist, dass erste wir für die Position Typ überprüfen.

if(PositionSelect(_Symbol) && PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
        {
         trade.PositionClose(_Symbol);

        }

In der Folge erhielt ich viele Positionsumkehrungen, bis mein Antrag schnell ausgeführt wurde.

der Expert Advisor Code wird in einer Schleife mit 300 ms Schlupf ausgeführt

Das Ergebnis: -100 Rubel.

Как использовать торговые классы Стандартной библиотеки при написании советника
Как использовать торговые классы Стандартной библиотеки при написании советника
  • 2010.11.10
  • Samuel
  • www.mql5.com
В статье рассказывается о том, как использовать основной функционал торговых классов Стандартной библиотеки при написании советников, в которых применяется открытие, закрытие и модификация позиции, проверка свободной маржи перед размещением торговых ордеров, размещение и удаление отложенных ордеров. Показано, как использовать торговые классы для получения свойств ордеров и сделок.
 
olyakish:

Hatte jemand schon einmal Probleme damit?

der Rake ist nicht in der Lib, weil er das Wesen der Asynchronität des MT5 widerspiegelt

Sie haben einen Fehler in Ihrem Code, weil Sie die Sperrung neuer Aufträge erst dann vorgenommen haben, wenn Sie die Antwort auf die Ausführung des vorherigen Auftrags erhalten haben.

Im MT5 sollten Sie selbstständig etwas ähnliches wie Trade Context Busy für die gesendete Order einrichten, wie es im MT4 war.

Sie sollten keine neuen Versuche unternehmen, einen ähnlichen Auftrag zu senden, bis Sie den Bericht über die vorherige Auftragsausführung sehen.

Sie sollten die Ausführung entweder in OnTrade oder OnTradeTransaction abfangen.

Viel Glück! ;)

 

Ich fühle mich satt.

In dem Indikator weise ich einer Variablen einen Wert zu.

#property indicator_separate_window

...

int x;//

int OnInit()

{

}

int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],const double &open[],
                const double &high[],const double &low[],const double &close[],const long &tick_volume[],
                const long &volume[],const int &spread[])
  {

 if(prev_calculated==0){

//при 1-м запуске присваиваю значение

x=у;//у!=7558445

}

else

{

Print(x);//здесь x уже =7558445.

}

}

Was mache ich falsch?

 
Aber jetzt ist alles in Ordnung, obwohl der Code nicht geändert worden ist. Ich habe gerade das Terminal neu gestartet. Und dieser Fehler hängt mit dem bereits erwähnten Verschwinden des Histogramms zusammen, das mal erscheint und mal verschwindet. Was kann die Ursache dafür sein?
 
sergeev:

der Rake ist nicht in der Lib, weil er das Wesen der Asynchronität des MT5 widerspiegelt

Sie haben einen Fehler in Ihrem Code, weil Sie die Sperrung neuer Aufträge nicht vorgenommen haben, bevor Sie die Antwort über die Ausführung des vorherigen Auftrags erhalten haben.

Im MT5 sollten Sie selbstständig etwas ähnliches wie Trade Context Busy für die gesendete Order einrichten, wie es im MT4 war.

Mit anderen Worten: Sie sollten keine neuen Versuche unternehmen, einen ähnlichen Auftrag zu senden, bis Sie den Bericht über die Ausführung des vorherigen Auftrags sehen.

Sie sollten die Ausführung entweder in OnTrade oder OnTradeTransaction abfangen.

Viel Glück! ;)

Ja, das habe ich mir auch schon gedacht, aber ich muss noch ein paar zusätzliche Analysen machen. Danke für die Bestätigung meiner Vermutung