Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 657

 
Alexey Kozitsyn:
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.
Ich werde daran denken und mich auf Sarkasmus gefasst machen.
 
Anatoli Kazharski:
Sorgen Sie dafür, dass Sie nicht weggeschickt werden. )
ist es zu spät, Sie sind schon da.
 
new-rena:
zu spät, Sie sind schon da.
Es ist offensichtlich, wer und wo. )
 
Vladimir Karputov:

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:

Trade   2016.02.25 00:13:35   instant buy 0.02 EURUSD at 1.10167 (1.10158 / 1.10167 / 1.10158)
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?

Ich danke Ihnen! Ich werde es versuchen.
 

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?

 
new-rena:

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

 
new-rena:

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.


Wladimir Karputow:

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?

 
Vitaly Muzichenko:

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?

Ich verstehe, dass"POSITION_PROFIT" bereits alles enthält (Swap, Gewinn, Provision), und dies reicht aus, um festzustellen, ob der Gewinn für mich profitabel ist oder nicht?
 
new-rena:

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.

 
new-rena:
Ich verstehe, dass"POSITION_PROFIT" bereits alles enthält (Swap, Gewinn, Provision).
Nun wollen wir es mit einem einfachen Expert Advisor überprüfen...
Grund der Beschwerde: