[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 398

 
DanLett :

onlar. mevcut bar[0] inşa edilirken, bir önceki belirleniyor


Peki, bir seçenek olarak:

 datetime last_time;   // глобальная переменная

...

int start()
{
   if (last_time != Time[ 0 ])
   {
       // Ура, новый бар!
      last_time = Time[ 0 ];       // запоминаем новый бар
       //... ваши расчеты с плюсованием
   }
   
... дальше работаем
 
7777877 :

Evet, teşekkürler, yardımcı oldu... Ama ObjectSet(object_name,OBJPROP_TIMEFRAMES,PERIOD_H1) seçeneğinin neden (olması gerektiği gibi) çalışmadığını anlamak istiyorum? Bu, dilin kendisinde bir aksaklık mı?

Fiili olarak, hem PERIOD_H1 hem de OBJ_PERIOD_H1 bazı sayısal değerlerin yalnızca gerçek yerine geçer.

OBJ_PERIOD_H1 = 0x0010 (bu yapı için) = 0001 0000 (ikili)

PERIOD_H1 = 60 (bu yapı için) = 0011 1100 (ikili)


Değiştirmek ne kadar kolay, yanlışlıkla bir zaman aralığı yerine sadece 4 tane değiştirdiniz - H4, H1, M30 ve M15


Ve (yapmak istediğiniz) ObjectSet(object_name,OBJPROP_TIMEFRAMES,0x0010) çağırmak yerine, bir arama yaptınız

Nesne Kümesi(nesne_adı,OBJPROP_TIMEFRAMES,0x3C)

 
datetime last_time;   // глобальная переменная

...

int start()
{
   if (last_time != Time[ 0 ])
   {
       // Ура, новый бар!
      last_time = Time[ 0 ];       // запоминаем новый бар
       if (close[ 1 ]>open[ 1 ]) 
xBost_b=xBost_b+((close[ 1 ]-low[ 1 ])* 10000 );
   }

Time[0] nedir ve 1 time plus'ı nasıl etkiler?! sadece anlamadım...

 
DanLett :

Time[0] nedir ve 1 time plus'ı nasıl etkiler?! sadece anlamadım...

Zaman[0] en son (geçerli) çubuğun açılış zamanıdır . Yeni bir bar gelir gelmez değişir.

Ayrıntılar için MetaEditor'a Zaman yazın ve F1'e basın

 
ilunga :

Zaman[0] en son (geçerli) çubuğun açılış zamanıdır. Yeni bir bar gelir gelmez değişir.

Ayrıntılar için MetaEditor'a Zaman yazın ve F1'e basın

Şimdi okuyacağım! çok teşekkürler!
 
DanLett :
Şimdi okuyacağım! çok teşekkürler!

O zaman iTime() 'a bakmayı unutmayın
 
   datetime last_time;   // глобальная переменная
   int xBost_b;
   int xBost_s;
double hi=High[ 1 ];
double op=Open[ 1 ];
double cl=Close[ 1 ];
double lo=Low[ 1 ];
int Sum_xb;
int Sum_xs;
 
 if (last_time != Time[ 0 ])
   {
       // Ура, новый бар!
      last_time = Time[ 0 ];       // запоминаем новый бар
       if (Close[ 1 ]>Open[ 1 ]) 
xBost_b=(hi-cl)* 10000 ;
Sum_xb=Sum_xb+xBost_b; <---------не плюсует,выдает такое же число как и xBost

       if (Close[ 1 ]<Open[ 1 ])
 xBost_s=(cl-lo)* 10000 ; 
Sum_xs=Sum_xs+xBost_s;    
Comment ( "\n kolvo_b=" ,xBost_b, "\n Sum_xb=" ,Sum_xb, "\n kolvo_s=" ,xBost_s, "\n Sum_xs=" ,Sum_xs);

   }
her seferinde nasıl oylama yapılır???
 
DanLett :
her seferinde nasıl oylama yapılır???
global değişkenler tüm fonksiyonların dışında olmalıdır. Oraya da para gönder. veya bu değişkenleri statik olarak bildirin
 
DanLett :
her seferinde nasıl oylama yapılır???
start() işlevinden last_time'ı çıkarın ve statik olarak bildirin
 
EA içindeki işlevin yalnızca açık fiyatlarla çalışmasını sağlamak için sentetik çubuklar ( https://www.mql5.com/ru/articles/1353 ) nasıl olur? Sıradan olanlarda, bu if (Time[0] == prevtime4) return;
prevtime4=Zaman[0]; ama synth barların zamanı yok.. teoride teklif açılış fiyatı ise buraya yazabilirsiniz ama nasıl yapılır xs.