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

 
splxgf писал(а) >>

Muhtemelen bunun gibi bir şey, aksi takdirde sonsuz döngüler modern donanımda çok uzun zaman alır.

:)

 
Rita >> :

Tünaydın.

Göstergede bir fonksiyon vardır IndicatorShortName("iC_C_mod, ..... ");

Ancak, bu yazıya ek olarak, gösterge penceresine dinamik olarak değişen bir değişkene sahip bir yorum ekleyebilmem gerekiyor.

f-ve Comment() yazın;

Ancak yalnızca, tam olarak gösterge penceresinde ve grafiğin kendisinde değil.

Lütfen. söylemek ?


 #property copyright "Copyright © 2009, :-)"
#property link      "----"

#property indicator_separate_window

int start ( )
{
   string info = "Bid= " + DoubleToStr ( Bid , 5 ) ;
   IndicatorShortName ( info ) ;
//----
   return ( 0 ) ;
}

bu yüzden ihtiyacınız olan pencerede görüntülenecektir

 
Rita >> :

Tünaydın.

Göstergede bir fonksiyon vardır IndicatorShortName("iC_C_mod, ..... ");

Ancak, bu yazıya ek olarak, gösterge penceresine dinamik olarak değişen bir değişkene sahip bir yorum ekleyebilmem gerekiyor.

f-ve Comment() yazın;

Ancak yalnızca, tam olarak gösterge penceresinde ve grafiğin kendisinde değil.

Lütfen. söylemek ?


Bir etiket oluşturabilir ve metni değiştirebilirsiniz.


   string ID  = "MyLabelName" ;


   if ( ObjectCreate ( ID , OBJ_LABEL , 0 , 20 , 20 ) )
     {
       ObjectSet ( ID , OBJPROP_XDISTANCE , 35 ) ;
       ObjectSet ( ID , OBJPROP_YDISTANCE , 35 ) ;
     }
 
   //отображение на экране значения переменной txt 
   string txt = "Belissimo" ;
   ObjectSetText ( ID , txt , 18 , "Arial Black" , Green ) ;
Kod yanlış olabilir ama işe yarıyor.
 
görmezden gelme
 
Teşekkürler xeon ve splxgf !
 
Arkadaşlar, iyi günler.

Bu konuda sizden haber almak ilginç olacak:

Diğer birçok finansal aracın bir döviz çiftinin fiyatını etkilediğine dair bir görüş var:
önde gelen hisse senedi endekslerinin, vadeli işlemlerin, opsiyonların vb. hareketi


1) Sizce bu etki takip edilebilir mi?
(ve buna göre, bir ticaret stratejisinde yapıcı olarak kullanılır)???

2) İlgili döviz çiftleri ile diğer finansal araçların fiyatları arasında herhangi bir istikrarlı korelasyon fark ettiniz mi?

3) Bu tür korelasyonları göstermenize izin veren göstergeler kullandınız mı?


(Bu forumun aynı isimli tematik başlığına yorumlarınızı bekliyorum: https://forum.mql4.com/en/28930 )

 

splxgf писал

void CheckSell()
{
if ((NormalizeDouble(Price,Digits) < NormalizeDouble(MA10,Digits)))
Sell();
}

Muhtemelen bunun gibi bir şey, aksi takdirde sonsuz döngüler modern donanımda çok uzun zaman alır.


Ancak daha sonra program durumu kontrol edecek ve karşılanırsa satacaktır. Ve değilse, ne yapacak? Planlandığı gibi, kodun bu özel yerinde koşulun yerine getirilmesini beklemelidir.



Vinin yazdı


Neden bir döngü yaptın? Herhangi bir koşul yoksa, o zaman sadece çıkmanız ve sinyalin ne zaman göründüğünü kimin bildiğini beklememeniz gerekir.

Bu yüzden bir döngü yaptım, kodun bu yerinde, programın koşulun karşılanması için beklemesi gerekiyor. Başlangıca gidemezsiniz. Bir koşul bekleme döngüsü nasıl düzgün bir şekilde uygulanır?


Ve işte tasarımım:

void CheckSell()
{
while(!(NormalizeDouble(Price,Digits) < NormalizeDouble(MA10,Digits)))
{
Sleep(5);
RefreshRates();
}
Sell();
}


- çalışıyor mu ve sadece bir test cihazını kilitliyor mu? Yoksa hiç çalışmıyor mu? Verilen fonksiyondan ayrılmadan koşulun yerine getirilmesi için nasıl düzgün bir şekilde bekleneceğini gerçekten anlamak istiyorum.


Cevaplar için teşekkürler!

 
Jahspear >> :


Ancak daha sonra program durumu kontrol edecek ve karşılanırsa satacaktır. Ve değilse, ne yapacak? Planlandığı gibi, kodun bu özel yerinde koşulun yerine getirilmesini beklemelidir.


Bu yüzden bir döngü yaptım, kodun bu yerinde, programın koşulun karşılanması için beklemesi gerekiyor. Başlangıca gidemezsiniz. Bir koşul bekleme döngüsü nasıl düzgün bir şekilde uygulanır?


- çalışıyor mu ve sadece bir test cihazını kilitliyor mu? Yoksa hiç çalışmıyor mu? Verilen fonksiyondan ayrılmadan koşulun yerine getirilmesi için nasıl düzgün bir şekilde bekleneceğini gerçekten anlamak istiyorum.

Program büyük ihtimalle çalışıyordur ancak fonksiyondan çıkmadan durumu beklemek yanlış olur, en azından test eden kişi işlem tamamlanana kadar kesinlikle yeni bir onay işareti vermeyecektir.

Koşul sağlanmazsa, programı sonlandırmanız ve kontrolü test cihazına vermeniz gerekir. Eskiden programlar doğrusaldı ve buna göre kendileri döngüler halinde gittiler ve yukarıdan sinyaller beklediler. Artık programlar olay güdümlü, bir olay meydana geldi, örneğin, yeni bir onay geldi ve bu olayın başlatıcısı () için işleyici, yeni onay işaretini işlemek için gerekli tüm çalışma tamamlandıktan sonra çağrılır, işlev sona ermelidir, ve kendi başına bir gönderici oluşturmaz.

start () daki koşulu doğru kontrol edin, koşul geldi, işimizi yapıyoruz, hayır, işi tamamlıyoruz ve bir sonraki kene için bekliyoruz. Bunun altında zaten mantığımızı ayarlıyoruz.

 

Başka bir soru var.

Gösterge, iki döviz çiftinin MA satırlarını ayrı bir pencerede görüntüler. İyi çalışıyor.

Ancak koda bir koşul eklediğimde:

" Enstrümanlardan birinde bir çubuk eksikse, ikinci enstrümanda bulunan aynı çubuğu atlarız (dikkate almayın )", şöyle:

 int start ( )
  {
     int limit ;
     int counted_bars = IndicatorCounted ( ) ;
  //---- проверка на возможные ошибки
     if ( counted_bars < 0 ) return ( - 1 ) ;
  //---- последний посчитанный бар будет пересчитан
     if ( counted_bars > 0 ) counted_bars - = 10 ;
     limit = Bars - counted_bars ;
  //---- основной цикл
ВОТ Я СТАВЛЮ ЭТО УСЛОВИЕ  :
    for ( k = 0 ; k < iBars ( Symbol_1 , Period ( ) ) ; k + + )   {  
    int symb2Shift = iBarShift ( Symbol_2 , Period ( ) , iTime ( Symbol_1 , Period ( ) , k ) , true ) ;
    if ( symb2Shift ! = - 1 )                            { 
//---------------------------------
    for ( k = 0 ; k < limit ; k + + )
       {
       Symbol1 [ k ] =     ( iMA ( Symbol_1 , . . . . . k )  ;
       Symbol2 [ k ] =     ( iMA ( Symbol_2 , . . . . . k )  ;           
       } 
                        }
                       }
//----
    return ( 0 ) ;
  }

sonra MT4 bir buçuk - iki dakika kilitleniyor. Sonra hindi çalışmaya başlıyor ama aynı zamanda yüzde 35-45 tüketiyor. rasgele erişim belleği...

Buradaki sebep ne olabilir. söylemek ?

 

Tünaydın!

Lütfen bana belirli bir çubuğu vurgulayacak basit bir göstergeyi nasıl yazacağımı söyleyin (seçeneklerde ayarlanmalıdır), örneğin 12.30'da dikey bir çizgiyle ve grafikte haftanın günlerini nasıl imzalayacağımı (örneğin, en yüksek seviyenin üzerinde bir yerde) her gün)?

Teşekkür ederim!