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

 
MIKHAIL VINOGRADOV :

Selamlar!

CTrade.PositionCloseBy(ticket1,ticket2) aracılığıyla farklı lotların karşıt emirleri kapatılamaz.

ResultRetCode() - 10035 hatası verir.

Nedeni nedir önerebilir misiniz?

10035

TRADE_RETCODE_INVALID_ORDER

Geçersiz veya yasaklanmış sipariş türü


Orada ne yaptığınızı dikkatlice izleyin.

 

Doğru anlıyor muyum - SetIndexBuffer işlevi arabellek(ler)i belirli bir grafik yapıya bağlamak ve iCustom ARACILIĞIYLA ONLARA ERİŞİMİN NUMARALANDIRILMASI İÇİN gereklidir?

Yani örneğin, Yüksek fiyatlar için bir dizi oluşturursam, bunu SetIndexBuffer üzerinden bağlamadan ve ...

 #property indicator_buffers

... göz ardı edilebilir

Ek olarak, SetIndexBuffer aracılığıyla, yalnızca double türündeki dizileri bağlayabilirsiniz, ancak örneğin zaten datetime ve diğerleri - hayır


Sadece bu anı tam olarak anlamadım (veya anladım), ama şimdi düşünce geldi - açıklığa kavuşturmak istiyorum ...

 
Alexandr Sokolov :

Doğru anlıyor muyum - SetIndexBuffer işlevi arabellek(ler)i belirli bir grafik yapıya bağlamak ve iCustom ARACILIĞIYLA ONLARA ERİŞİMİN NUMARALANDIRILMASI İÇİN gereklidir?

Yani örneğin, Yüksek fiyatlar için bir dizi oluşturursam, bunu SetIndexBuffer üzerinden bağlamadan ve ...

... göz ardı edilebilir

Ek olarak, SetIndexBuffer aracılığıyla, yalnızca double türündeki dizileri bağlayabilirsiniz, ancak örneğin zaten datetime ve diğerleri - hayır


Sadece bu anı tam olarak anlamadım (veya anladım), ama şimdi düşünce geldi - açıklığa kavuşturmak istiyorum ...

Bağlama, yapıya değil, veri dizisine yöneliktir. O yüzden böyle çalışacağını düşünmüyorum. Kontrol etmemiş olmama rağmen.

Datetime tipine gelince, double olarak da yazılabilir ve okunurken type'ı uygulanmaya zorlayın.

 
Happy :

Günaydın.

Soru. Günlerin kavşağında test cihazında (ertesi günün çizgisi geçtiğinde), program bir gecikme ayarlayarak çalışmak zorunda kaldı. Halihazırda yerinde olan bekleyen bir beklemede ve fiyatı takıldı - açıldı, ancak başka bir bekleyen sipariş açma talimatı bir nedenden dolayı sistem tarafından yok sayıldı :( Neden? Gerçek bir hesapta bu, robotun talimatı olduğunda da olabilir. basitçe göz ardı edildi ve buna göre gerekli eylem gerçekleşmiyor mu?


Ve başka bir soru. Test cihazını sürüyorum, ancak görselleştirmede yaklaşık bir hafta sürmesi ve ardından yazıtın açılması gerçeğiyle çok kafam karıştı.

0:17:42.694 (toplam süre 0:17:48.217) içinde işlenen 177564 onay olayı (447 çubuk, 7888506 çubuk durumu)

0:17:42.694 (0:17:48.217 toplam süre) tarihinde işlenen 177564 onay olayı (447 çubuk, 7888506 çubuk)

Ben bile anlamadım, din neyi daha fazla test etmesine izin vermiyor? Yoksa bilgisayarımın kaynakları hakkında çok mu endişeli ve endişeli? Herhangi bir hata atılmıyor. Sadece işi kendisi tamamlıyor. Belirlediğim tarihler 7 gün değil 7 ay olmasına rağmen. Baştan sona testlerin tüm yolunu görmek istiyorum.

Ne tür bir din, örneğin bir yıl veya birkaç yıl görsel olarak test etmesine izin vermez? Ardından, örneğin bir önceki yıl boyunca programınızın nasıl işleyeceğini görsel olarak göreceksiniz.


Ve başka bir soru. (Muhtemelen cevapsız kalacak olsa da))) 2 tur için test cihazında test cihazının beklendiği gibi çalıştığı, ancak bu gün yukarıda belirtilen yazıttan hemen önce tüm talimatları görmezden gelmesi nasıl olabilir. Programın birkaç daire için doğru çalışması (siparişleri açtı ve ardından kapattı) ve sonra atlayıp her şeyi görmezden gelmesi nasıl mümkün olabilir. Ne açılır ne de kapanır. Test süresinin bitiminden mi kaynaklanıyor yoksa başka bir nedeni var mı?

 
fm sitesinin ana ekranındaki brent ve wti grafikleri, kişisel hesabınızdaki grafikten alıntılarda farklıdır. Düşüncesi olan var mı? Eminim ki grafik yönetimi özellikle "petrol" kategorisi fm'nin "mutfağı" içinde yer almaktadır. Açıklama yok. Kanıt aynı zamanda fotoğraftadır, kişisel hesabınızdaki fiyatlar gerçek fiyatlardan tam tersi şekilde farklıdır ve tüccar için her zaman olumsuzdur. Dolandırıcılık kokuyor...
 
Yevhenii Levchenko :

........... Ama belli bir noktada, kendi anlaşmasını mı kapattı, yoksa içeri girip kapatan biri mi olduğunu belirlemesi gerekiyor ....

Açıkça yazın, nasıl kaydolacağınızı veya bir danışmanı düzenlemeden kullanmayı mı soruyorsunuz?

 
4403 hatasını nasıl halledebilirim?
 

  • Merhaba!

    EA için A/D göstergesini kullanmak istedim, ancak saf haliyle değil, hareketli ortalamasında.

    Bu yüzden işlevleri yarattım:

    //+------------------------------------------- --------------------+

    //| A/D işlevi |

    //+------------------------------------------- --------------------+

    double A_D(ENUM_TIMEFRAMES tf, int shift)

    {

    çift res=0;



    res=iAD(NULL,tf, shift);



    dönüş res;





    }



    //+------------------------------------------- --------------------+

    //| A/D işlevi |

    //+------------------------------------------- --------------------+

    double A_D_moving(ENUM_TIMEFRAMES tf, int nokta)

    {

    çift res=0;

    çift a[];





    for(int i=dönem; i>=1; i--)

    {

    a[i]= A_D(tf, ben);

    }



    for(int i=dönem; i>=1; i--)

    {

    res=iMAOnArray(a,0,nokta,0,MODE_SMA,0);

          }



    dönüş res;





    }

    Ancak test sırasında, bu sürümde A_D_moving () öğesinin bir hatayla olduğu ortaya çıktı, çünkü. test başlatılırken kritik bir hata oluşur .

    Biri yardım edebilir mi lütfen:

    A_D_moving() işlevi ne kadar iyi yazılmış? Hatalar varsa lütfen belirtin...

    Teşekkür ederim!

     


 
AurelianoV :

Lütfen doğru kodu girin:


 
Artyom Trishkin :

Lütfen doğru kodu girin:


üzgünüm1

/+------------------------------------------------------------------+
//|  Функция A/D                       |
//+------------------------------------------------------------------+
double A_D( ENUM_TIMEFRAMES tf, int shift)
  {
   double res= 0 ;
   res= iAD ( NULL ,tf, shift);
   return res;
  }

//+------------------------------------------------------------------+
//|  Функция A/D                       |
//+------------------------------------------------------------------+
double A_D_moving( ENUM_TIMEFRAMES tf, int period)
  {
   double res= 0 ;
   double a[];
   
   for ( int i=period; i>= 1 ; i--)
     {
      a[i]= A_D(tf, i);
     }
   for ( int i=period; i>= 1 ; i--)
     {
      res=iMAOnArray(a, 0 ,period, 0 , MODE_SMA , 0 );
     }
   return res;
  }


aramak

Neden: