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

 
Tabi ki yapabilirsin!!!
 
Vladimirovits :
Görsel stüdyonun tüm projesi uzmanlar klasöründe var ... Derleme - bu bir .exe dosyası, değil mi?

hayır, derlenmiş kitaplık ExpertSample.dll dosyasıdır
 
Forexman77 :

Şablon ders kitabından alınmıştır. Şu anda hata işleme işlevlerinde özellikle güçlü değil.

Emirlerin açılışında RefreshRates() vardır; (dedikleri gibi, teklifler ve talepler piyasa bilgileri aracılığıyla değiştirilir)

Ve hata işleme işlevi:

sormak istedim. Buna 129 hatadan aşağıdaki satırı ekleyebilir miyim, örneğin bunun gibi?

129

ERR_INVALID_PRICE

Yanlış fiyat


Bu hatayı aldığınızda danışmanın mantığını yeniden gözden geçirmeniz gerekiyor. Peki, ticaret emrinde yanlış fiyatı gönderiyor. Hatalı bir takas talebiyle sunucuyu öldürmeye mi karar verdiniz?


Otomatik alım satım basitçe kapatılacak ve hepsi bu.

 
artmedia70 :

129

ERR_INVALID_PRICE

Yanlış fiyat


Bu hatayı aldığınızda danışmanın mantığını yeniden gözden geçirmeniz gerekiyor. Eh, ticaret emrinde yanlış fiyatı gönderiyor. Hatalı bir takas talebiyle sunucuyu öldürmeye mi karar verdiniz?


Otomatik alım satım basitçe kapatılacak ve hepsi bu.

Her şeye baktım. Belki danışman bir istek gönderdiğinde:

Ticket= OrderSend (Symb,OP_BUY,Lts,Ask, 2 ,SL,TP); //Открытие Buy
hangi fiyattan satın alacağını hatırlıyor mu?

Ve aşağıdakilere sahiptim:

 if   (iClose( Symbol (), Period (), 0 ) <= MA_6_t) 
          {                                          
          Opn_B= true ;                    
          }

yani, teklif MA'ya eşit veya daha düşükse, o zaman satın alırız. Alımlar talep üzerine yapılır, bu yüzden talebi yakalama oyunu ortaya çıkar.

Satışlarda sorun yoktu, sadece satın almalarda.

Bu konu hakkında bilgi bulundu:

"İstenen açılış fiyatı fiyat akışında değilse veya istenen fiyat ondalık basamak sayısına göre normalleştirilmediyse, 129 hatası (ERR_INVALID_PRICE) oluşturulur. Talep edilen açılış fiyatı çok eskiyse, o zaman ne olursa olsun kayma parametresinin değeri, hata 138 üretilecektir (ERR_REQUOTE) İstenen fiyat güncel değilse, ancak fiyat akışında hala mevcutsa, pozisyon cari fiyattan açılır ve sadece cari fiyat fiyat+ içine düşerse -kayma aralığı."

Sonuçta, teklif ve taleple ilgili değilse, anlaşmanın gerçekleşmesi gerekirdi. "İstenen fiyat güncel değilse, ancak fiyat akışında hala mevcutsa, o zaman pozisyon cari fiyattan açılır ve yalnızca mevcut fiyat fiyat+-kayma aralığına düşerse." Ticaret alanında vurgulu fiyat %100 idi. Kapanış hareketli ortalamanın oldukça altındaydı.

 

Guru'ya soru.

Göstergenin bazı alanlarda çizimi çalışmayacaktır. Göstergenin özü, hareket belirli bir değerden fazla değilse, MA_otshet'in kaydedilen değerinde olduğu gibi değer kalır.

Değer aşıldığında, değer mevcut ana karşılık gelir.

Açıklamaları ile gösterge kodu aşağıdadır:

 //+------------------------------------------------------------------+
//|                                                         EMAF.mq4 |
//|                                                 Kamil Gazizullin |
//|                                             forexman77@yandex.ru |
//+------------------------------------------------------------------+
#property copyright "Kamil Gazizullin"
#property link        "forexman77@yandex.ru"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Aqua 
//--- input parameters
//--- buffers
bool flag= true ;
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle( 0 , DRAW_LINE , 0 , 1 );
   SetIndexBuffer ( 0 ,ExtMapBuffer1);
   IndicatorDigits( Digits + 1 );
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----  
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
     int counted_bars=IndicatorCounted(),                      
    limit;
     double
    raznica,raznica_static,MA_1_t,MA_2_t;
    
   if (counted_bars> 0 )
      counted_bars--;
   limit= Bars -counted_bars;
   static double MA_otshet;   //здесь хранится информация по MA_otshet
   for ( int i= 0 ;i<limit;i++)
   {  
      MA_1_t= iMA ( NULL , 0 , 5 , 0 , MODE_EMA , PRICE_CLOSE ,i+ 0 );  
      MA_2_t= iMA ( NULL , 0 , 5 , 0 , MODE_EMA , PRICE_CLOSE ,i+ 1 ); 
      raznica=MA_1_t-MA_2_t; //разница между сегодня и вчера по скользящей средней
      raznica_static=MA_1_t-MA_otshet; //разница между сегодня и MA_otshet
      RefreshRates();   
       if (raznica > - 0.0035 && raznica < 0.0035 && flag) // если raznica не превышает заданное число 
          {
          MA_otshet=MA_2_t; // записываем значение MA_otshet
          ExtMapBuffer1[i]=MA_otshet; //рисуем значение индикатора, как и вчера
          flag= false ; // устанавливаем флаг запрета дальнейших расчетов
          }
       if (raznica_static > - 0.0035 && raznica_static < 0.0035 ) //если raznica_static не превышает заданное число
          {
          ExtMapBuffer1[i]=MA_otshet;   // то рисуем значение индикатора, как записанный MA_otshet
          }
       if ((raznica > 0.0035 ) || (raznica <- 0.0035 )) // если raznica превышает заданное число
          {
          ExtMapBuffer1[i]=MA_1_t; // то рисуем значение по текущей цене
          flag= true ; // разрешаем дальнейшие вычисления для расчета в диапазоне от -0.0035 до 0.0035
          }
   }  
   return ( 0 );
  }
//+------------------------------------------------------------------+

 
Forexman77 :

Göstergenin bazı alanlarda çizimi çalışmayacaktır. Göstergenin özü, hareket belirli bir değerden fazla değilse, MA_otshet'in kaydedilen değerinde olduğu gibi değer kalır.

Değer aşıldığında, değer mevcut ana karşılık gelir.

Açıklamaları ile gösterge kodu aşağıdadır:


DRAW_SECTION

 
Forexman77 :

Her şeye baktım. Belki danışman bir istek gönderdiğinde:

hangi fiyattan satın alacağını hatırlıyor mu?

Ve aşağıdakilere sahiptim:

yani, teklif MA'ya eşit veya daha düşükse, o zaman satın alırız. Alımlar talep üzerine yapılır, bu yüzden talebi yakalama oyunu ortaya çıkar.

Satışlarda sorun yoktu, sadece satın almalarda.

Bu konu hakkında bilgi bulundu:

"İstenen açılış fiyatı fiyat akışında değilse veya istenen fiyat ondalık basamak sayısına göre normalleştirilmediyse, 129 hatası (ERR_INVALID_PRICE) oluşturulur. Talep edilen açılış fiyatı çok eskiyse, o zaman ne olursa olsun kayma parametresinin değeri, hata 138 üretilecektir (ERR_REQUOTE) İstenen fiyat güncel değilse, ancak fiyat akışında hala mevcutsa, pozisyon cari fiyattan açılır ve sadece cari fiyat fiyat+ içine düşerse -kayma aralığı."

Sonuçta, teklif ve taleple ilgili değilse, anlaşmanın gerçekleşmesi gerekirdi. "İstenen fiyat güncel değilse, ancak fiyat akışında hala mevcutsa, o zaman pozisyon cari fiyattan açılır ve yalnızca mevcut fiyat fiyat+-kayma aralığına düşerse." Ticaret alanında vurgulu fiyat %100 idi. Kapanış hareketli ortalamanın oldukça altındaydı.

Ask'ın her zaman normalleştirildiği gerçeğinden yola çıkalım - bu fiyattır: hesaplanmamıştır ve normalleştirmenin bir anlamı yoktur.

Peki fiyat yanlış olabilir neden? Belki veriler eskidir? OrderSend() komutundan hemen önce RefreshRates()'i deneyin.

 
Selamlar, sevgili tüccarlar-programcılar!!!
AccountComany'nin anlamı nedir?
Adından belirli sonuçlar çıkarabilirsiniz, ancak bunun MT4 programlama dili ile nasıl bir ilgisi var ???

hesap kredisi?

Hesap Para Birimi?

Hesap Sermayesi?

HesapFreeMargin?

HesapSerbestMarjKontrol?

Hesap Kaldıraç?

HesapStopoutSeviyesi?

HesapStopoutModu?

ArrayArama ?

Her komutun ayrıntılı açıklamasını bilmekle çok ilgileniyorum. yardım etmenizi rica ediyorum.

 

dizi kopyası?

ArrayCopyRates?

ArrayCopySeries?

DiziBoyutu?

ArrayGetAsSeries ?

 

Dizi hızı nedir?