MT5 duyurulduğundan beri şu soruya cevap almaya çalışıyorum:
Tüm bu süper kandırıcıları buna dahil edersem, Uzman Danışmanımın (veya başka birinin) performansı ne kadar artar?
Hiç yanıt alamadım...
...
Gelişmiş bir programlama dili olmadan karmaşık bir ticaret algoritması uygulayamazsınız. "Daha düşük satılan daha yüksek arabaları satın al" düzeyindeki basit kararlar - 80'lerdeki reklam yıllarında geçmişte kaldı. Bu nedenle, prensipte, sınırlı bir programlama dilinde karlı bir şey yazamazsınız (tabii ki şans sayılmaz).
Dış kütüphaneler ve dolayısıyla R pazarı yasaktır. Bu sınırlama olmasaydı, çok yüksek kaliteli göstergeler satarak hiçbir risk almadan zengin olurdum .
...
Kötü bir dansçıyı engelleyen nedir biliyor musunuz?
Hiç kimse süper karlı istatistikleri aktararak zengin olmanızı yasaklamıyor. MQL kodundaki yöntemler. AlgLib yardım etmek için burada.
Ama tüm bunlar bir dizi fantezinizden: "Şimdi, aynı olsaydı, ama pembe düğmeli olsaydı, o zaman öyle bir zabatsal alırdım ki en üstte olurdum ..." - Ve yazmaya çalışıyorsunuz en azından başlamak için bir şey ve ürününüzün en az bir kopyasını satmak. Hızla cennetten dünyaya inin ve her şeyin bir tür stat uygulamaktan çok daha karmaşık olduğunu anlayacaksınız. yöntem.
Ne yazık ki, akıllı bir harekete dahil edilebilmelerine rağmen çok üzücü olan MQL5'te arayüzler yasaktır: tamamen soyut sınıfların çoklu mirasına izin verin .
MQL5'teki arayüzler şu şekilde çalışır:
class Interface
{
public :
virtualvoid Do( void )= 0 ;
};
class MyTest : public Interface
{
public :
MyTest( void ) {};
~MyTest( void ) {};
virtualvoid Do( void ) { Print ( "Hello!" ); }
};
voidOnStart ()
{
MyTest test;
test.Do();
}
//+------------------------------------------------------------------+//| Class of all classes |//+------------------------------------------------------------------+class CObject
{
};
//+------------------------------------------------------------------+//| Enumerator interface |//+------------------------------------------------------------------+template < typename T>
class IEnumerator
{
public :
virtualbool MoveNext();
virtual void Reset();
virtual T Current();
};
class CList : public CObject, public IEnumerator
{
...
}
Onlar. IEnumerator tamamen soyut bir sınıf olduğu sürece, onu içeren çoklu kalıtım tamamen güvenlidir.
Bu arada, aslında, arayüzlerin hala uzun kalıtım zincirlerine sarılması gerekiyor. Bunun bir örneği, MQ tarafından yayınlanan harika Dahili kitaplıktır:
Renat Fatkhullin : Bunun üzerinde zaten çalışıyoruz, kendimize ihtiyacımız var.
Aferin. Bu gerçekten harika olacak. Ayrıca, çözüm oldukça zariftir: Yalnızca ve yalnızca tamamen soyut sınıflar olarak sunulmaları halinde sınıflardan çoklu kalıtım yapılmasına izin vermek yeterlidir (veri ve uygulamaları içermez, tüm yöntemler geneldir). Onlar. C++ standardında yer almayan herhangi bir özel yapıyı veya anahtar sözcüğü tanıtmaya gerek yoktur.
Ayrıca dileklerden: Dahili kütüphaneyi daha da geliştirmemiz gerekiyor. Arayüzler göründüğünde sadece süper kandırılacak. Eski CObject'i kötü bir rüya gibi unutalım.
Vasiliy Sokolov : sadece ve sadece soyut sınıflar olarak sunuluyorlarsa (veri ve uygulamaları içermezler, tüm yöntemler geneldir) sınıflardan çoklu mirasa izin vermek yeterlidir.
... ve kimseden miras alınmaz, aksi takdirde elmaslar aynıdır.
MT5 duyurulduğundan beri şu soruya cevap almaya çalışıyorum:
Tüm bu süper kandırıcıları buna dahil edersem, Uzman Danışmanımın (veya başka birinin) performansı ne kadar artar?
Hiç yanıt alamadım...
...
...
Dış kütüphaneler ve dolayısıyla R pazarı yasaktır. Bu sınırlama olmasaydı, çok yüksek kaliteli göstergeler satarak hiçbir risk almadan zengin olurdum .
...
Kötü bir dansçıyı engelleyen nedir biliyor musunuz?
Hiç kimse süper karlı istatistikleri aktararak zengin olmanızı yasaklamıyor. MQL kodundaki yöntemler. AlgLib yardım etmek için burada.
Ama tüm bunlar bir dizi fantezinizden: "Şimdi, aynı olsaydı, ama pembe düğmeli olsaydı, o zaman öyle bir zabatsal alırdım ki en üstte olurdum ..." - Ve yazmaya çalışıyorsunuz en azından başlamak için bir şey ve ürününüzün en az bir kopyasını satmak. Hızla cennetten dünyaya inin ve her şeyin bir tür stat uygulamaktan çok daha karmaşık olduğunu anlayacaksınız. yöntem.
Ne yazık ki, akıllı bir harekete dahil edilebilmelerine rağmen çok üzücü olan MQL5'te arayüzler yasaktır: tamamen soyut sınıfların çoklu mirasına izin verin .
MQL5'teki arayüzler şu şekilde çalışır:
MQL5'teki arayüzler şu şekilde çalışır:
Bir nesne birçok arabirimi destekleyebilmelidir, aksi takdirde kullanımlarının anlamı küçümsenir.
Ne yazık ki yalnızca İstek Listesi düzeyinde:
Onlar. IEnumerator tamamen soyut bir sınıf olduğu sürece, onu içeren çoklu kalıtım tamamen güvenlidir.
MQL5'teki arayüzler şu şekilde çalışır:
Bu arada, aslında, arayüzlerin hala uzun kalıtım zincirlerine sarılması gerekiyor. Bunun bir örneği, MQ tarafından yayınlanan harika Dahili kitaplıktır:
Bir nesne birçok arabirimi destekleyebilmelidir, aksi takdirde kullanımlarının anlamı küçümsenir.
Bunun üzerinde zaten çalışıyoruz, kendimize ihtiyacımız var.
sadece ve sadece soyut sınıflar olarak sunuluyorlarsa (veri ve uygulamaları içermezler, tüm yöntemler geneldir) sınıflardan çoklu mirasa izin vermek yeterlidir.