İyi günler programcı arkadaşlar. Lütfen programa yardım edin. Bu bir zamanlayıcı, ancak MKL4'te değil, bir tür soldan. Bu sadece bir program. Bu zamanlayıcı, eşit zaman aralıklarını geri sayar ve bir sinyal verir. Ancak bu aralıklar çok kısadır. En uzun 120 saniyedir, ancak yarım saat veya bir saate kadar daha uzun aralıklarla olması gerekir. Bir şey yapılabilir mi? Şimdiden teşekkürler.
bool isTime (int sec ){bool res =false;staticdatetime time =0;double min =0;if(TimeCurrent()>= time ){
min =MathFloor( sec /60);if( min ==0) min =1.0;
time =iTime(NULL,PERIOD_H1,0)+(MathFloor(Minute()/ min )+1)* min *60;
res =true;}return( res );}
belirlemek için kullandığım özel bir durum olarak, son işlev çağrısından bu yana verilen saniye sayısı geçtiyse işlev true değerini döndürür
güncel grafiğe yeni bir çubuk gelmiş olması.. bu şekilde yapılır, if ( !isTime(Period()*60) ) return(0); bu giriş herhangi bir zaman dilimi için geçerlidir..
fonksiyonda, başlangıç noktası her zaman geçerli saatin başlangıcıdır ( iTime(NULL,PEROD_H1,0) )
görevleriniz için farklı bir başlangıç noktasına ihtiyacınız olabilir.. örneğin ilk çalıştırmanın başlangıcından itibaren her 111 saniyede bir uyarının çıkmasını istiyorsanız bu fonksiyonun değiştirilmesi gerekiyor..
aşağıdakileri al
bool isTime (int startTime ,int sec ){bool res =false;staticdatetime time =0;double min =0;if(TimeCurrent()>= time ){
min =MathFloor( sec /60);if( min ==0) min =1.0;
time = startTime +(MathFloor(Minute()/ min )+1)* min *60;
res =true;}return( res );}
uyarının her 111 saniyede bir çıkması için aşağıdakiler yapılır
int startTime =0;int init (){
startTime =TimeCurrent();}int start (){if(! isTime (111))return(0);
Alert ("Прошло 111 или более секунд !");}
belirlemek için kullandığım özel bir durum olarak, son işlev çağrısından bu yana verilen saniye sayısı geçtiyse işlev true değerini döndürür.
güncel grafiğe yeni bir çubuk gelmiş olması.. bu şekilde yapılır, if ( !isTime(Period()*60) ) return(0); bu giriş herhangi bir zaman dilimi için geçerlidir..
fonksiyonda, başlangıç noktası her zaman geçerli saatin başlangıcıdır ( iTime(NULL,PEROD_H1,0) )
görevleriniz için farklı bir başlangıç noktasına ihtiyacınız olabilir.. örneğin ilk çalıştırmanın başlangıcından itibaren her 111 saniyede bir uyarının çıkmasını istiyorsanız bu fonksiyonun değiştirilmesi gerekiyor..
aşağıdakileri al
uyarının her 111 saniyede bir çıkması için aşağıdakiler yapılır
Teşekkür ederim, ama nasıl düzenleyeceğimi söyle: senaryo olarak mı yoksa danışman olarak mı?
Burada yanlış olan nedir ve nasıl uygulanabilir?
Evet, aslında, zaten uyguladınız), yalnızca son partiyi kabul edilebilir bir forma getirmek için kalır...
Burada yanlış olan nedir ve nasıl uygulanabilir?
koymayı unutmuşum; her satırın sonunda!!!
Lütfen bana grafikte jpeg göstermenin mümkün olup olmadığını söyler misiniz?
Gerçekte ne uygulamaya çalışıyorsun?
Parti otomatik hesaplama: Her 50 bakiye birimi için 0,01 Lot.Evet, aslında, zaten uyguladınız), yalnızca son partiyi kabul edilebilir bir forma getirmek için kalır...
Derlerken 5 hata verdi nedenini anlamadım.keekkenen yazdı >>
koymayı unutmuşum; her satırın sonunda!!!
Çok teşekkürler. kazanıldı.örneğin, işlev
belirlemek için kullandığım özel bir durum olarak, son işlev çağrısından bu yana verilen saniye sayısı geçtiyse işlev true değerini döndürür
güncel grafiğe yeni bir çubuk gelmiş olması.. bu şekilde yapılır, if ( !isTime(Period()*60) ) return(0); bu giriş herhangi bir zaman dilimi için geçerlidir..
fonksiyonda, başlangıç noktası her zaman geçerli saatin başlangıcıdır ( iTime(NULL,PEROD_H1,0) )
görevleriniz için farklı bir başlangıç noktasına ihtiyacınız olabilir.. örneğin ilk çalıştırmanın başlangıcından itibaren her 111 saniyede bir uyarının çıkmasını istiyorsanız bu fonksiyonun değiştirilmesi gerekiyor..
aşağıdakileri al
uyarının her 111 saniyede bir çıkması için aşağıdakiler yapılır
örneğin, işlev
belirlemek için kullandığım özel bir durum olarak, son işlev çağrısından bu yana verilen saniye sayısı geçtiyse işlev true değerini döndürür.
güncel grafiğe yeni bir çubuk gelmiş olması.. bu şekilde yapılır, if ( !isTime(Period()*60) ) return(0); bu giriş herhangi bir zaman dilimi için geçerlidir..
fonksiyonda, başlangıç noktası her zaman geçerli saatin başlangıcıdır ( iTime(NULL,PEROD_H1,0) )
görevleriniz için farklı bir başlangıç noktasına ihtiyacınız olabilir.. örneğin ilk çalıştırmanın başlangıcından itibaren her 111 saniyede bir uyarının çıkmasını istiyorsanız bu fonksiyonun değiştirilmesi gerekiyor..
aşağıdakileri al
uyarının her 111 saniyede bir çıkması için aşağıdakiler yapılır
Teşekkür ederim, ama nasıl düzenleyeceğimi söyle: senaryo olarak mı yoksa danışman olarak mı?
Söyleyin lütfen, bir piyasa emri için lot sayısını yenilerini açmadan artırmak mümkün müdür?