MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 451

 
Açıkça dönüştürülmüş tarih saatleri koyduğum int türünde değişkenler ekledim ve işe yaradı. Ama şimdi oranın sonucunun 1'in altında olmasına ihtiyacım var, yani
formül MathMin(Zaman1-Zaman2,Zaman2-Zaman3)/MathMax(Zaman1-Zaman2,Zaman2-Zaman3)
ama yine de 0 vermeye başladı, ancak bireysel olarak doğru gösteriyor
 
Roman Sharanov :
Açıkça dönüştürülmüş tarih saatleri koyduğum int türünde değişkenler ekledim ve işe yaradı. Ama şimdi oranın sonucunun 1'in altında olmasına ihtiyacım var, yani
formül MathMin(Zaman1-Zaman2,Zaman2-Zaman3)/MathMax(Zaman1-Zaman2,Zaman2-Zaman3)
ama yine de 0 vermeye başladı, ancak bireysel olarak doğru gösteriyor
( double ) MathMin (Time1-Time2,Time2-Time3)/( double ) MathMax (Time1-Time2,Time2-Time3)
 
Roman Sharanov :

zaten denediğimi yazdım birşey yok

alıcı değişken de bir çift olmalıdır

 
Harika, şimdi her zaman 1 pes ediyor
MathMin ve MathMax, argümanları farklı olsa da aynı değerleri üretir.
 
Roman Sharanov :

2 zaman diliminin oranını nasıl bulacağımı söyler misiniz? (2 periyot arasındaki çubuk sayısının oranına ihtiyaç duyar)
Böyle yazdım ama 0 gibi bir şey veriyor. Zaman1>Zaman>Zaman3 her zaman

açık tipleme olmadan denendi ve (çift) yazmaya çalıştı

Ve bir örnekle, girdide ne olduğunu ve çıktıda ne olması gerektiğini açıklayabilir misiniz? Tüm tavsiyeleri ve soruları birkaç kez tekrar okudum, ancak hala neyden başladığımızı ve neye gelmemiz gerektiğini anlayamıyorum.

Örneğin bu kod

 #define PRINT(A) :: Print ( #A + " = " + ( string )(A));
/********************Script program start function*******************/
void OnStart ()
{
 datetime t1 = TimeCurrent (), t2 = TimeCurrent ()- PeriodSeconds ( PERIOD_M1 )* 7 , t3 = TimeCurrent ()- PeriodSeconds ( PERIOD_M15 );
 PRINT(t1-t2);
 PRINT(t1-t3);
 PRINT( double (t1-t2)/ double (t1-t3));
 PRINT((t1-t2)/ double (t1-t3));
 PRINT( double (t1-t2)/(t1-t3));
} /*******************************************************************/

bu sonucu verir

 2018.02 . 04 15 : 41 : 35.922 00 EURUSD,H1: double (t1-t2)/(t1-t3) = 0.46666667
2018.02 . 04 15 : 41 : 35.922 00 EURUSD,H1: (t1-t2)/ double (t1-t3) = 0.46666667
2018.02 . 04 15 : 41 : 35.922 00 EURUSD,H1: double (t1-t2)/ double (t1-t3) = 0.46666667
2018.02 . 04 15 : 41 : 35.922 00 EURUSD,H1: t1-t3 = 900
2018.02 . 04 15 : 41 : 35.922 00 EURUSD,H1: t1-t2 = 420
 
Alexey Viktorov :

Ve bir örnekle, girdide ne olduğunu ve çıktıda ne olması gerektiğini açıklayabilir misiniz? Tüm tavsiyeleri ve soruları birkaç kez tekrar okudum, ancak hala neyden başladığımızı ve neye gelmemiz gerektiğini anlayamıyorum.

Örneğin bu kod

bu sonucu verir

evet sadece bana 0 veya 1 veriyor ama if else şartlarıyla bir sapıklıkla çözdüm ama en azından işe yarıyor

 
Roman Sharanov :

evet sadece bana 0 veya 1 veriyor ama if else şartlarıyla bir sapıklıkla çözdüm ama en azından işe yarıyor

type double sonucunun alınması gerektiği söylendi.

ve bu yüzden

Ve örneğimden sonra bile .... kelimeler yeterli değil.

Başka ne işlerde burada??? Bu koşullu bir operatördür ve koşullardaki değerlerin türüne hiçbir şekilde bağlı değildir.

Pay ve payda eşit ise ancak 1 olabilir. Ama 0 ASLA olamaz.

 

Hepinize iyi günler.

Lütfen bana büyüklerden nasıl kurtulacağımı söyle

bilgisayardaki meta düzenleyicilerin sayısı.

7 terminal kurulur ve her biri bir meta düzenleyiciyi sürükler.

7k, içerik menüsünden bir mq dosyası açmaya çalıştığınızda yüzen bir çatıya sahip

onları periyodik olarak farklı metaeditörlerde açar ve bu da kötü bir duygusal duruma yol açar.

Belki birisi bu sorunu nasıl çözeceğini biliyordur?

Yalnızca 1 yapılandırılmış meta düzenleyiciye sahip olmak istiyorum.

Şimdiden teşekkürler.

 
Northwest :

Hepinize iyi günler.

Lütfen bana büyüklerden nasıl kurtulacağımı söyle

bilgisayardaki meta düzenleyicilerin sayısı.

7 terminal kurulur ve her biri bir meta düzenleyiciyi sürükler.

7k, içerik menüsünden bir mq dosyası açmaya çalıştığınızda yüzen bir çatıya sahip

onları periyodik olarak farklı metaeditörlerde açar ve bu da kötü bir duygusal duruma yol açar.

Belki birisi bu sorunu nasıl çözeceğini biliyordur?

Yalnızca 1 yapılandırılmış meta düzenleyiciye sahip olmak istiyorum.

Şimdiden teşekkürler.

MQL klasörüne bir " sembolik bağlantı/kısayol " ile bu sorunu kendim çözdüm. Hal böyle olunca, ana klasörü program dizininden çıkardım, ona bir kısayol oluşturdum ve bu dizinleri silip bir kısayol ile değiştirdim. Artık herhangi bir terminalde aynı Uzman Danışmanlar/göstergeler/komut dosyalarına sahibim. Ve herhangi bir meta düzenleyiciyi açmak aynı dosyalarda sonuçlanır.

Tabii ki, MQL4/5 için ana dizinler farklıdır.

 
Konstantin Nikitin :

MQL klasörüne bir " sembolik bağlantı/kısayol " ile bu sorunu kendim çözdüm. Hal böyle olunca, ana klasörü program dizininden çıkardım, ona bir kısayol oluşturdum ve bu dizinleri silip bir kısayol ile değiştirdim. Artık herhangi bir terminalde aynı Uzman Danışmanlar/göstergeler/komut dosyalarına sahibim. Ve herhangi bir meta düzenleyiciyi açmak aynı dosyalarda sonuçlanır.

Tabii ki, MQL4/5 için ana dizinler farklıdır.

Tavsiye için teşekkürler.

Ancak farklı terminallerde yalnızca "danışmanlarım ve göstergelerim"in gösterilmesi benim için arzu edilir.

Yani, MQL klasörleri "kendilerine ait" olmalıdır.

Bu, kaba kuvvet yöntemini önerir.Yüklü dağıtımlardan meta düzenleyici dosyaları seçin.

Herhangi birinde sadece bir tane bırakın. Ardından, var olmayan dosyaların yollarını kaldırmak için kayıt defteri temizleyicisinden geçin.

Ama nasıl çalışıp çalışmayacağını bilmiyorum. Sonuç olmadan, bir şey istiyorum.