Not: Dosya MT4'te zaten açıksa, topun bayrağı MT5'i sorunsuz bir şekilde açmasına izin verecektir. MT4'ün her zamanki gibi çalıştığı ve MT5'in diğer programların kendisi tarafından açılmış bir dosyayı kullanmasına veya paylaşım bayrağı olmayan biri tarafından açılan bir dosyayı açmasına izin verebileceği ortaya çıktı.
Yardımda, veri türü açıklaması bölümünde şöyle yazıyor:
Bu bağlamda, böyle bir karşılaştırma doğru olmadığı için, eşitlik için iki gerçek sayının birbiriyle karşılaştırılması kategorik olarak önerilmez.
Ve özel bir karşılaştırma yöntemi önerilmiştir.
Hala eşitlik için iki gerçek sayıyı karşılaştırmanız gerekiyorsa, o zaman şunları yapabilirsiniz:
Ancak sonuçta, daha fazla \ daha az işlem yardımıyla bile gerçek sayıları karşılaştırmanın tavsiye edilmediği mantıklı bir sonuç çıkar, çünkü Yukarıda söylenenler anlamında böyle bir işlem, yalnızca özel bir yöntem kullanılarak, kontrol edilen değerlerin makine sıfırı anlamında eşit olmadığı önceden doğru bir şekilde belirlendiğinde doğrudur.
Onlar. gerçek sayılar için > ve < operatörlerinin de saf formlarında kullanılamayacağı ortaya çıktı. Her şeyi doğru anladım mı ve eğer öyleyse yardıma uygun bir yorum girebilir miyim?
Ancak, örneğin > gibi bir işlem yalnızca eşitsizlik için doğru bir denetimden sonra kullanılabilirse, >= için bir denetim nasıl organize edilir? Algoritmanın daha da karmaşık olması gerekiyor, yani. önce özellikleri kontrol edin. eşitlik için işlev, sonra özel. eşitsizlik işlevi (> kullanmadan önce)?
Belki birileri zaten tüm karşılaştırma durumları için ve her iki tür çift ve kayan nokta için bir kitaplık geliştirmiştir? Çift tip için bir şeyler çizdim - ne kadar doğru bilmiyorum:
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++// Функция проверки на равенство двух вещественных чисел типа doublebool EqualDoubles( constdouble d1, constdouble d2)
{
constdouble epsilon= 2.2204460492503131 e- 016 ; //DBL_EPSILONif (d1-d2>epsilon) returnfalse ;
if (d1-d2<-epsilon) returnfalse ;
returntrue ;
}
// Конец функции проверки на равенство двух вещественных чисел типа double//+++++++++++++++++++++++++++++++++++++++++++++++++// Функция проверки на неравенство двух вещественных чисел типа doublebool NotEqualDoubles( constdouble d1, constdouble d2)
{
return !EqualDoubles(d1, d2);
}
// Конец функции проверки на неравенство двух вещественных чисел типа double//+++++++++++++++++++++++++++++++++++++++++++++++++// Функция проверки на меньшинство первого из двух вещественных чисел типа doublebool LessDoubles( constdouble d1, constdouble d2)
{
if (NotEqualDoubles(d1, d2)&&(d1<d2))
{
returntrue ;
}
returnfalse ;
}
// Конец функции проверки на меньшинство первого из двух вещественных чисел типа double//+++++++++++++++++++++++++++++++++++++++++++++++++// Функция проверки на большинство первого из двух вещественных чисел типа doublebool GreaterDoubles( constdouble d1, constdouble d2)
{
if (NotEqualDoubles(d1, d2)&&(d1>d2))
{
returntrue ;
}
returnfalse ;
}
// Конец функции проверки на большинство первого из двух вещественных чисел типа double//+++++++++++++++++++++++++++++++++++++++++++++++++// Функция проверки на меньшинство первого или равенство двух вещественных чисел типа doublebool LessEqualDoubles( constdouble d1, constdouble d2)
{
if (LessDoubles(d1, d2)||EqualDoubles(d1, d2))
{
returntrue ;
}
returnfalse ;
}
// Конец функции проверки на меньшинство первого или равенство двух вещественных чисел типа double//+++++++++++++++++++++++++++++++++++++++++++++++++// Функция проверки на большинство первого или равенство двух вещественных чисел типа doublebool GreaterEqualDoubles( constdouble d1, constdouble d2)
{
if (GreaterDoubles(d1, d2)||EqualDoubles(d1,d2))
{
returntrue ;
}
returnfalse ;
}
// Конец функции проверки на большинство первого или равенство двух вещественных чисел типа double
PS, önceden hesaplanmışsa==0 yine her zamanki gibi çalışır. yüzen böcek?
Alım satım sinyalleri modülünde özel bir gösterge kullanmam gerekiyor.
Bunu yapmak için, anladığım kadarıyla, örnekte olduğu gibi, bu göstergenin nesnesine "göstergelerin toplanması (zaman serisi?)" için bir işaretçi eklemeniz gerekiyor:
indicators.Add( GetPointer (m_MA)))
burada m_MA, CiMA sınıfının bir nesnesidir.
iCustom ve IndicatorCreate işlevleri, oluşturulan göstergenin tanıtıcı numarasının tamsayı değerini döndürür, ancak anladığım kadarıyla bu göstergenin bir nesnesine ihtiyacım var.
Я не буду перечислять все новые возможности и особенности нового терминала и языка. Их действительно много, и некоторые новинки вполне достойны освещения в отдельной статье. Вы не увидите здесь кода, написанного по принципам объектно-ориентированного программирования — это слишком серьезная тема для того, чтобы просто быть упомянутой в контексте как дополнительная вкусность для кодописателей. В этой статье остановимся подробней на индикаторах, их строении, отображении, видах, а также особенностях их написания по сравнению с MQL4.
Alım satım sinyalleri modülünde özel bir gösterge kullanmam gerekiyor.
Bunu yapmak için, anladığım kadarıyla, örnekte olduğu gibi, bu göstergenin nesnesine "göstergelerin toplanması (zaman serisi?)" için bir işaretçi eklemeniz gerekiyor:
burada m_MA, CiMA sınıfının bir nesnesidir.
iCustom ve IndicatorCreate işlevleri, oluşturulan göstergenin tanıtıcı numarasının tamsayı değerini döndürür, ancak anladığım kadarıyla bu göstergenin bir nesnesine ihtiyacım var.
Bana durumdan nasıl çıkacağımı söyle ???
Anladığım kadarıyla CiCustom'a dayalı kendi gösterge nesnenizi yazmalısınız (CiMA'nın nasıl yazıldığına benzer).
Ben böyle hindilerle çalışmadığım için detaylı bir tavsiyede bulunamam ama sanırım çözersiniz ya da insanlar size özel bir uygulama söylerler.
not
Bu arada geliştiriciler lütfen CiCustom ile ilgili bölüme örnekler ekleyin...
Ancak sonuçta, daha fazla \ daha az işlem yardımıyla bile gerçek sayıları karşılaştırmanın tavsiye edilmediği mantıklı bir sonuç çıkar, çünkü Yukarıda söylenenler anlamında böyle bir işlem, yalnızca özel bir yöntem kullanılarak, kontrol edilen değerlerin makine sıfırı anlamında eşit olmadığı önceden doğru bir şekilde belirlendiğinde doğrudur.
Belki de sorunun özünü tam olarak anlamadım, ancak "<" işlemi kullanılarak iki gerçek sayı karşılaştırılırsa ve kontrol edilen gerçek sayılar "makine sıfırı anlamında eşittir", o zaman " <" işlemi yalnızca false döndürür ve bu kadar. Ne anlama gelecek: "ilk gerçek sayı ikinci gerçek sayıdan daha az değil".
Alım satım sinyalleri modülünde özel bir gösterge kullanmam gerekiyor.
Bunu yapmak için, anladığım kadarıyla, örnekte olduğu gibi, bu göstergenin nesnesine "göstergelerin toplanması (zaman serisi?)" için bir işaretçi eklemeniz gerekiyor:
burada m_MA, CiMA sınıfının bir nesnesidir.
iCustom ve IndicatorCreate işlevleri, oluşturulan göstergenin tanıtıcı numarasının tamsayı değerini döndürür, ancak anladığım kadarıyla bu göstergenin bir nesnesine ihtiyacım var.
Bana durumdan nasıl çıkacağımı söyle ???
Şimdilik bu dosyayı örnek alın.
CsignalCustomMACD sınıfı, standart dağıtımdan göstergenin "özel" sürümü üzerine inşa edilmesi dışında, CsignalMACD sınıfıyla kesinlikle aynıdır.
Uzmanın kaynak koduna aşağıdaki satırı eklemeyi unutmayın:
#property tester_indicator "Examples\MACD.ex5"
aksi takdirde test cihazında çalışmayacaktır.
Göstergeler\Örnekler klasöründe MACD.ex5 dosyası yoksa, göstergenin derlenmesi gerekir.
Yedelkin : Belki de sorunun özünü tam olarak anlamadım, ancak "<" işlemi kullanılarak iki gerçek sayı karşılaştırılırsa ve kontrol edilen gerçek sayılar "makine sıfırı anlamında eşittir", o zaman " <" işlemi yalnızca false döndürür ve bu kadar. Ne anlama gelir: "ilk gerçek sayı, ikinci gerçek sayıdan daha az değildir".
Bu mantıklı olurdu, ancak şimdi ">" ("<" kontrol etmedi) işlemi "makine sıfırı anlamında eşit" bu tür sayılar için doğru sonucu döndürebilir. Etki bulundu. sayısal hesaplamanın sonucunun, böyle bir etkinin bir sonucu olarak ve özel kullanıldıktan sonra teorik olarak daha mümkün olduğu ortaya çıktı. daha yüksek olan işlevler - doğru hale geldi. Bu nedenle, sertifikaya bir ek eklemeyi öneriyorum.
Numara.
Bu nedenle, eşzamanlı erişim düzenlenemez: (((
MT5'te top bayrağı ile açılan dosyanın MT4 dahil diğer herhangi bir program için mevcut olması mümkündür.
Burada nasıl yapıldığını görün.
Not: Dosya MT4'te zaten açıksa, topun bayrağı MT5'i sorunsuz bir şekilde açmasına izin verecektir. MT4'ün her zamanki gibi çalıştığı ve MT5'in diğer programların kendisi tarafından açılmış bir dosyayı kullanmasına veya paylaşım bayrağı olmayan biri tarafından açılan bir dosyayı açmasına izin verebileceği ortaya çıktı.
MT5'te top bayrağı ile açılan dosyanın MT4 dahil diğer herhangi bir program için mevcut olması mümkündür.
Burada nasıl yapıldığını görün.
Teşekkürler şimdi bakacağım...
Bu bağlamda, böyle bir karşılaştırma doğru olmadığı için, eşitlik için iki gerçek sayının birbiriyle karşılaştırılması kategorik olarak önerilmez.
Ve özel bir karşılaştırma yöntemi önerilmiştir.
Hala eşitlik için iki gerçek sayıyı karşılaştırmanız gerekiyorsa, o zaman şunları yapabilirsiniz:
Ancak sonuçta, daha fazla \ daha az işlem yardımıyla bile gerçek sayıları karşılaştırmanın tavsiye edilmediği mantıklı bir sonuç çıkar, çünkü Yukarıda söylenenler anlamında böyle bir işlem, yalnızca özel bir yöntem kullanılarak, kontrol edilen değerlerin makine sıfırı anlamında eşit olmadığı önceden doğru bir şekilde belirlendiğinde doğrudur.
Onlar. gerçek sayılar için > ve < operatörlerinin de saf formlarında kullanılamayacağı ortaya çıktı. Her şeyi doğru anladım mı ve eğer öyleyse yardıma uygun bir yorum girebilir miyim?
Ancak, örneğin > gibi bir işlem yalnızca eşitsizlik için doğru bir denetimden sonra kullanılabilirse, >= için bir denetim nasıl organize edilir? Algoritmanın daha da karmaşık olması gerekiyor, yani. önce özellikleri kontrol edin. eşitlik için işlev, sonra özel. eşitsizlik işlevi (> kullanmadan önce)?
Belki birileri zaten tüm karşılaştırma durumları için ve her iki tür çift ve kayan nokta için bir kitaplık geliştirmiştir? Çift tip için bir şeyler çizdim - ne kadar doğru bilmiyorum:
PS, önceden hesaplanmışsa==0 yine her zamanki gibi çalışır. yüzen böcek?
Tünaydın!
Alım satım sinyalleri modülünde özel bir gösterge kullanmam gerekiyor.
Bunu yapmak için, anladığım kadarıyla, örnekte olduğu gibi, bu göstergenin nesnesine "göstergelerin toplanması (zaman serisi?)" için bir işaretçi eklemeniz gerekiyor:
indicators.Add( GetPointer (m_MA)))burada m_MA, CiMA sınıfının bir nesnesidir.
iCustom ve IndicatorCreate işlevleri, oluşturulan göstergenin tanıtıcı numarasının tamsayı değerini döndürür, ancak anladığım kadarıyla bu göstergenin bir nesnesine ihtiyacım var.
Bana durumdan nasıl çıkacağımı söyle ???
Tünaydın!
Alım satım sinyalleri modülünde özel bir gösterge kullanmam gerekiyor.
Bunu yapmak için, anladığım kadarıyla, örnekte olduğu gibi, bu göstergenin nesnesine "göstergelerin toplanması (zaman serisi?)" için bir işaretçi eklemeniz gerekiyor:
burada m_MA, CiMA sınıfının bir nesnesidir.
iCustom ve IndicatorCreate işlevleri, oluşturulan göstergenin tanıtıcı numarasının tamsayı değerini döndürür, ancak anladığım kadarıyla bu göstergenin bir nesnesine ihtiyacım var.
Bana durumdan nasıl çıkacağımı söyle ???
Anladığım kadarıyla CiCustom'a dayalı kendi gösterge nesnenizi yazmalısınız (CiMA'nın nasıl yazıldığına benzer).
Ben böyle hindilerle çalışmadığım için detaylı bir tavsiyede bulunamam ama sanırım çözersiniz ya da insanlar size özel bir uygulama söylerler.
not
Bu arada geliştiriciler lütfen CiCustom ile ilgili bölüme örnekler ekleyin...
Ve özel bir karşılaştırma yöntemi önerilmiştir.
Ancak sonuçta, daha fazla \ daha az işlem yardımıyla bile gerçek sayıları karşılaştırmanın tavsiye edilmediği mantıklı bir sonuç çıkar, çünkü Yukarıda söylenenler anlamında böyle bir işlem, yalnızca özel bir yöntem kullanılarak, kontrol edilen değerlerin makine sıfırı anlamında eşit olmadığı önceden doğru bir şekilde belirlendiğinde doğrudur.
Tünaydın!
Alım satım sinyalleri modülünde özel bir gösterge kullanmam gerekiyor.
Bunu yapmak için, anladığım kadarıyla, örnekte olduğu gibi, bu göstergenin nesnesine "göstergelerin toplanması (zaman serisi?)" için bir işaretçi eklemeniz gerekiyor:
burada m_MA, CiMA sınıfının bir nesnesidir.
iCustom ve IndicatorCreate işlevleri, oluşturulan göstergenin tanıtıcı numarasının tamsayı değerini döndürür, ancak anladığım kadarıyla bu göstergenin bir nesnesine ihtiyacım var.
Bana durumdan nasıl çıkacağımı söyle ???
Şimdilik bu dosyayı örnek alın.
CsignalCustomMACD sınıfı, standart dağıtımdan göstergenin "özel" sürümü üzerine inşa edilmesi dışında, CsignalMACD sınıfıyla kesinlikle aynıdır.
Uzmanın kaynak koduna aşağıdaki satırı eklemeyi unutmayın:
#property tester_indicator "Examples\MACD.ex5"aksi takdirde test cihazında çalışmayacaktır.
Göstergeler\Örnekler klasöründe MACD.ex5 dosyası yoksa, göstergenin derlenmesi gerekir.
Yakın gelecekte yardıma bir örnek eklenecektir.
Belki de sorunun özünü tam olarak anlamadım, ancak "<" işlemi kullanılarak iki gerçek sayı karşılaştırılırsa ve kontrol edilen gerçek sayılar "makine sıfırı anlamında eşittir", o zaman " <" işlemi yalnızca false döndürür ve bu kadar. Ne anlama gelir: "ilk gerçek sayı, ikinci gerçek sayıdan daha az değildir".