Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 144

 
DC2008 :

Dikkatlice okuyoruz:

Geri dönüş değeri

İşlev, dizinin seriliğini dikkate alarak bulunan öğenin dizinini döndürür. Başarısız olduğunda, işlev -1 değerini döndürür.

bu yüzden bunu yapmanız gerekir:

1. Doğru anlamadıysam beni düzeltin.

Aralıkta bulunan tüm minimumlar:

 double Low[];
CopyLow ( _Symbol , _Period ,tss,tspp,Low);

Minimumlu bir dizi olduğundan, zaman aralığını ( tss,tspp) listelemeden diziden yalnızca minimumu aramak için ArrayMinimum işlevini kullanırız.

 double min= Low[ ArrayMinimum (Low)];  
Alert ( "min=" ,min);

2. Komut dosyasında kod bir işleve yerleştirilir:

 void OnDeinit ( const int reason)

tüm zaman parametreleri doğru bir şekilde görüntüleniyor, ancak min=0.0 değişkeni, açık artırma yapılırken belirtilen sürenin minimumunu göstermesine rağmen. Sıkıntı ne olabilir?

 
forexman77 :

1. Doğru anlamadıysam beni düzeltin.

Aralıkta bulunan tüm minimumlar:

Minimumlu bir dizi olduğundan, zaman aralığını ( tss,tspp) listelemeden diziden yalnızca minimumu aramak için ArrayMinimum işlevini kullanırız.

2. Komut dosyasında kod bir işleve yerleştirilir:

tüm zaman parametreleri doğru bir şekilde görüntüleniyor, ancak min=0.0 değişkeni, açık artırma yapılırken belirtilen sürenin minimumunu göstermesine rağmen. Sıkıntı ne olabilir?

Değişken kapsamında . Küresel yap.
Документация по MQL5: Основы языка / Переменные / Локальные переменные
Документация по MQL5: Основы языка / Переменные / Локальные переменные
  • www.mql5.com
Основы языка / Переменные / Локальные переменные - Документация по MQL5
 
zfs :
Değişken kapsamında . Küresel yap.
Değişken "double min;" taşındı yine de globale =0.0
 
forexman77 :
Değişken "double min;" taşındı yine de globale =0.0

komut dosyası :

 void OnStart ()
  {
   double Low[];
   CopyLow ( _Symbol , _Period , 0 , 10 ,Low);
   double min=Low[ ArrayMinimum (Low)];
   Alert ( "min=" ,min);
  }
Betiklerde OnInit ve OnDeinit yoktur.
 

https://www.mql5.com/en/docs/constants/chartconstants/charts_samples belgelerinde bir hata var

int ChartFirstVisibleBar( const   longchart_ID =0)
{
//--- değişkeni özellik değerini alacak şekilde hazırla
    uzun sonuç=-1;
//--- hata değerini sıfırla
    resetLastError ();
//--- özellik değerini al
    if (! ChartGetInteger (chart_ID, CHART_WINDOW_YD) ISTANCE ,0,result)) burada olmalı CHART_FIRST_VISIBLE_BAR
{
       //--- "Uzmanlar" günlüğüne bir hata mesajı çıktısı
       Yazdır ( __FUNCTION__ + ", Hata Kodu = " , GetLastError ());
}
//--- chart özelliğinin değerini döndür
    dönüş (( int )sonucu);
}

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Примеры работы с графиком - Документация по MQL5
 
DC2008 :

komut dosyası :

Betiklerde OnInit ve OnDeinit yoktur.

Çok teşekkürler!!!

hepsini aldım!!

 

lütfen bana danışmanı korumak ve süreyi sınırlamak için hangi programları kullanacağımı söyleyin, örneğin danışmanı yalnızca 5 gün çalışabilmesi için derlemeden korumam gerekiyor.

Danışmanı diğer insanlara test için vermek için danışmanın çalışma süresini sürekli olarak sınırlayabileceğim bir programa ihtiyacım var.

 

Expert Advisor'ı test ederken aşağıdaki zorlukla karşılaştım.

EA, aşağıdaki durumlarda (gerektiğinde) ticaret yapmaz:

 if (Stop <=Start) { return ;}

Test ederken, Durdurma parametrelerini 1'den 33'e, Başlangıç'tan 1'den 33'e ayarladım.

Doğal olarak, test cihazında yineleme yapıldığında Dur > Başlat olduğundan, test cihazı sıfır sonuçların yaklaşık 2/3'ünü görüntüler.

Bu boş testler için çok zaman alır.

Sonraki soru, EA kodunda boş testlerin test edilmesinin nasıl devre dışı bırakılacağıdır?

Mantıken, yasaktan sonraki test süresi azaltılmalı mı?

 
forexman77 :

Expert Advisor'ı test ederken aşağıdaki zorlukla karşılaştım.

EA, (gerektiğinde) aşağıdaki durumlarda ticaret yapmaz:

Test ederken, Durdurma parametrelerini 1'den 33'e, Başlangıç'tan 1'den 33'e ayarladım.

Doğal olarak, test cihazında yineleme yapıldığında Dur > Başlat olduğundan, test cihazı sıfır sonuçların yaklaşık 2/3'ünü görüntüler.

Bu boş testler için çok zaman alır.

Sonraki soru, EA kodunda boş testlerin test edilmesinin nasıl devre dışı bırakılacağıdır.

https://www.mql5.com/en/docs/common/expertremove

test cihazında çalışır. // en azından derlemede sondan önce çalıştı. uzun zamandır kontrol etmemiştim.

Документация по MQL5: Общие функции / ExpertRemove
Документация по MQL5: Общие функции / ExpertRemove
  • www.mql5.com
Общие функции / ExpertRemove - Документация по MQL5
 
MetaDriver :

https://www.mql5.com/en/docs/common/expertremove

test cihazında çalışır. // en azından derlemede sondan önce çalıştı. uzun zamandır kontrol etmemiştim.

Test geçişine ihtiyacım var. EA, aşağıdaki durumlarda ticaret yapmaz:

 if (Stop <=Start) { return ;}

Test süresini azaltmak için yapmak istediğim şey bu.

Belki de test cihazının giriş parametrelerini danışmanla aynı şekilde ayarlaması için özel bir işlev vardır ?

Durdur <=Başla ise bu geçişi atlarız.