[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 250

 
Etkinleştirilmiş. Şu anda.
 
Abi geldi.
 
void IndicatorBuffers ( int sayısı)

Özel gösterge hesaplamaları için kullanılan arabellekler için bellek ayırır. Arabellek sayısı 8'i geçemez ve gösterge_buffers özelliğinde belirtilen değerden az olamaz. Özel bir gösterge, sayım için ek arabellek gerektiriyorsa, toplam arabellek sayısını belirtmek için bu işlevi kullanın.

Onlar. buna izin veriliyor mu?

 #özellik göstergesi_buffers 9

çift ind_buffer1[]; // Ek hesaplamalar için dizi
çift ind_buffer2[];
çift ind_buffer3[];
çift ind_buffer4[];
çift ind_buffer5[];
çift ind_buffer6[];
çift ind_buffer7[];
çift ind_buffer8[];
çift ind_buffer9[];   

SetIndexBuffer(0,ind_buffer2);
SetIndexBuffer(1,ind_buffer3);
SetIndexBuffer(2,ind_buffer4);
SetIndexBuffer(3,ind_buffer5);
SetIndexBuffer(4,ind_buffer6);
SetIndexBuffer(5,ind_buffer7);
SetIndexBuffer(6,ind_buffer8);
SetIndexBuffer(7,ind_buffer9);


 

Bir uzman nasıl yazılacağını kişisel olarak tavsiye edebilir mi? Özellikle: takip eden bir durma noktasına çift lot nasıl eklenir?

 
Leo59 :
void IndicatorBuffers ( int sayısı)

Özel gösterge hesaplamaları için kullanılan arabellekler için bellek ayırır. Arabellek sayısı 8'i geçemez ve gösterge_buffers özelliğinde belirtilen değerden az olamaz. Özel bir gösterge, sayım için ek arabellek gerektiriyorsa, toplam arabellek sayısını belirtmek için bu işlevi kullanın.

Onlar. buna izin var mı?...

Numara.
#özellik göstergesi_tamponları 9
"Arabellek sayısı 8'i aşamaz", hem #property gösterge_buffers hem de IndicatorBuffers için anahtar sözcüklerdir.
#property gösterge_buffers çizim arabelleklerinin sayısını belirtir, ardından GöstergeBuffers = #özellik göstergesi_buffers+hesaplama için çizim olmayan arabellek sayısı. Tüm arabellekler çiziliyorsa, GöstergeBuffers = #property gösterge_buffers. Bu durumda, IndicatorBuffers kullanımı isteğe bağlıdır.
 

Uzmanların yardımını rica ediyorum. Bu soruyu zaten burada birkaç kez sordum, mql5.com/ru/job adresinde iş verdim, şu anda çok zaman, para ve emek harcandı ama sonuç yok.. :(

Görevin amacı, fiyat aralığında bir emrin varlığını kontrol etmesi gereken bir fonksiyon yazmaktır.

Daha da kolayı - örneğin 0.9995 ile 1.0005 aralığında bir bay siparişi olup olmadığı sorusuna.

Burada çalışan bir çözüm göndermek, ... peki, örneğin, 15 dolar ...

MT4..

 
granit77 :
Numara.
#özellik göstergesi_buffers 9
"Arabellek sayısı 8'i aşamaz", hem #property gösterge_buffers hem de IndicatorBuffers için anahtar sözcüklerdir.
#property gösterge_buffers çizim arabelleklerinin sayısını belirtir, ardından GöstergeBuffers = #özellik göstergesi_buffers+hesaplama için çizim olmayan arabellek sayısı. Tüm arabellekler çiziliyorsa, GöstergeBuffers = #property gösterge_buffers. Bu durumda, IndicatorBuffers kullanımı isteğe bağlıdır.

Sevgili Granit77 ! Sakıncası yoksa, bir şeyler yanlışsa lütfen doğrudan kodda düzeltmeler yapın. Açık ve anlaşılır olacaktır.

 #özellik göstergesi_tamponları 8

çift ind_buffer1[]; // Ek hesaplamalar için dizi
çift ind_buffer2[];
çift ind_buffer3[];
çift ind_buffer4[];
çift ind_buffer5[];
çift ind_buffer6[];
çift ind_buffer7[];
çift ind_buffer8[];
çift ind_buffer9[];   

int init()
  {

Gösterge Tamponları(9);

SetIndexBuffer(0,ind_buffer2);
SetIndexBuffer(1,ind_buffer3);
SetIndexBuffer(2,ind_buffer4);
SetIndexBuffer(3,ind_buffer5);
SetIndexBuffer(4,ind_buffer6);
SetIndexBuffer(5,ind_buffer7);
SetIndexBuffer(6,ind_buffer8);
SetIndexBuffer(7,ind_buffer9);

   dönüş(0);
  }

 
w_ersoc :

Uzmanların yardımını rica ediyorum. Bu soruyu zaten burada birkaç kez sordum, mql5.com/ru/job adresinde iş verdim, şu anda çok zaman, para ve emek harcandı ama sonuç yok.. :(

Görevin amacı, fiyat aralığında bir emrin varlığını kontrol etmesi gereken bir fonksiyon yazmaktır.

Daha da kolayı - örneğin 0.9995 ile 1.0005 aralığında bir bay siparişi olup olmadığı sorusuna.

Burada çalışan bir çözüm göndermek, ... peki, örneğin, 15 dolar ...

MT4..

Seçilen emir tipi fonksiyona geçirilene eşitse, emir büyüsü Uzman Danışmanın büyüsüne eşitse, emir sembolü fonksiyona geçirilene eşitse, emir açılışı ise tüm açık pozisyonlar arasında döngü yapın. fiyat belirtilen aralığa düşerse (0.9995'e eşit veya daha büyük ve 1.0005'e eşit veya daha az), işlev true değerini döndürür, aksi takdirde false değerini döndürür.

Bu, eşleşen koşulları kontrol eden basit bir sipariş listesidir.

not. Kadına 15 dolara dondurma, çocuklara çiçek... ya da tam tersi... :)

 
artmedia70 :

Seçilen emir tipi fonksiyona geçirilene eşitse, emir büyüsü Uzman Danışmanın büyüsüne eşitse, emir sembolü fonksiyona geçirilene eşitse, emir açılışı ise tüm açık pozisyonlar arasında döngü yapın. fiyat belirtilen aralığa düşerse (0.9995'e eşit veya daha büyük ve 1.0005'e eşit veya daha az), işlev true değerini döndürür, aksi takdirde false değerini döndürür.

Bu, eşleşen koşulları kontrol eden basit bir sipariş listesidir.

not. Kadına 15 dolara dondurma, çocuklara çiçek... ya da tam tersi... :)

evet. her şey temeldir. ama çalışmıyor.

Tartışabilirsin, ama pek çok insan zaten bu çöpü söyledi, ama sonunda hiçbir şey ((

 
w_ersoc :

evet. her şey temeldir. ama çalışmıyor.

Tartışabilirsin, ama pek çok insan zaten bu çöpü söyledi, ama sonunda hiçbir şey ((


Hadi bakalım:

 //+------------------------------------------------------------------+
//|          Function  : GetOrdersInThePrice(min,max,&tickets[])bool |
//|          Copyright © 2012, XrustSolution.  mail:xrustx@gmail.com |
//|          https://www.youtube.com/user/opmlv http://forexrust.info |
//+------------------------------------------------------------------+
//|   Description: Пишет в массив тикеты ордеров с ценою открытия    |
//| между максимальной и минимальной ценой, если ордеров нет = false |
//+------------------------------------------------------------------+
bool GetOrdersInThePrice( double pr1, double pr2, int &tickets[]){ int i,ii; double min,max;
   min = MathMin (pr1,pr2);
   max = MathMax (pr1,pr2);
   ArrayResize (tickets, 100 );
   for (i= OrdersTotal ()- 1 ;i>= 0 ;i--){
       if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)){
         if ( OrderSymbol ()!= Symbol ()){ continue ;}
         if ( OrderOpenPrice ()>max){ continue ;}
         if ( OrderOpenPrice ()<min){ continue ;}
         tickets[ii] = OrderTicket ();
         ii++;
      }
   }
   if (ii< 1 ){ return (false);}
   ArrayResize (tickets,ii);
   return (true);
}