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

 

Göstergeleri iCustom aracılığıyla çağırma hakkında bir sorum var.

1. iCustom'a iletilen parametreler listesinden bazı gösterge parametrelerini hariç tutmak mümkündür. Örneğin, bir dizi parametresini veya başka bir parametreyi iletmek istemiyorum. Bir EA'dan arama yaparken, giriş değiştiricili göstergenin harici parametresinin de iCustom'da belirtilmesi gerekiyor mu?

2. Göstergenin birçok parametresi varsa (yaklaşık yüz) en uygun çözüm nedir? Hazır bir çözüm var mı, böyle bir gösterge nasıl çağrılır?

Teşekkür ederim.

 

Fiyat MA'yı geçtiği anda danışmanın açık pozisyonları kapatması gerekir.

Lütfen bunun nasıl uygulanacağını tavsiye edin.

teşekkürler

 
RichLux :

Fiyat MA'yı geçtiği anda danışmanın açık pozisyonları kapatması gerekir.

Lütfen bunun nasıl uygulanacağını tavsiye edin.

teşekkürler

 void CheckForClose_MA()
  {
   double MA= iMA ( NULL , 0 , ma_period , ma_shift , MODE_SMMA , PRICE_MEDIAN , 0 );

   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
     {
       if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )== false )         break ;
         //---- check order type 
       if ( OrderType ()== OP_BUY )
        {
         if ( Low [ 1 ]>=MA) OrderClose ( OrderTicket (), OrderLots (), Bid , 3 ,White);
         break ;
        }
     }
//----


çift iMA (
    sicim         sembol , // sembol adı
    int    zaman aralığı , // zaman aralığı
    int    ma_period , // nokta
int            ma_shift , // ortalamanın kayması
int            ma_method , // ortalama alma yöntemi
int            application_price , // fiyat türü
int            vardiya               // vardiya
);

 

iCustom aracılığıyla Expert Advisor'a hangi parametrelerin iletildiğini bulma. iCustom'da belirtilen arabellekten yanlış bir değer alıyorum, iCustom çağrıldıktan sonra doğru verilerin göstergeye "ulaşıp ulaşmadığını" kontrol etmek istiyorum.

Nasıl hata ayıklayabilirsiniz?

 
Александр :

Bir fonksiyon var.


Herişlev çağrısı XX değişkenini değiştirir ve XX'nin harici olması gerekir (ihtiyacım olan mantığa göre), ancak her işlev çağrısı XX'nin 0'a eşit olmasıyla başlar ve buna göre geri dönüş(XX) değerini döndürür. T.E. XX değişkenini nasıl harici yapacağımı anlamıyorum ve işlev, yalıtılmış olarak "bağımsız" olarak adlandırılabilir. MQ4 aracılığıyla yapılır. Teşekkür ederim!


Birkaç kez okudum, ama hala neye ihtiyacın olduğunu anlamıyorum.

Belki bu:

 double XX = 0 ;


double x()
{
   double rez = XX;
   XX++;
   return rez;
}
 
Tüm çubukların grafiğe yüklendiğini nasıl belirleyebilirsiniz?
Bu, göstergenin yalnızca her şey tamamen yüklendiğinde yeniden hesaplanmasını sağlamak için gereklidir.

Koşul
 if (time[ 0 ] > TimeCurrent () - 60 * ChartPeriod ())
sorunu çözmeye yardımcı olmaz.
 

toplam çubuk sayısını hatırlayın ve kontrol edin, eğer birkaç saniye içinde değer "büyümezse", sonra "geldi"

ve sonra eğer yeniden hesaplayın

rates_total-prev_calculated > 1
 
Koldun Zloy :

Birkaç kez okudum, ama hala neye ihtiyacın olduğunu anlamıyorum.

Belki bu:

Bir işlevi var (Bu danışmanda bir gösterge, bu şekilde ihtiyacım var ve tartışılmaz, hindi ve yeni bir zirveden çalışmaya (saymaya) başlıyor ). Hindinin sürekli değişen birçok parametresi vardır. Çünkü Döngüden kaçınmak ve değerlerini kaybetmemek için bu parametreleri harici (harici fonksiyon için) yapmak istiyorum. Ve herhangi bir yeniişlev çağrısıyla, yalnızca gösterge değerinde bir değişiklik görüyorum. Ve eski "instance" çalışmaya devam ederken ve değerleri değiştirirken, türkiye'nin yeni tepeden yeni bir "örneğine" sahip olmam gerekiyor. Sınıflar, yapılar ve diğer kalıtım hakkında çok az bilgim olduğu için bunu standart MQ4 yöntemlerini kullanarak başarmak istiyorum. Teşekkür ederim!
 
Александр :
Bir işlevi var (Bu danışmanda bir gösterge, bu şekilde ihtiyacım var ve tartışılmaz, hindi ve yeni bir zirveden çalışmaya (saymaya) başlıyor ). Hindinin sürekli değişen birçok parametresi vardır. Çünkü Döngüden kaçınmak ve değerlerini kaybetmemek için bu parametreleri harici (harici fonksiyon için) yapmak istiyorum. Ve herhangi bir yeniişlev çağrısıyla, yalnızca gösterge değerinde bir değişiklik görüyorum. Ve eski "instance" çalışmaya devam ederken ve değerleri değiştirirken, türkiye'nin yeni tepeden yeni bir "örneğine" sahip olmam gerekiyor. Sınıflar, yapılar ve diğer kalıtım hakkında çok az bilgim olduğu için bunu standart MQ4 yöntemlerini kullanarak başarmak istiyorum. Teşekkür ederim!

Yardım etmedi.

Terimlerde kafanız karışmaması için muhtemelen dili öğrenmelisiniz.

Herkesin harici değişken dediğiniz şeyi, "bir işlevi bağımsız olarak çağırmanın" ne anlama geldiğini anladığını düşünmeyin.

Ve buradaki döngünün hangi tarafı, yine sadece sizin için açık olan nedenlerle kullanmak istemiyorsunuz.

Pekala, artık seni anlamayı ummuyorum.


 
//+------------------------------------------------------------------+
//|           Проверка нажатия клавиш на клавиатуре                  |
//+------------------------------------------------------------------+
void OnChartEvent ( const int id,
                   const long &lparam,
                   const double &dparam,
                   const string &sparam)
  {
//---
   if (id== CHARTEVENT_KEYDOWN )
     {
     Alert (lparam);
     }
   }

Bana kombinasyonu nasıl kontrol edeceğimi söyle, örneğin Shift + A !?