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

 
Taras Slobodyanik :

Teşekkür ederim!

Bunu küstahlık olarak algılamayın ama sizden tüm açık pozisyonlar için toplam puan şeklinde bir sonuç fonksiyonu yapmanızı rica edebilir miyim? Emirlerle çalışmak için bir kütüphane kullanıyorum ve onsuz emirlerle işlem yapamıyorum :(

 

Selamlar.

Lütfen söyle bana:

SiparişGönder

tarih saat   son kullanma=0 ,         // sipariş son kullanma tarihi


Açıldıktan sonra, örneğin mevcut grafiğin 3 saat veya 3 mumundan sonra siparişin silinmesi nasıl belirlenir?

 
Andrey Sokolov :

Selamlar.

Lütfen söyle bana:

SiparişGönder

tarih saat   son kullanma=0 ,         // sipariş son kullanma tarihi


Açıldıktan sonra, örneğin mevcut grafiğin 3 saat veya 3 mumundan sonra siparişin silinmesi nasıl belirlenir?


Dönem()*3*60

Period() - periyottaki dakika sayısı

3- saymak ihtiyacın olan mumlar

60-kol. bir dakika içinde saniye

Ve olan her şey Zaman[0]'a eklenir

Bunun gibi bir şey.

 
Cпасиб
 
Alekseu Fedotov :


Dönem()*3*60

Period() - periyottaki dakika sayısı

3- saymak ihtiyacın olan mumlar

60-kol. bir dakika içinde saniye

Ve olan her şey Zaman[0]'a eklenir

Bunun gibi bir şey.

Period()*60 yerine istenilen zaman çerçevesi ile PeriodSeconds() yazmak uzun zamandır mümkün.

Toplamda, şöyle çıkıyor:

time_expiratonn=Sipariş Zamanı_setting+PeriodSeconds( PERIOD_CURRENT )*number_of_candles;

Veya mevcut dönem yerine, belirtilen zaman çerçevesinin gerekli sayıda mumunu kullanın: PeriodSeconds(PERIOD_M15)*3 - bu, on beş dakikalık üç mumun sipariş ömrüdür.

 
Andrey Sokolov :

Selamlar.

Lütfen söyle bana:

SiparişGönder

tarih saat   son kullanma=0 ,         // sipariş son kullanma tarihi


Açıldıktan sonra, örneğin mevcut grafiğin 3 saat veya 3 mumundan sonra siparişin silinmesi nasıl belirlenir?

genel olarak, hiçbir şekilde . Çünkü limitler bilinmiyor. Minimum süre var, maksimum var, sipariş türlerinde kısıtlamalar var. Müşteriye getirilmezler, bu nedenle kullanılamazlar.

açıkçası eylem, belirli DC'nin mevcut ruh haline bağlıdır. Yani siparişlerinizi kendiniz kontrol edin :-)

 
Artyom Trishkin :

Period()*60 yerine istenilen zaman çerçevesi ile PeriodSeconds() yazmak uzun zamandır mümkün.

Toplamda, şöyle çıkıyor:

time_expiratonn=Sipariş Zamanı_setting+PeriodSeconds( PERIOD_CURRENT )*number_of_candles;

Veya mevcut dönem yerine, belirtilen zaman çerçevesinin gerekli sayıda mumunu kullanın: PeriodSeconds(PERIOD_M15)*3 - bu, on beş dakikalık üç mumun sipariş ömrüdür.


Teşekkür ederim!
 

Konu defalarca tartışıldı ama açıklamanı rica edeceğim.


Kendim için bir gösterge yazmaya karar verdim, yaptım, m5'te başlattım, hatta çalışıyor ve bir şeyler gösteriyor.

Sorunlar, m5'e paralel olarak başka bir TF'den bir resim koymaya karar verdiğimde başladı.

tek bir pencerede aynı anda birkaç TF'den gelen verileri nasıl gösterebilirim?

 

Merhaba ...


OrderSelect() fonksiyonu emir verilerini program ortamına kopyalar... SELECT_BY_POS parametresini kullanarak sıralı olarak emir seçerken , bilgi işlem sunucusundan geldiği sıraya göre verilir... = Emirlerin sıralanabileceğini duydum ters sırada kim "çaydanlığa" bunun MQL4 kodunda nasıl görüntüleneceğini söyleyecek ...

 
Yaroslav Nykula :

Merhaba ...


OrderSelect() fonksiyonu emir verilerini program ortamına kopyalar... SELECT_BY_POS parametresini kullanarak sıralı olarakemir seçerken , bilgi işlem sunucusundan geldiği sıraya göre verilir... = Emirlerin sıralanabileceğini duydum ters sırada kim "çaydanlığa" bunun MQL4 kodunda nasıl görüntüleneceğini söyleyecek ...

Açıkken doğrudan arama

   for ( int i= 0 ; i< OrdersTotal (); i++) {
   if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) {

Kapalı üzerinden geriye doğru numaralandırma

 for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--) {
   if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )) {