Diskussion zum Artikel "Ein Expert Advisor mit GUI: Hinzufügen von Funktionen (Teil II)" - Seite 2

 
Dennis Kirichenko:

Rashid, vielen Dank für Ihren Kommentar. Dann ist in meinem Fall die Berechnung auf der größeren Seite (Kaufen):


Der zweite Fall berücksichtigt die Tatsache, dass wir billig verkauft haben, so dass der Preis der verbleibenden Käufe höher wurde.

Nun, hier ist es ganz einfach - wir haben eine Reihe von Aufträgen auf EURUSD. Wir berechnen separat für jede Richtung und erhalten:

  1. Gesamtposition Kauf 20 Lots zu 1,2000 = Kauf 15 Lots zu 1,2000 + Kauf 5 Lots zu 1,2000
  2. Gesamtposition Verkaufen 15 Lots zu 1,2200
Wenn man die gleichen Volumina annulliert, bleiben 5 Lots bei 1,2000. Was ist an meiner Argumentation falsch? Eröffnen Sie am Montag eine Reihe von Positionen und sehen Sie, wie sich der gleitende Gewinn/Verlust bei einer Preisänderung von 1 Pip verändert.
 
Rashid Umarov:

Nun, das ist ganz einfach: Nehmen wir an, wir haben eine Reihe von Aufträgen für EURUSD. Wir berechnen separat für jede Richtung und erhalten:

  1. Gesamtposition Kauf 20 Lots bei 1,2000 = Kauf 15 Lots bei 1,2000 + Kauf 5 Lots bei 1,2000
  2. Gesamtposition Verkaufen 15 Lots zu 1,2200
Wenn man die gleichen Volumina annulliert, bleiben 5 Lots bei 1,2000. Was ist an meiner Argumentation falsch? Eröffnen Sie am Montag eine Reihe von Positionen und sehen Sie, wie sich der gleitende Gewinn/Verlust bei einer Preisänderung von 1 Pip verändert.

Dies ist ein System im MT5-Hedging: Gegenpositionen werden durch Nominalvolumen aufgehoben.

Es gibt auch eine Alternative, über die ich in einem früheren Beitrag geschrieben habe. Dabei wird der Wert jedes gekauften/verkauften Volumens berücksichtigt. Das Ergebnis ist das Verhältnis von Volumenwert zu Nominalvolumen.

 
Dennis Kirichenko:

Dies ist ein solches System im MT5-Hedging: Gegenpositionen werden durch Nominalvolumen vernichtet.

Sie können in klaren Worten schreiben. Ich verstehe hier gar nichts. Gorbatschow hat immer so kommuniziert - viele Worte, aber es ist nicht klar.
 
Rashid Umarov:
Sie können in Worten schreiben, die Sinn ergeben. Ich verstehe hier gar nichts. Gorbatschow hat immer so geredet - viele Worte, aber man versteht kein einziges Wort.

Pardon!

Wir haben 20 Lose zu $1.2000 gekauft.

Das Nominalvolumen (Volumen in Basiswährung) des Kaufs entspricht 20*100 000 = 2 000 000 EUR. Der Wert dieses Volumens in der Notierungswährung entspricht $1.2000*2.000.000 = 2.400.000 USD.

Mit nominal meinte ich den Wert des Volumens in der Basiswährung des Symbols.

 

Nun, ich bin kein Fan davon, Zahlen hin und her zu schieben)

Ganz zu schweigen von den möglichen Rundungsfehlern bei solchen Operationen.

 
In der Datei CProgram.mgh wurde der Indikator anstelle von iStohastic in den Funktionen "void CProgram::GetHandles(void)" und "void CProgram::GetIndicatorValues(void)" durch den Indikator m_handles[i]=::iATR(m_symbols[i],StringToTimeframe(tf),5); Alles wurde gut kompiliert, aber in der Tabelle in der Spalte "Werte" stehen nur Nullen. Was habe ich falsch gemacht?
 

Alexander:

...

Was habe ich falsch gemacht?

Der Nullpuffer sollte für ATR angegeben werden:

//+------------------------------------------------------------------+
//| Ermittelt die Indikatorwerte aller Zeichen
//+------------------------------------------------------------------+
void CProgram::GetIndicatorValues(void)
  {
...
         //--- Versuchen wir, die Indikatorwerte zu ermitteln
         double values[1];
         received=::CopyBuffer(m_handles[i],0,0,1,values);
...
  }
 

Greetings Anatoli,


thanks for all your great efforts! So very much appreciated! :)

I've got a question: Where is the ON_END_CREATE_GUI being defined? I cannot find it in any source of your latest version Build 16 (neither in any sources of Build 15).

So far I have downloaded the source code of build 16 from https://www.mql5.com/en/articles/3527

and then downloaded your changes in the articles:

https://www.mql5.com/de/articles/4715 and
https://www.mql5.com/de/articles/4727.

What am I missing, can you or someone else help?

Best regards!


P.S.: Anatoly, would it be possible to offer just one update zip file instead of adding pieces in various articles? I found it quite difficult to "track" all your changes... :)

Ein Expert Advisor mit GUI: Erstellen des Panels (Teil I)
Ein Expert Advisor mit GUI: Erstellen des Panels (Teil I)
  • www.mql5.com
Trotz der aktiven Entwicklung des algorithmischen Handels bevorzugen viele Händler immer noch den manuellen Handel. Die Automatisierung von Routineaufgaben lässt sich jedoch kaum ganz vermeiden. Der Artikel zeigt die Entwicklung eines Expert Advisor mit Signalen von mehreren Symbolen für den manuellen Handel. Als Beispiel verwenden wir die...
 

Ist doch ganz einfach:

1) nahe bei ON_END_CREATE_GUI gibt's einen Link oben, dort etwas drüber den Link EasyAndFast

und dort dann die Datei Defines.mqh, das war's.

[Gelöscht]  

Liebe Entwickler! Bitte achten Sie auf den folgenden Fehler. Wenn der Name des Expert Advisors aus diesem Artikel TradePanel bleibt - wird der Expert Advisor gestartet (Build 2280). Wenn Sie ihn jedoch umbenennen, z.B. in TradePanel_part_II - wird der Expert Advisor zwar kompiliert, aber nicht gestartet. In das Protokoll wird Folgendes geschrieben:

2020.02.11 19:18:02.987 TradePanel_part_II (RTS Splice,M1) CElement::CreateCanvas > Не удалось создать холст для рисования элемента (CSeparateLine): 4016

2020.02.11 19:18:02.987 TradePanel_part_II (RTS Splice,M1) CElement::CreateCanvas > Не удалось создать холст для рисования элемента (CSeparateLine): 4016

2020.02.11 19:18:03.042 TradePanel_part_II (RTS Splice,M1) CElement::CreateCanvas > Не удалось создать холст для рисования элемента (CButton): 4016

2020.02.11 19:18:03.042 TradePanel_part_II (RTS Splice,M1) OnInit > Could not create the GUI!

Wenn Sie den Expert Advisor z. B. TradePanel 2 nennen, ist alles normal. Es scheint, dass bestimmte Namen Probleme mit den Ressourcen verursachen.