Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 1155

 
igorbel :

input datetime test                                =0;

Derleme. 1970.01.01 sıfır tarihi ile, ayarlarda saati 00, 01 veya 02 olarak ayarlamak mümkün değildir.

Bu sayfada , giriş parametrelerine zaman girme örneği verilmiştir.

 
int     total= OrdersTotal ();      
for ( int i= 0 ;i<total;i++)
        {
         Print ( "i=" ,i);
         if (! OrderSelect (i, SELECT_BY_POS ))
           {
             Print ( "order not selected. Error=" , GetLastError ());
             continue ;
           }
         if ( OrderMagicNumber ()!=magic_number)
           {
             Print ( "magic number not correct." );
             continue ;
           }
         if ( OrderSymbol ()!= Symbol ())
           {
             Print ( "symbol not correct." );
             continue ;
           }
         if ( OrderType ()!= OP_SELL )
           {
             Print ( "order type not correct." );
             continue ;
           }
         if ( OrderCloseTime ()> 0 )
           {
             Print ( "order close time not correct." );
             continue ;
           }
         if (! OrderClose (ticket,lots,price,slippage,clrClose))
              {
               Print ( "order Sell with ticket=" ,ticket, ", was not closed. Error=" , GetLastError ());
              }
             else
              {               
               Print ( "order Sell with ticket=" ,ticket, ", was closed." );
              }
        }

OrderSelect() 'te neden 4051 hatası alıyorum? İlk açık emir doğru şekilde kapanır, ikinci emir seçilmez. Hata=4051. Toplam için doğru değer 2'dir.

 
igorbel :

OrderSelect()'te neden 4051 hatası alıyorum? İlk açık emir doğru şekilde kapanır, ikinci emir seçilmez. Hata=4051. Toplam için doğru değer 2'dir.

Silerken ve kapatırken döngü tersine çevrilmelidir:

 for ( int i=total- 1 ;i>= 0 ;i--)
 
igorbel :

Garip bir böcek.

Girişe ekliyoruz:

input datetime test                                =0;

Derleme. 1970.01.01 sıfır tarihi ile, ayarlarda saati 00, 01 veya 02 olarak ayarlamak mümkün değildir.

giriş değişkeni EA'da değiştirilemez
harici değişken - yapabilirsiniz

 
Taras Slobodyanik :

giriş değişkeni EA'da değiştirilemez
harici değişken - yapabilirsiniz


EA kodunda yok. Giriş parametreleri penceresinde, Uzman Danışmanı grafiğe eklediğinizde.

 
Artyom Trishkin :

Silerken ve kapatırken döngü tersine çevrilmelidir:


Teşekkür ederim

 

İyi günler, sizden aşağıdaki sorular için yardım etmenizi rica ediyorum (2):

1. Tarihe göre test sonuçlarını bir excel dosyasına kaydeden böyle bir danışman var mı? Örneğin, danışmanı test ettim ve danışmanın parametrelerini almak istiyorum, kar, işlem türü, sonuç, HAFTANIN GÜNLERİ vb.

Veya lütfen ayrıntılı bir analizin nasıl yapılacağına dair tavsiyelerde bulunun veya lütfen deneyiminizi paylaşın, danışmanları nasıl test edersiniz ve bunun bir değer veya tam bir g değerinde olduğunu anlarsınız.

2. Bir diziyi veya yapıyı bir işleve nasıl geçiririm? Onlar. Bir sürü değişkenim var, bu değişkenleri herhangi bir yapıya ekleyip fonksiyona geçiriyorum.

Sonra bu fonksiyonda bu yapıyı açıyorum ve ihtiyacım olan değişkenleri alıyorum. Bunu, değişkenlerin tüm değerlerini herhangi bir işleve "sürüklememek" için yapıyorum (kolaylık için).

Teşekkür ederim.

 
rabanik :

İyi günler, sizden aşağıdaki sorular için yardım etmenizi rica ediyorum (2):

1. Tarihe göre test sonuçlarını bir excel dosyasına kaydeden böyle bir danışman var mı? Örneğin, danışmanı test ettim ve danışmanın parametrelerini almak istiyorum, kar, işlem türü, sonuç, HAFTANIN GÜNLERİ vb.

Veya lütfen ayrıntılı bir analizin nasıl yapılacağına dair tavsiyelerde bulunun veya lütfen deneyiminizi paylaşın, danışmanları nasıl test edersiniz ve bunun bir değer veya tam bir g değerinde olduğunu anlarsınız.

2. Bir diziyi veya yapıyı bir işleve nasıl geçiririm? Onlar. Bir sürü değişkenim var, bu değişkenleri herhangi bir yapıya ekleyip fonksiyona geçiriyorum.

Sonra bu fonksiyonda bu yapıyı açıyorum ve ihtiyacım olan değişkenleri alıyorum. Bunu, değişkenlerin tüm değerlerini herhangi bir işleve "sürüklememek" için yapıyorum (kolaylık için).

Teşekkür ederim.

Cevap burada .

 //+------------------------------------------------------------------+
//| передача параметров по ссылке                                    |
//+------------------------------------------------------------------+
double SecondMethod( int &i, int &j)
  {
   double res;
//---
   i*= 2 ;
   j/= 2 ;
   res=i+j;
//---
   return (res);
  }
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   int a= 14 ,b= 8 ;
   Print ( "a и b перед вызовом:" ,a, " " ,b);
   double d=SecondMethod(a,b);
   Print ( "a и b после вызова:" ,a, " " ,b);
  }
//+------------------------------------------------------------------+
//--- результат выполнения скрипта
//  a и b перед вызовом: 14 8
//  a и b после вызова: 28 4
Передача параметров - Функции - Основы языка - Справочник MQL4
Передача параметров - Функции - Основы языка - Справочник MQL4
  • docs.mql4.com
Передача параметров - Функции - Основы языка - Справочник MQL4
 

Bayanlar ve Baylar!

neler olduğunu anlamama yardım et.

kullanılan switch(int err) ifadesi

mesajı noktalı virgül bekleniyor

int Hata Açıklaması()

{

Uyarı ("ErrorDescription'a yalvarın")


geçiş(hata)

{

durum 0: err="Hata yok"; kırmak;

durum 1: err="Hata yok, ancak sonuç bilinmiyor"; kırmak;

durum 2: err="Genel hata"; kırmak;

durum 3: err="Geçersiz parametreler";

Sorun nedir, noktalı virgülün nerede olması gerektiğini çözemiyorum? belirsiz...

 
buyanov :

Bayanlar ve Baylar!

neler olduğunu anlamama yardım et.

kullanılan switch(int err) ifadesi

mesajı noktalı virgül bekleniyor

int Hata Açıklaması()

{

Alert("ErrorDescription dileyin")


geçiş(hata)

{

durum 0: err="Hata yok"; kırmak;

durum 1: err="Hata yok, ancak sonuç bilinmiyor"; kırmak;

durum 2: err="Genel hata"; kırmak;

durum 3: err="Geçersiz parametreler";

Sorun nedir, noktalı virgülün nerede olması gerektiğini çözemiyorum? belirsiz...

Alert() 'a baktınız mı? Tam olarak nerede ";" ?

 int ErrorDescription()
  { 
   Alert ( "beg ErrorDescription" ) ;   // где у вас ";" ???
   switch (err)
   {    
       case 0 :   err= "Нет ошибок" ;                                                     break ;
       case 1 :   err= "Нет ошибки, но результат неизвестен" ;                             break ;
       case 2 :   err= "Общая ошибка" ;                                                   break ;
       case 3 :   err= "Неправильные параметры" ;        
Ve neden bir işlev saplaması veriyorsun?