[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 749

 
artmedia70 :
Akıllı geliştiriciler. Senaryoyu çağırmak mümkün olsaydı, içine bir fiş yüklerdim, - görünüşe göre imkansız, çünkü aynı anda bir sürü danışmana ihtiyaç yok ... Basit yollar görmeyeceğiz :)
 

Lord programcılar. Bana yardım eder misin.

girdi değişkenlerinden

extern bool UseHourTrade = True;
harici int FromHourTrade = 0;
extern int ToHourTrade = 23;

int start(){
if (UseHourTrade){
if (!(Hour()>=FromHourTrade && Hour()<=ToHourTrade)) {
Yorum ("Ticaret zamanı daha gelmedi!");
dönüş(0);
}
}

UseHourTrade2, FromHourTrade2, ToHourTrade2 diğer değişkenlerle alım satım yapılması gerektiğinde ikinci bir süre eklemek istiyorum.

Lütfen yardım et. lütfen bana başlatma işlevine ne eklenmesi gerektiğini söyleyin. Henüz hiçbir şey denemedim - işe yaramıyor.

Şimdiden teşekkürler. Boris.

 
cyclik33 :
 extern bool UseHourTrade = True,
            UseHourTrade2 = True;
 extern int FromHourTrade = 0,
            FromHourTrade2 = 0,
            ToHourTrade = 23,
            FromHourTrade2 = 23;

int start(){
   if (UseHourTrade){
   if (!(Hour()>=FromHourTrade && Hour()<=ToHourTrade)) {
 Comment ( "Time for trade has not come else!" );
 return ( 0 );
 }
   if (UseHourTrade2){
   if (!(Hour()>=FromHourTrade && Hour()<=FromHourTrade2)) {
 Comment ( "Time for trade has not come else!" );
 return ( 0 );
 }
 }

Böyle bir şey galiba.

PS "SRC" kod ekleme düğmesini kullanın, okunması uygun değildir.

 
Abzasc :

Böyle bir planın dondurulması.

Kodun en sonundaki gösterge, başka bir gösterge için bayrak görevi gören bir nesne oluşturur.

Nesneyi oluşturduktan sonra, göstergeyi 5 saniye boyunca "uykuya sokmak", ardından nesneyi silmek ve bir saniyeliğine uyku moduna geçirmek gerekir. 60'a kadar, bundan sonra son dönüşe gidecek ve yeni bir tik ile yeniden başlayacak.

öyle yapmaya çalışıyorum

Görünüşe göre süre bitene kadar askıda kalıyor.

İpliğin akıllı olduğunu söyleyin.


Mantık aşağıdaki gibidir - her iki gösterge de nesnenin adını ve bir ek nesne daha bilir

ilki bir nesne yaratır ve varsa, her zaman hiçbir şey yapmaz - başlangıcın en başında, bu çıkış koşulunu yazarız (dönüş;)

ikincisi nesneyi okur, kendi işini yapar ve ek bir nesneyi ortaya çıkarır.

birincisi, ana nesneyi görmeden, hiçbir şey yapmadan çıkar ve hemen ikincisini (ek nesne) bulur, nesnenin oluşturulduğu zamanı okur (ikinci hindi, oluşturma sırasında açıklamaya koyar), gerekli duraklamayı sayar (60 sn) ve siler, nesne yok - üzerinde çalışabilirsiniz....

 
Abzasc :
Göstergelerde çalışmaz. Bunu bu şekilde yapmanın nedenini anlamıyorum. Görünüşe göre, sürekli çalışan bir gösterge hipnotize etmeli :)

Bunun nedeni, göstergenin arayüz iş parçacığında çalışmasıdır, onu uykuya alamazsınız, çünkü onu “yavaşlatabilirseniz”, o anda terminaldeki herhangi bir düğmeye basmak mümkün olmazdı, örneğin, “ Yeni sipariş” veya siparişi kapatın, iyi, vb.
Bu konudaki bir başka incelik de testçi ile ilgilidir. Gerçek hayatta, Uzman Danışmanlar için ayrı ayrı oluşturulmuş birkaç iş parçacığı, bir arabirim iş parçacığı vardır (bu nedenle sonuçsuz olarak yavaşlatılabilir) ve test cihazında hepsi birimiz ve hepimiz birimiz için :)
Bu nedenle, test modunda Sleep() işlevi belirli bir şekilde çalışır. Test cihazının akışını uyku moduna geçirirseniz, sırasıyla her şey çalışmayı durduracak ve danışmanlar ve göstergeler ve elbette keneler de üretilecektir. Bu nedenle, fikrinizi doğru anlarsam, yalnızca bir demo üzerinde test edilebilir ve arayüz akışını yavaşlatmak istiyorsanız, örneğin şu işlevi kullanabilirsiniz:

 //+------------------------------------------------------------------+
//| MySleep function                                                 |
//+------------------------------------------------------------------+
void MySleep( int sec){
   int pause = TimeSeconds( TimeLocal ()) + sec;
   if (pause >= 60 )pause = pause - 60 ;
   while (TimeSeconds( TimeLocal ()) != pause){}
}
//+------------------------------------------------------------------+
 
xrust :


istenen duraklamayı geri sayar (60 sn)

Deneyebilirsin, ama asıl mesele nasıl duraklatılacağı ... Buna takıldım.
 

dikkatlice okuyun, her şeyi yazdım ve bir grafik nesnesi kullanmak hiç gerekli değil, kürelerle alabilirsiniz ....

 
ToLik_SRGV :

Bunun nedeni, göstergenin bir arayüz iş parçacığında çalışması, onu uyku moduna alamazsınız ...

İşte burada ... şimdi daha parlak, teşekkürler.


Lanet olsun, ne tür taşlar. Tek bir göstergeye koyamazsınız, uyku moduna geçiremezsiniz... Global değişkenlerle karıştırmaya çalışacağım.
 
xrust :

dikkatlice okuyun, her şeyi yazdım ve bir grafik nesnesi kullanmak hiç gerekli değil, kürelerle alabilirsiniz ....

Gelmiş gibi görünüyor. Ömür boyu silme de bir zamanlayıcıdır. Ama tekrar okuyacağım :)
 
Abzasc :

... Global değişkenleri karıştırmaya çalışacağım.

Ancak bu doğru, görünüşe göre Rustam da bunu ima etti, çünkü konuları askıya almak, tabiri caizse, yapmanız gereken en son şey, aşırı bir önlem ve sadece MQL'de değil, genel olarak tüm programlama dillerinde.