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

 

iCustom() aracılığıyla çağrılan içinde kullanılan gösterge tamamen bir dll'ye aktarılırsa bir Expert Advisor'ın performansında artış elde etmek mümkün müdür? Böyle bir oyun muma değer mi? Bir dll her zaman bir göstergeden daha mı hızlıdır? Ve dll'de Close[] timeseries dizisiyle çalışmanın özellikleri nelerdir?


Evet, bir soru da ekleyeceğim: Bir dll'de IndicatorCounted() işlevi nasıl biçimlendirilir.

 
gyfto :

1. İçinde kullanılan iCustom() aracılığıyla çağrılan gösterge tamamen bir dll'ye aktarılırsa Expert Advisor'ın performansını artırmak mümkün müdür? Böyle bir oyun muma değer mi? Bir dll her zaman bir göstergeden daha mı hızlıdır? Ve dll'de Close[] timeseries dizisiyle çalışmanın özellikleri nelerdir?


2. Evet, bir soru da ekleyeceğim: Bir dll'de IndicatorCounted() işlevi nasıl biçimlendirilir.

İlginç konu. Ancak...

1. Bilmiyorum denemedim ama yine de çok şüpheliyim belki biraz artış olur. Gördüğüm kadarıyla, basitçe dll'ye aktarılan göstergeler çok hızlı çalışmadı, ancak gösterge kodunun optimizasyonu, mql'de çok iyi sonuçlar elde etmenizi sağlıyor.

2. Burada hile yapamazsınız, dll'deki tüm çubuğun mu yoksa yalnızca bir çubuğun mu yeniden hesaplanacağına karar vermek için IndicatorCounted(), Bars değerini geçmeniz gerekir. Önceden hesaplanmış olan Limiti IndicatorCounted() ve Bars yerine geçebilirsiniz.

Kesinlikle, eğer gösterge çok yavaşsa, bu da Expert Advisors'da kullanımı gerçekçi olmaktan çıkarıyorsa (test etmek mümkün olmayacaktır), o zaman onu bir dll'ye aktarmak yardımcı olmayacaktır.

 
gyfto :

1. İçinde kullanılan iCustom() aracılığıyla çağrılan gösterge tamamen bir dll'ye aktarılırsa bir Expert Advisor'ın performansını artırmak mümkün müdür? Böyle bir oyun muma değer mi? Bir dll her zaman bir göstergeden daha mı hızlıdır? Ve dll'de Close[] timeseries dizisiyle çalışmanın özellikleri nelerdir?
2. Evet, bir soru da ekleyeceğim: Bir dll'de IndicatorCounted() işlevi nasıl biçimlendirilir.

1. Tabii ki yapabilirsin ve yapmalısın. 20 kat daha hızlı hesaplama. C++ ve diğer normal dillerin uygun hata ayıklama ve sınırsız olanaklarından bahsetmiyorum.

2. Orada ona ihtiyaç yok.

 
Hat neden bozuluyor? BOŞ bir segmente ihtiyacım var. H1 için hata kodu (kendim görüyorum), ancak BOŞ nasıl düzeltilir???
SetIndexStyle( 0 ,EMPTY);
 
Hat neden bozuluyor? BOŞ bir segmente ihtiyacım var. kod (sayfa 427) H1 için bir hatayla (kendim görüyorum), ancak EMPTY nasıl düzeltilir???
SetIndexStyle( 0 ,EMPTY);
 
kopeyka :
Hat neden bozuluyor? BOŞ bir segmente ihtiyacım var. H1 için hata kodu (kendim görüyorum), ancak BOŞ nasıl düzeltilir???

init'te SetIndexEmptyValue () ayarlamayı deneyin, seçenekler: 0, EMPTY_VALUE

 
Integer :

init'te SetIndexEmptyValue() öğesini ayarlamayı deneyin, seçenekler: 0, EMPTY_VALUE


Teşekkürler ... Deneyeceğim))):
 
Integer :

...

1. Bilmiyorum, denemedim ...

Sınanmış. mql'de ve dll'de EMA.

01:46:19 1 EURUSD,M15: Uyarı: dll: 109
01:46:19 1 EURUSD,M15: Uyarı: 1
01:46:19 1 EURUSD,M15: Uyarı: mql: 109
01:46:19 1 EURUSD,M15: Uyarı: dll: 0
01:46:19 1 EURUSD,M15: Uyarı: 2
01:46:19 1 EURUSD,M15: Uyarı: mql: 156
01:46:20 1 EURUSD,M15: Uyarı: dll: 202
01:46:20 1 EURUSD,M15: Uyarı: 3
01:46:20 1 EURUSD,M15: Uyarı: mql: 172
01:46:20 1 EURUSD,M15: Uyarı: dll: 0
01:46:20 1 EURUSD,M15: Uyarı: 4
01:46:20 1 EURUSD,M15: Uyarı: mql: 172
01:46:20 1 EURUSD,M15: Uyarı: dll: 171
01:46:20 1 EURUSD,M15: Uyarı: 5
01:46:20 1 EURUSD,M15: Uyarı: mql: 78
01:46:20 1 EURUSD,M15: Uyarı: dll: 78
01:46:20 1 EURUSD,M15: Uyarı: 6
01:46:21 1 EURUSD,M15: Uyarı: mql: 202
01:46:21 1 EURUSD,M15: Uyarı: dll: 94
01:46:21 1 EURUSD,M15: Uyarı: 7
01:46:21 1 EURUSD,M15: Uyarı: mql: 172
01:46:21 1 EURUSD,M15: Uyarı: dll: 94
01:46:21 1 EURUSD,M15: Uyarı: 8
01:46:21 1 EURUSD,M15: Uyarı: mql: 234
01:46:21 1 EURUSD,M15: Uyarı: dll: 15
01:46:21 1 EURUSD,M15: Uyarı: 9
01:46:21 1 EURUSD,M15: Uyarı: mql: 78
01:46:22 1 EURUSD,M15: Uyarı: dll: 94
01:46:22 1 EURUSD,M15: Uyarı: 10
01:46:22 1 EURUSD,M15: Uyarı: mql: 172
01:46:22 1 EURUSD,M15: Uyarı: dll: 93
01:46:22 1 EURUSD,M15: Uyarı: 11
01:46:22 1 EURUSD,M15: Uyarı: mql: 93
01:46:22 1 EURUSD,M15: Uyarı: dll: 78
01:46:22 1 EURUSD,M15: Uyarı: 12
01:46:22 1 EURUSD,M15: Uyarı: mql: 78
01:46:22 1 EURUSD,M15: Uyarı: dll: 78
01:46:22 1 EURUSD,M15: Uyarı: 13
01:46:23 1 EURUSD,M15: Uyarı: mql: 250
01:46:23 1 EURUSD,M15: Uyarı: dll: 156
01:46:23 1 EURUSD,M15: Uyarı: 14
01:46:23 1 EURUSD,M15: Uyarı: mql: 187
01:46:23 1 EURUSD,M15: Uyarı: dll: 0
01:46:23 1 EURUSD,M15: Uyarı: 15
01:46:23 1 EURUSD,M15: Uyarı: mql: 78
01:46:23 1 EURUSD,M15: Uyarı: dll: 171
01:46:23 1 EURUSD,M15: Uyarı: 16
01:46:24 1 EURUSD,M15: Uyarı: mql: 266
01:46:24 1 EURUSD,M15: Uyarı: dll: 0
01:46:24 1 EURUSD,M15: Uyarı: 17
01:46:24 1 EURUSD,M15: Uyarı: mql: 93
01:46:24 1 EURUSD,M15: Uyarı: dll: 78
01:46:24 1 EURUSD,M15: Uyarı: 18
01:46:24 1 EURUSD,M15: Uyarı: mql: 94
01:46:24 1 EURUSD,M15: Uyarı: dll: 15
01:46:24 1 EURUSD,M15: Uyarı: 19
01:46:24 1 EURUSD,M15: Uyarı: mql: 94
01:46:24 1 EURUSD,M15: Uyarı: dll: 78
01:46:24 1 EURUSD,M15: Uyarı: 20
01:46:25 1 EURUSD,M15: Uyarı: mql: 234
01:46:25 1 EURUSD,M15: Uyarı: dll: 78
01:46:25 1 EURUSD,M15: Uyarı: 21
01:46:25 1 EURUSD,M15: Uyarı: mql: 156
01:46:25 1 EURUSD,M15: Uyarı: dll: 94
01:46:25 1 EURUSD,M15: Uyarı: 22
01:46:25 1 EURUSD,M15: Uyarı: mql: 94
01:46:25 1 EURUSD,M15: Uyarı: dll: 16
01:46:25 1 EURUSD,M15: Uyarı: 23
01:46:26 1 EURUSD,M15: Uyarı: mql: 93
01:46:26 1 EURUSD,M15: Uyarı: dll: 171
01:46:26 1 EURUSD,M15: Uyarı: 24
01:46:26 1 EURUSD,M15: Uyarı: mql: 171
01:46:26 1 EURUSD,M15: Uyarı: dll: 187
01:46:26 1 EURUSD,M15: Uyarı: 25
01:46:26 1 EURUSD,M15: Uyarı: mql: 156
01:46:26 1 EURUSD,M15: Uyarı: dll: 78
01:46:26 1 EURUSD,M15: Uyarı: 26
01:46:27 1 EURUSD,M15: Uyarı: mql: 62
01:46:27 1 EURUSD,M15: Uyarı: dll: 187
01:46:27 1 EURUSD,M15: Uyarı: 27
01:46:27 1 EURUSD,M15: Uyarı: mql: 78
01:46:27 1 EURUSD,M15: Uyarı: dll: 171
01:46:27 1 EURUSD,M15: Uyarı: 28
01:46:27 1 EURUSD,M15: Uyarı: mql: 93
01:46:27 1 EURUSD,M15: Uyarı: dll: 78
01:46:27 1 EURUSD,M15: Uyarı: 29
01:46:27 1 EURUSD,M15: Uyarı: mql: 172
01:46:28 1 EURUSD,M15: Uyarı: dll: 94
01:46:28 1 EURUSD,M15: Uyarı: Ortalama. mql: 140 dll: 91

Birkaç test:

Ortalama. mql:126 dll:116
Ortalama. mql:122 dll:86
Ortalama. mql: 167 dll: 91
Ortalama. mql:149 dll:82
Ortalama. mql: 140 dll: 91

Oldukça dikkat çekici. Hesaplamalar daha karmaşıksa, daha belirgin olacaktır.

 
SİPARİŞ BİLETİ ARACININ SUNUCUSUNDA DEPOLANIYORSA, SİHİR VE SİPARİŞ YORUMLARI NEREDE DEPOLANIR?
 

Güzel gün!!! Dizilerle ilgili bir şeyi yanlış anlamış gibiyim. Fonksiyon diziye kar katmaz!! Her koşulda sıfırdır. Sıfır ve hepsi!

İşlev.

/))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))


void Orderasthitaem()
{
int BUY= 0 ,SELL= 0 ,BUYLIMIT= 0 ,BUYSTOP= 0 ,SELLLIMIT= 0 ,SELLSTOP= 0 ;
double BUY_Profit= 0 ,SELL_Profit= 0 ;
       for ( int i= 0 ;i< OrdersTotal ();i++){
         OrderSelect (i, SELECT_BY_POS  ) ;  
         if (OrderSymbol()== Symbol () && OrderMagicNumber()==Magicnumber){            
         int type = OrderType();
         if (type == 0 ) {BUY++;BUY_Profit=BUY_Profit+OrderProfit();}
         if (type == 1 ) {SELL ++;SELL_Profit=SELL_Profit+OrderProfit();}
         if (type == 2 ) {BUYLIMIT++;}
         if (type == 3 ) {SELLLIMIT++;}
         if (type == 4 ) {BUYSTOP++;}
         if (type == 5 ) {SELLSTOP++;}}}
       
        Orderasthitaem[ 0 , 1 ]=BUY;Orderasthitaem[ 0 , 2 ]=BUY_Profit;
        Orderasthitaem[ 1 , 1 ]=SELL;Orderasthitaem[ 1 , 2 ]=SELL_Profit;
        Orderasthitaem[ 2 , 1 ]=BUYLIMIT;
        Orderasthitaem[ 3 , 1 ]=SELLLIMIT;
        Orderasthitaem[ 4 , 1 ]=BUYSTOP;
        Orderasthitaem[ 5 , 1 ]=SELLSTOP;
         
         
}        
    

//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

Tüm fonksiyonların dışında beyan

 double Orderasthitaem[ 6 , 2 ]; ArrayInitialize (Orderasthitaem, 0.0 );