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

 

Güzel gün !

Sorun birdenbire ortaya çıktı, danışman çalıştı, herhangi bir sorun olmadı, ancak yeni bir işlev eklediğimde (sondaki durma), OrderSelect tüm danışmanımda çalışmayı durdurdu, 4051 hatası veriyor ERR_INVALID_FUNCTION_PARAMVALUE - Geçersiz değer fonksiyon parametresi. İlk başta anlamadım, bir yerde bir şeyi değiştirmiş olabileceğimi düşündüm, sondaki durağı kaldırdım, her şeyi olduğu gibi döndürdüm, ancak OrderSelect hala hata veriyor.

İşte her ihtimale karşı kod:

         for ( int i = OrdersTotal (); i > 0 ; i--)
           {
             if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ) == true )
              {
               if ( OrderType () == OP_SELL )
                 {
                   if (! OrderClose ( OrderTicket (), Lots, Ask , slippage, clrRed ))
                    { Print ("Error Order Close SELL = ", GetLastError ());}
                 }
              }
             else
              { Print ("Error order select, try order close SELL = ", GetLastError ());}
           }


 
Vitaliy Sendyaev :

Güzel gün !

Sorun birdenbire ortaya çıktı, danışman çalıştı, herhangi bir sorun olmadı, ancak yeni bir işlev eklediğimde (sondaki durma), OrderSelect tüm danışmanımda çalışmayı durdurdu, 4051 hatası veriyor ERR_INVALID_FUNCTION_PARAMVALUE - Geçersiz değer fonksiyon parametresi. İlk başta anlamadım, bir yerde bir şeyi değiştirmiş olabileceğimi düşündüm, sondaki durağı kaldırdım, her şeyi olduğu gibi döndürdüm, ancak OrderSelect hala hata veriyor.

İşte her ihtimale karşı kod:



Bu tam kod değil. Büyük ihtimalle bir yerde braket kaldırılmıştır.
 
Vitaliy Sendyaev : OrderSelect 4051 hatası veriyor ERR_INVALID_FUNCTION_PARAMVALUE - Geçersiz fonksiyon parametre değeri

İşte her ihtimale karşı kod: for(int i = OrdersTotal(); i > 0; i--)

need for (int i = OrdersTotal() -1 ; i >= 0; i--) siparişler sıfırdan numaralandırılır ve bu nedenle en büyük sayı, sayıdan 1 eksiktir

 
STARIJ :

need for (int i = OrdersTotal() -1 ; i >= 0; i--) siparişler sıfırdan numaralandırılır ve bu nedenle en büyük sayı, sayıdan 1 eksiktir

Aynen öyle! Ve fark etmedim ... Daha fazla uyuman gerekiyor


 
STARIJ :

need for (int i = OrdersTotal() -1 ; i >= 0; i--) siparişler sıfırdan numaralandırılır ve bu nedenle en büyük sayı, sayıdan 1 eksiktir


Teşekkür ederim !

 
Valerius :

Bu ciddi değil... Neden (giriş ve dış) o zaman gerekli ....

Ve ciddi olmayan ne? Kod dizisinde bir soru sordunuz ve uygun cevabı aldınız.
Peki, terminali yeniden başlatmayı düşünmediyseniz, o zaman zaten yanıtlandınız - servis masası.

 
Valerius : Örneğin bugün Expert Advisor'da ayarları yaparsam, ertesi gün bazı ayarlar boşsa ne yapmalıyım?

Nasıl yaptığını tahmin etmek zor. Danışmanın kodunu yazman çok yazık ve ben hepsini izleyemeyecek kadar tembelim. Farklı bir ad altında bir kopya oluşturun, parametreler ve boş OnTick (veya Başlat???) işlevi dışındaki her şeyi kaldırın. Etkisi devam ediyor mu? Alınan kodu göster

 
Vitaliy Sendyaev : Teşekkürler!

Yardımcı oldu mu? Daha önce nasıl çalışıyordu?

 

üzgünüm, anladım, ancak önceden tanımlanmış değişkenlerin değerlerini küresel ve aynı zamanda mevcutsa neden iletmek için hesaplamada açık değil

 
ijonhson :

Merhaba, bir göstergeye dayalı bir Uzman Danışman yapmak istiyorum, gösterge kodunu ontick'e kopyaladım, onCalculate işlevinden yeterli değişken yok, bunların hepsini copytime, copyhigh copylow vb. yoluyla almam gerekecek. Yoksa daha basit ve daha hızlı bir seçenek var mı?

kurtarmaya özel

iCustom - Технические индикаторы - Справочник MQL4
iCustom - Технические индикаторы - Справочник MQL4
  • docs.mql4.com
[in] input-параметры пользовательского индикатора, разделенные запятыми. Тип и порядок следования параметров должен соответствовать. Если параметры не указаны, то будут использованы значения по умолчанию.