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 );
}
Ve vr_MarketInfo sınıfından kalıtım eklendi ... (yanılmış olabileceğimden şüpheleniyorum)
vr_MarketInfo sınıfı , bir sembol için Nokta, Rakamlar hakkında bilgi verir ve ayrıca çok sayıda hata olup olmadığını ve Excel'de ve çizelgede oturum açmak da dahil olmak üzere çalışmam gereken çok daha fazlasını kontrol eder.
Yukarıdaki yöntemi kullanırken, Primer.Primer.Primer() Expert Advisor'da çalışırken bir liste döndürülür.
Ama aslında, eğer gerçekten, o zaman ders kitabında ve belgelerde, işaretçilerin kullanımı veya yeni operatör hakkında hiçbir ayrıntı yoktur. Ya tahmin etmek ya da denizden havayı beklemek kalır. Veya birisi yanlışlıkla bir yerde bir şey söylediğinde. Bunun nasıl olduğuna tamamen şok oldum. Ben ve topik başlatıcı Vladimir dışında kimsenin bir şeye ihtiyacı yokmuş gibi görünmesi de ilginç. Her ne kadar hala birçoğunun bu konuya bağlı kalmadığına inanıyorum. Bu yüzden bu tür sorulara girmezler.
hoz : Ama aslında, eğer gerçekten, o zaman ders kitabında ve belgelerde, işaretçilerin kullanımı veya yeni operatör hakkında hiçbir ayrıntı yoktur. Ya tahmin etmek ya da denizden havayı beklemek kalır. Veya birisi yanlışlıkla bir yerde bir şey söylediğinde. Bunun nasıl olduğuna tamamen şok oldum. Ben ve topik başlatıcı Vladimir dışında kimsenin bir şeye ihtiyacı yokmuş gibi görünmesi de ilginç. Her ne kadar hala birçoğunun bu konuya bağlı kalmadığına inanıyorum. Bu yüzden bu tür sorulara girmezler.
Hangi özelliklere ihtiyacınız var? Her yerde bir ilke vardır: her şey mümkün olduğunca basit yapılmalıdır. Sadece vahşi doğada olmak için vahşi doğaya tırmanmaya gerek yok. Bir problem basitçe çözülebiliyorsa, o zaman basitçe çözülmelidir.
Program nesnelerle dinamik çalışmayı gerektiriyorsa dinamik işaretçiler gereklidir: programın çalışması sırasında oluşturma, silme. Programda hangi nesnelerin ve hangi miktarda gerekli olacağı önceden biliniyorsa, dinamik işaretçilere gerek yoktur. Ancak çok sayıda nesne olduğu durum dışında, bu durumda onları yeni bir döngüde oluşturmak daha kolaydır.
VOLDEMAR : Örneğin, teori çalışmak, bir örnek göstermek ve fonksiyonun bir daire, kare, yamuk veya üçgeni nasıl belirleyeceğini açıklamak benim için zor ???
İlk mesajda linkleri verilen makalelerden birinde böyle bir örnek var.
Sanal yöntemle temel sınıf. Nesilde, hesaplamaların gerçekte yapıldığı aynı adı taşıyan bir yöntem vardır.
VOLDEMAR : Örneğin, teori çalışmak, bir örnek göstermek ve fonksiyonun bir daire, kare, yamuk veya üçgeni nasıl belirleyeceğini açıklamak benim için zor ???
Bağımsız çalışma için yamuk ve üçgeni bırakıyorum:
Dinamik işaretçiler iyi;ys, eğer program nesnelerle dinamik çalışmayı gerektiriyorsa: oluşturma, program işlemi sırasında silme. Programda hangi nesnelerin ve hangi miktarda gerekli olacağı önceden biliniyorsa, dinamik işaretçilere gerek yoktur. Ancak çok sayıda nesne olduğu durum dışında, bu durumda onları yeni bir döngüde oluşturmak daha kolaydır.
Aynen öyle! Ve bu durumda bile, işaretçiler olmadan yapabilirsiniz.
Sınıfınız %90 gereksiz. Ana işi sadece iki fonksiyon yapar, bunlar openorderveipucu Neden Sel, SelStop Satın Al vs. kullanasınız ki, aslında hepsi sadece Openorders diyorlar? Ayrıca, emir türü int olarak iletilir, yani korunmaz. int yerine, kendi numaralandırmanızı veya standart ENUM_ORDER_TYPE kullanmak daha iyidir. Ve genel olarak, "1", "2" vb. sihirli sayıları asla kullanmamak, yalnızca numaralandırmaları kullanmamak daha iyidir. Bu, siparişin sol değerinin fonksiyona gönderilmesini önleyecektir. Openorders işlevinin kendisi çok büyük. Anlaşma yapmak için bir blok ve koşulları kontrol etmek için bir blok olmak üzere iki bloktan oluştuğu açıktır. Her biri ayrı bir özel fonksiyon şeklinde olmalıdır.
Fena bir başlangıç değil, ama daha öğrenecek çok şey var. İpucu işlevi şu şekilde yeniden yazılabilir:
Hangi özelliklere ihtiyacınız var? Her yerde bir ilke vardır: her şey mümkün olduğunca basit yapılmalıdır. Sadece vahşi doğada olmak için vahşi doğaya tırmanmaya gerek yok. Bir problem basitçe çözülebiliyorsa, o zaman basitçe çözülmelidir.
Program nesnelerle dinamik çalışmayı gerektiriyorsa dinamik işaretçiler gereklidir: programın çalışması sırasında oluşturma, silme. Programda hangi nesnelerin ve hangi miktarda gerekli olacağı önceden biliniyorsa, dinamik işaretçilere gerek yoktur. Ancak çok sayıda nesne olduğu durum dışında, bu durumda onları yeni bir döngüde oluşturmak daha kolaydır.
İşaretçiler, dinamik tür tanımlaması gerektiren karmaşık nesne dönüştürmeleri için vazgeçilmezdir.
şimdi sınıfımı yeniden yaptım
Ve vr_MarketInfo sınıfından kalıtım eklendi ... (yanılmış olabileceğimden şüpheleniyorum)vr_MarketInfo sınıfı , bir sembol için Nokta, Rakamlar hakkında bilgi verir ve ayrıca çok sayıda hata olup olmadığını ve Excel'de ve çizelgede oturum açmak da dahil olmak üzere çalışmam gereken çok daha fazlasını kontrol eder.
Yukarıdaki yöntemi kullanırken, Primer.Primer.Primer() Expert Advisor'da çalışırken bir liste döndürülür.
Daha kısaltılmış bir şey yapmak istiyorum...
Miras nerede? Bir işaretçinin amacı nedir?
Miras nerede? Bir işaretçinin amacı nedir?
MQL4+ hakkında bir eğitim yazın. İşbirliği yapın, uzmanlar ve yazın. 50 dolar bayanlar :)
MQL4+ hakkında bir eğitim yazın. İşbirliği yapın, uzmanlar ve yazın. 50 dolar bayanlar :)
Her şey uzun zamandır yazılıyor.
MQL4 == C++ küçük kısıtlamalarla.
Ama aslında, eğer gerçekten, o zaman ders kitabında ve belgelerde, işaretçilerin kullanımı veya yeni operatör hakkında hiçbir ayrıntı yoktur. Ya tahmin etmek ya da denizden havayı beklemek kalır. Veya birisi yanlışlıkla bir yerde bir şey söylediğinde. Bunun nasıl olduğuna tamamen şok oldum. Ben ve topik başlatıcı Vladimir dışında kimsenin bir şeye ihtiyacı yokmuş gibi görünmesi de ilginç. Her ne kadar hala birçoğunun bu konuya bağlı kalmadığına inanıyorum. Bu yüzden bu tür sorulara girmezler.
Hangi özelliklere ihtiyacınız var? Her yerde bir ilke vardır: her şey mümkün olduğunca basit yapılmalıdır. Sadece vahşi doğada olmak için vahşi doğaya tırmanmaya gerek yok. Bir problem basitçe çözülebiliyorsa, o zaman basitçe çözülmelidir.
Program nesnelerle dinamik çalışmayı gerektiriyorsa dinamik işaretçiler gereklidir: programın çalışması sırasında oluşturma, silme. Programda hangi nesnelerin ve hangi miktarda gerekli olacağı önceden biliniyorsa, dinamik işaretçilere gerek yoktur. Ancak çok sayıda nesne olduğu durum dışında, bu durumda onları yeni bir döngüde oluşturmak daha kolaydır.
Örneğin, teori çalışmak, bir örnek göstermek ve fonksiyonun bir daire, kare, yamuk veya üçgeni nasıl belirleyeceğini açıklamak benim için zor ???
İlk mesajda linkleri verilen makalelerden birinde böyle bir örnek var.
Sanal yöntemle temel sınıf. Nesilde, hesaplamaların gerçekte yapıldığı aynı adı taşıyan bir yöntem vardır.
Örneğin, teori çalışmak, bir örnek göstermek ve fonksiyonun bir daire, kare, yamuk veya üçgeni nasıl belirleyeceğini açıklamak benim için zor ???
Bağımsız çalışma için yamuk ve üçgeni bırakıyorum:
Dinamik işaretçiler iyi;ys, eğer program nesnelerle dinamik çalışmayı gerektiriyorsa: oluşturma, program işlemi sırasında silme. Programda hangi nesnelerin ve hangi miktarda gerekli olacağı önceden biliniyorsa, dinamik işaretçilere gerek yoktur. Ancak çok sayıda nesne olduğu durum dışında, bu durumda onları yeni bir döngüde oluşturmak daha kolaydır.
Sınıfınız %90 gereksiz. Ana işi sadece iki fonksiyon yapar, bunlar openorder ve ipucu Neden Sel, SelStop Satın Al vs. kullanasınız ki, aslında hepsi sadece Openorders diyorlar? Ayrıca, emir türü int olarak iletilir, yani korunmaz. int yerine, kendi numaralandırmanızı veya standart ENUM_ORDER_TYPE kullanmak daha iyidir. Ve genel olarak, "1", "2" vb. sihirli sayıları asla kullanmamak, yalnızca numaralandırmaları kullanmamak daha iyidir. Bu, siparişin sol değerinin fonksiyona gönderilmesini önleyecektir. Openorders işlevinin kendisi çok büyük. Anlaşma yapmak için bir blok ve koşulları kontrol etmek için bir blok olmak üzere iki bloktan oluştuğu açıktır. Her biri ayrı bir özel fonksiyon şeklinde olmalıdır.
Fena bir başlangıç değil, ama daha öğrenecek çok şey var. İpucu işlevi şu şekilde yeniden yazılabilir:
Hangi özelliklere ihtiyacınız var? Her yerde bir ilke vardır: her şey mümkün olduğunca basit yapılmalıdır. Sadece vahşi doğada olmak için vahşi doğaya tırmanmaya gerek yok. Bir problem basitçe çözülebiliyorsa, o zaman basitçe çözülmelidir.
Program nesnelerle dinamik çalışmayı gerektiriyorsa dinamik işaretçiler gereklidir: programın çalışması sırasında oluşturma, silme. Programda hangi nesnelerin ve hangi miktarda gerekli olacağı önceden biliniyorsa, dinamik işaretçilere gerek yoktur. Ancak çok sayıda nesne olduğu durum dışında, bu durumda onları yeni bir döngüde oluşturmak daha kolaydır.