vr_trade trade;//+------------------------------------------------------------------+voidOnTick()
{
trade.Buy("EURUSD",0.01); // Пример открытия позиции возвращающей тиккет ордера.
}
//+------------------------------------------------------------------+
и
vr_trade *trade;//+------------------------------------------------------------------+voidOnInit()
{
trade = new vr_trade;
}
//+------------------------------------------------------------------+voidOnTick()
{
trade.Buy("EURUSD",0.01); // Пример открытия позиции возвращающей тиккет ордера.
}
//+------------------------------------------------------------------+ voidOnDeinit(constint reason)
{
delete trade;
}
Der Unterschied liegt in der Möglichkeit, die Lebensdauer des Objekts zu kontrollieren
Ich verstehe, dass im Falle von new Sie das Objekt jederzeit löschen können, aber wenn ohne sie, das Objekt wird nur gelöscht werden, wenn die Funktion, in der das Objekt aufgerufen wird, beendet, richtig?
Ich gehe davon aus, dass Sie im Falle von new das Objekt jederzeit löschen können, aber wenn Sie das nicht tun, wird das Objekt erst gelöscht, wenn die Funktion, in der das Objekt aufgerufen wird, beendet wird, richtig?
class vr_trade
{
private:
int openorders(string sy,int typ,double lot,double price);
string tip(int typ);
int m_magic;
int m_slip;
public:
int Buy(string sy,double lot);
int Sel(string sy,double lot);
int BuyLimit(string sy,double lot,double price);
int SelLimit(string sy,double lot,double price);
int BuyStop(string sy,double lot,double price);
int SelStop(string sy,double lot,double price);
void MagSlip(int mag=-1,int slip=0);
vr_MarketInfo *Log;
vr_trade();
~vr_trade();
};
MqlTick st;
//+------------------------------------------------------------------+
vr_trade:: vr_trade()
{
Log=new vr_MarketInfo;
MagSlip(-1,0);
}
Und zusätzliche Vererbung ... (ich vermute, ich könnte mich irren) aus der Klasse vr_MarketInfo.
Die Klasse vr_MarketInfo liefert Informationen über Point, Digits für das Symbol und prüft das Lot auf Fehler und viele andere Dinge, die ich für die Arbeit benötige, einschließlich Logging in Excel und auf dem Chart
Bei der Verwendung einer Methode wie der obigen wird bei der Arbeit in Primer.Primer.Primer() eine Liste angegeben
Bitte erläutern Sie die Maßnahmen
nämlich
warum das Zeichen (:) und was bekommen wir damit?
Worin besteht der Unterschied?
и
Bitte erläutern Sie die Maßnahmen
nämlich
warum das Zeichen (:) und was bekommen wir damit?
gefolgt von einem Doppelpunkt, gefolgt von einer Initialisierungsliste
Worin besteht der Unterschied?
и
Unterschied bei der Verwaltung der Lebensdauer eines Objekts
Der Unterschied liegt in der Möglichkeit, die Lebensdauer des Objekts zu kontrollieren
Ich verstehe, dass im Falle von new Sie das Objekt jederzeit löschen können, aber wenn ohne sie, das Objekt wird nur gelöscht werden, wenn die Funktion, in der das Objekt aufgerufen wird, beendet, richtig?
Ich gehe davon aus, dass Sie im Falle von new das Objekt jederzeit löschen können, aber wenn Sie das nicht tun, wird das Objekt erst gelöscht, wenn die Funktion, in der das Objekt aufgerufen wird, beendet wird, richtig?
Ja
Empfehlen Sie bitte ein paar Lehrbücher ... Am einfachsten und nützlichsten ist Ihrer Meinung nach ...
http://rutracker.org/forum/viewtopic.php?t=4039549
http://rutracker.org/forum/viewtopic.php?t=4639528
Wie kann man nur eine Methode von einer Klasse erben?
Jetzt habe ich meine Klasse umgestaltet
Und zusätzliche Vererbung ... (ich vermute, ich könnte mich irren) aus der Klasse vr_MarketInfo.
Die Klasse vr_MarketInfo liefert Informationen über Point, Digits für das Symbol und prüft das Lot auf Fehler und viele andere Dinge, die ich für die Arbeit benötige, einschließlich Logging in Excel und auf dem Chart
Bei der Verwendung einer Methode wie der obigen wird bei der Arbeit in Primer.Primer.Primer() eine Liste angegeben
Ich würde gerne etwas kürzeres machen...