Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 657
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Es scheint alles auf den Punkt zu sein und sogar mit Referenzen... Gerade dann, wenn jemand erklärt, dass er die Dokumentation gelesen hat und darum bittet, das Netz zu entfernen (das übrigens bei FORTS verwendet wird)... Sie müssen hier sarkastisch sein.
Sorgen Sie dafür, dass Sie nicht weggeschickt werden. )
zu spät, Sie sind schon da.
Beispiel für ein Hedge-Konto:
Die erste Operation ist Buy 0.02 und die zweite Operation ist Sell 0.01. Insgesamt zwei Positionen: Buy 0.02 und Sell 0.001. Dann schließen wir die Position Sell 0.01 und schließen die Position Buy 0.02:
//| TestEA.mq5 |
//| Copyright © 2016, Vladimir Karputov |
//| http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, Vladimir Karputov"
#property link "http://wmua.ru/slesar/"
#property version "1.00"
#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
CTrade m_trade; // trading object
CPositionInfo m_position; // trade position object
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
static long counter=0;
counter++;
if(counter%300==0 && counter<700)
{
static int number=0;
number++;
if(number==1)
m_trade.Buy(0.02);
if(number==2)
m_trade.Sell(0.01);
}
if(counter>7000)
{
int positions= PositionsTotal();
if(positions == 0)
return;
int positions_total=PositionsTotal();
for(int i=positions_total-1;i>=0;i--)
if(m_position.SelectByIndex(i))
m_trade.PositionClose(m_position.Ticket(),-1);
}
}
//+------------------------------------------------------------------+
und Journal:
Trades 2016.02.25 00:13:35 deal #2 buy 0.02 EURUSD at 1.10167 done (based on order #2)
Trade 2016.02.25 00:13:35 deal performed [#2 buy 0.02 EURUSD at 1.10167]
Trade 2016.02.25 00:13:35 order performed buy 0.02 at 1.10167 [#2 buy 0.02 EURUSD at 1.10167]
TestEA (EURUSD,H1) 2016.02.25 00:13:35 CTrade::OrderSend: instant buy 0.02 EURUSD at 1.10167 [done at 1.10167]
Trade 2016.02.25 00:30:17 instant sell 0.01 EURUSD at 1.10157 (1.10157 / 1.10164 / 1.10157)
Trades 2016.02.25 00:30:17 deal #3 sell 0.01 EURUSD at 1.10157 done (based on order #3)
Trade 2016.02.25 00:30:17 deal performed [#3 sell 0.01 EURUSD at 1.10157]
Trade 2016.02.25 00:30:17 order performed sell 0.01 at 1.10157 [#3 sell 0.01 EURUSD at 1.10157]
TestEA (EURUSD,H1) 2016.02.25 00:30:17 CTrade::OrderSend: instant sell 0.01 EURUSD at 1.10157 [done at 1.10157]
TestEA (EURUSD,H1) 2016.02.25 02:12:06 PositionClose #3 POSITION_TYPE_SELL 0.01
Trade 2016.02.25 02:12:06 instant buy 0.01 EURUSD at 1.10131, close #3 (1.10123 / 1.10131 / 1.10123)
Trades 2016.02.25 02:12:06 deal #4 buy 0.01 EURUSD at 1.10131 done (based on order #4)
Trade 2016.02.25 02:12:06 deal performed [#4 buy 0.01 EURUSD at 1.10131]
Trade 2016.02.25 02:12:06 order performed buy 0.01 at 1.10131 [#4 buy 0.01 EURUSD at 1.10131]
TestEA (EURUSD,H1) 2016.02.25 02:12:06 CTrade::OrderSend: instant buy 0.01 position #3 EURUSD at 1.10131 [done at 1.10131]
TestEA (EURUSD,H1) 2016.02.25 02:12:06 PositionClose #2 POSITION_TYPE_BUY 0.02
Trade 2016.02.25 02:12:06 instant sell 0.02 EURUSD at 1.10123, close #2 (1.10123 / 1.10131 / 1.10123)
Trades 2016.02.25 02:12:06 deal #5 sell 0.02 EURUSD at 1.10123 done (based on order #5)
Trade 2016.02.25 02:12:06 deal performed [#5 sell 0.02 EURUSD at 1.10123]
Trade 2016.02.25 02:12:06 order performed sell 0.02 at 1.10123 [#5 sell 0.02 EURUSD at 1.10123]
TestEA (EURUSD,H1) 2016.02.25 02:12:06 CTrade::OrderSend: instant sell 0.02 position #2 EURUSD at 1.10123 [done at 1.10123]
Was genau ist nicht klar? Dass Sie einen gegenläufigen Auftrag mit demselben Volumen eröffnen müssen, um die Position zu schließen?
Wer weiß, ob"POSITION_PROFIT" Provisionen und Swaps enthält?
Wenn nicht, welcher Parameter sollte verwendet werden, um die Höhe der Provision für einen Auftrag in MQL5 zu ermitteln?
Wer weiß, ob"POSITION_PROFIT" Provisionen und Swaps enthält?
Wenn nein - welcher Parameter wird benötigt, um den Betrag der aufgelaufenen Provision in MQL5 zu ermitteln?
POSITION_PROFIT ist einfach der Gewinn der Position (ohne Abzug von Provisionen, Swaps ...). Um den kumulierten Swap einerPosition zu ermitteln, gehen Sie wie folgt vor:
POSITION_SWAP
Kumulativer Swap
doppelt
Die endgültige Provision und der Gesamtswap können nach Schließung der Position in der Transaktionshistorie eingesehen werden:
DEAL_PROVISION
Deal_Provision
doppelt
DEAL_SWAP
Kumulierter Swap bei Abschluss
doppelt
Wer weiß, ob"POSITION_PROFIT" Provisionen und Swaps enthält?
Wenn nicht, welcher Parameter sollte verwendet werden, um die Höhe der Provision für eine Bestellung in MQL5 zu ermitteln?
Im Russischen kann ein Auftrag weder einen Gewinn noch einen Verlust erzielen und ist lediglich ein Ausführungsauftrag. Wenn der Auftrag ausgeführt wird, erhalten Sie Ihre Position auf dem Markt zu dem von Ihnen gewählten Preis.
POSITION_PROFIT ist nur der Gewinn der Position (ohne Provisionen, Swaps ...). Sie können den kumulierten Swap derPosition wie folgt ermitteln:
Die endgültige Provision und den endgültigen Swap können Sie nach Schließung der Position in der Transaktionshistorie ablesen:
Nun, das ist alles falsch, oder besser gesagt unvollständig.
Warum muss ich die Provision nach der Schließung wissen, oder besser gesagt, ich muss sie wissen, aber zu jedem Zeitpunkt, nehmen wir an, dass das Konto eine Provision und einen Drawback oder Breakeven hat, wie kann ich dann berechnen, dass die erste Auslösung auf dem Niveau lag, auf dem sich Provision und Swaps im Falle eines Preis-Rollbacks und einer Schließung überschneiden. Ich füge 1pp hinzu, um die Provision zu decken. Wie sieht es mit Swaps aus, da die Position möglicherweise eine Woche lang auf dem Markt bleibt und während dieser Zeit 3pp benötigt werden, um Swaps zu gewinnen und mit einem Rückschlag geschlossen zu werden, wenn der Breakeven ausgelöst wird?
Oder verstehe ich vielleicht die Berechnungen nicht?
Im Russischen kann ein Auftrag weder ein Gewinn noch ein Verlust sein, er ist lediglich ein Auftrag zur Ausführung. Sobald der Auftrag ausgeführt ist, erhalten Sie Ihre Position auf dem Markt zu dem von Ihnen gewählten Preis.
Das ist alles falsch, oder besser gesagt unvollständig.
Warum muss ich die Provision nach dem Abschluss wissen, oder besser gesagt, ich muss sie wissen, aber zu jeder Zeit, nehmen wir an, das Konto hat eine Provision und Trailing oder Break-even, wie berechne ich, dass der erste Treffer auf einem Niveau war, das sich mit der Provision überschneidet und im Falle eines Preis-Rollbacks und Abschlusses tauscht. Ich füge 1pp hinzu, um die Provision zu decken. Wie sieht es mit Swaps aus, da die Position möglicherweise eine Woche lang auf dem Markt bleibt und während dieser Zeit 3pp benötigt werden, um Swaps zu gewinnen und mit einem Rückschlag geschlossen zu werden, wenn der Breakeven ausgelöst wird?
Oder habe ich bei den Berechnungen etwas übersehen?
Wer weiß, ob"POSITION_PROFIT" Provisionen und Swaps enthält?
Wenn nicht, welcher Parameter wird benötigt, um die Höhe der Provision für eine Bestellung in MQL5 zu erfahren?
Ich setze die MT4Orders-Bibliothek nicht voraus. Aber vielleicht wäre es einfacher, einfach die gute alte OrderCommission aufzurufen?
Es funktioniert nicht nur auf Hedge-Konten, sondern auch auf Netto-Konten.
Ich verstehe, dass"POSITION_PROFIT" bereits alles enthält (Swap, Gewinn, Provision).