Bibliotheken: MT4Orders - Seite 4

 
OrdersHistoryTotal selbst kann leicht beschleunigt werden, indem der Zähler zwischengespeichert wird.
 

Ich versuche, es zu verbinden, aber es funktioniert nicht!

Ich habe eine separate Klasse für die Arbeit mit Aufträgen, so dass ich eine Änderung am Anfang des EA-Code gemacht, und ich bekomme 100 Fehler auf meine Klasse, versuche ich, etwas falsch laufen?

#property strict
#include <cPoza13-1.mqh>
#include <MT4Orders.mqh>
#include <MQL4_to_MQL5.mqh>

 
-Aleks-:

Ich versuche, es zu verbinden, aber es funktioniert nicht!

Ich habe eine separate Klasse für die Arbeit mit Aufträgen, so dass ich eine Änderung am Anfang des EA-Code gemacht, und ich bekomme 100 Fehler auf meine Klasse, versuche ich, etwas falsch laufen?

#property strict
#include <cPoza13-1.mqh>
#include <MT4Orders.mqh>
#include <MQL4_to_MQL5.mqh>

MT4Orders wirkt sich nur auf den Code darunter aus (nach #include). Platzieren Sie Ihre Klasse also NACH der Bibliothek, nicht davor.
 
fxsaber:
MT4Orders wirkt sich nur auf den nachfolgenden Code aus (nach #include). Platzieren Sie daher Ihre Klasse nicht vor, sondern NACH der Bibliothek.

1. zuerst müssen Sie sehen, welche Art von Fehlern er ohne die Hilfe der telepathischen Gesellschaft hat.

2. wenn cPoza13-1 MT4Orders und MQL4_to_MQL5 verwendet, warum sind sie nicht in der cPoza13-1-Datei selbst enthalten? Und irgendwo da draußen... seltsamer Ansatz für die Kodierung

 
Ich beschloss, es auszuprobieren, da ich den Bot auf mt5 umschreibe und einen schnellen Test brauche :). Sie sagen, dass es für Hedge-Konten ist, was verständlich ist. Wie ist die Situation bei Nicht-Handelskonten? Nun, unter Berücksichtigung, dass meine Strategie nur eine offene Position verwenden wird, wird alles andere korrekt funktionieren?
 
o_O:

Und wenn cPoza13-1 MT4Orders und MQL4_to_MQL5 verwendet, warum sind sie nicht in der cPoza13-1-Datei selbst enthalten? Und irgendwo da draußen... ein seltsamer Ansatz zur Kodierung

Der Ansatz ist klar. cPoza ist eine reine MQL4-Bibliothek. Deshalb wird sie auch nicht korrigiert.

Ich habe zum Beispiel einen anderen MT4 Expert Advisor(alternative Konvertierung) auf diese Weise in plattformübergreifenden Code umgewandelt

#include <MT4Orders.mqh>    // https://www.mql5.com/de/code/16006
#include <MQL4_to_MQL5.mqh> // https://www.mql5.com/de/code/16006

#ifdef __MQL5__
  #define MODE_MINLOT SYMBOL_VOLUME_MIN
  
  double MarketInfo( const string Symb, const ENUM_SYMBOL_INFO_DOUBLE Type )
  {
    return(SymbolInfoDouble(Symb, Type));
  }
  
  void OnTick()
  {
    start();
  }  
#endif

#include "OpenTiks.mq4" // https://www.mql5.com/de/code/8578
Das heißt, mein Ansatz für die Konvertierung ist es, nicht mit der ursprünglichen Datei zu stören.
 
Maxim Dmitrievsky:
Ich beschloss, es auszuprobieren, da ich den Bot auf mt5 umschreibe und einen schnellen Test brauche :). Sie sagen, dass es für Hedge-Konten ist, was verständlich ist. Wie ist die Situation bei Nicht-Handelskonten? Nun, wenn man bedenkt, dass meine Strategie nur eine offene Position verwendet, wird dann alles andere korrekt funktionieren?
Es wird funktionieren! Ich mache alles an der Börse über MT4Orders. Ich beschränke mich nicht auf die Anzahl der offenen Positionen.
 
Stanislav Korotky:
OrdersHistoryTotal selbst könnte leicht beschleunigt werden, indem der Zähler zwischengespeichert wird.

Das ist natürlich möglich. Ich habe noch keine Notwendigkeit gesehen.

-Aleks-:

Ich verwende die Verlaufsanalyse, mein MM beinhaltet den Handel mit einer Situation, in der Positionen geschlossen und geöffnet werden, und das Risiko wird anhand des Finanzergebnisses zu Beginn der Situation berücksichtigt.

Unter der Situation können wir uns die Identifizierung eines Trends vorstellen - die Arbeit an seiner Vollendung wird anders durchgeführt - Öffnen und Schließen von Positionen, aber es ist wichtig zu wissen, was man riskieren kann, denn je länger der Trend läuft, desto wahrscheinlicher ist seine Vollendung - daher das unterschiedliche Volumen der offenen Aufträge und Ausstiegspunkte.

Offensichtlich sollte es getan werden.
 
Ein weiteres Beispiel für die Konvertierung von MT4-advisor(alternative Konvertierung) in eine plattformübergreifende Version
#include <MT4Orders.mqh>    // https://www.mql5.com/de/code/16006
#include <MQL4_to_MQL5.mqh> // https://www.mql5.com/de/code/16006

#ifdef __MQL5__
  double AccountBalance( void )  
  {
    return(AccountInfoDouble(ACCOUNT_BALANCE));
  }
  
  int TimeHour( const datetime Date )
  {
    MqlDateTime Tmp;
  
    TimeToStruct(Date, Tmp);
  
    return(Tmp.hour);
  }  
  
  void OnTick()
  {
    start();
  }  
#endif

#include "20_200_expert_v4_2_AntS.mq4" // https://www.mql5.com/de/code/7891
Die Quelle des Originals ist beigefügt.
Dateien:
 
fxsaber:
MT4Orders wirkt sich nur auf den nachfolgenden Code aus (nach #include). Platzieren Sie daher Ihre Klasse NACH der Bibliothek, nicht davor.

Ich hab's - danke - die Fehler sind fast weg, aber einer ist noch da:

'OrderCloseBy' - Funktion nicht definiert cPoza13-1.mqh 1885 8

 //+------------------------------------------------------------------------------------------------------------------------------------+
//| Возвращает TRUE, если один ордер закрылся другим
//+------------------------------------------------------------------------------------------------------------------------------------+
bool cPoza::closeBy(int ticketB, int ticketA)
{
  if(ticketB > 0 && ticketA > 0)
  {
    if(OrderCloseBy(ticketB, ticketA)) return true;
    else Print("Magic=", mMagic, " ",__FUNCTION__, " Встречное закрытие не вышло ticketB=", ticketB, " ticketA=", ticketA, " вызвало ошибку-", _LastError);
  }
  else return false;
 
  return false;
}