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

 

bana bu tür çitleri meta alıntılarla nasıl tedavi edeceğimi söyle?)

 
Zhunko :
Mesajları kesmemiz gerekiyor.

Mesaj zaten yürütüldüyse, kuyruktan zaten kaldırılmıştır.

Öyleyse, bir sonraki sorum var.

 #property indicator_chart_window
bool First = true ;
int start(){
   if (First){
       int indexFirstLeftOnChart = WindowFirstVisibleBar(); //иницилизируем под флагом, потому что в init() могут быть артефакты
       Alert ( "indexFirstLeftOnChart " , indexFirstLeftOnChart);
      First = false ;
   }
   if (WindowFirstVisibleBar() != indexFirstLeftOnChart){ //проверяем на каждом тике, изменилось ли значение
       Alert ( "first indexFirstLeftOnChart " , indexFirstLeftOnChart);      
      indexFirstLeftOnChart = WindowFirstVisibleBar(); //если изменилось, записываем его
       Alert ( "second indexFirstLeftOnChart " , indexFirstLeftOnChart);
   }
   return ( 0 );
}

- ilk indexFirstLeftOnChart sıfır olduğu için her tikte bip sesi çıkarır. Nasıl başa çıkılır bununla? 509 oluşturun.

 
static bool First = true;
 
gyfto :

Mesaj zaten yürütüldüyse, kuyruktan zaten kaldırılmıştır.

Genellikle yürütmeden önce müdahale edin. Aksi takdirde, neden kesiştiği açık değil?
 
FAQ :
 static bool First = true ;


Zhunko :
Genellikle yürütmeden önce müdahale edin. Aksi takdirde, neden müdahale edileceği açık değil mi?


İcradan önce bir soru değil. Bu, AccountNumber() kontrolünün geçerlilik kontrolünü bir dll'ye aktarmanın bir anlamı olmadığı anlamına gelir. Dll'deki hesap numarasının zaten sabit kodlanmış olduğu varsayılmaktadır.

 
static int indexFirstLeftOnChart;
 

Basit bir anda bir şeyim var, smut. Sipariş aramak için bir fonksiyon var.

t - tüm siparişlerin sayacı.

p - bekleyen siparişlerin sayacı.

 //+-------------------------------------------------------------------------------------+
//| Поиск своих ордеров                                                                 |
//+-------------------------------------------------------------------------------------+
void FindOrders( int & t, int & p)
{
   int total = OrdersTotal () - 1 ;
   t = 0 ;
   p = 0 ;
   for ( int i=total; i>= 0 ; i--)
   {
       if (! OrderSelect (i,SELECT_BY_POS,MODE_TRADES)) continue ;
       if (OrderSymbol() != Symbol ()) continue ;
       if (OrderMagicNumber() != i_magic) continue ;
       if (OrderType() > 1 )
      {
          p++;
      }
      t++;
      pr ( "FindOrders(): " + "t = " + t + "   " + TimeToStr( TimeCurrent ()));
      pr ( "FindOrders(): " + "p = " + p + "   " + TimeToStr( TimeCurrent ()));
   }
}

Baştan sesleniyorum:

 int start()
{
   if (g_lastBarTime == Time[ 0 ])         // На текущем баре все необходимые действия..
       return ( 0 );                               // ..уже были выполнены
   
   int oTotal = 0 , oPending = 0 ;
   
   FindOrders(oTotal, oPending);
   
   int signal = GetGeneralSignal(oTotal);
   
   if (signal != SIGNAL_NO)
   {
       if (!Trade(signal))
       return ( 0 );
   }
   else

Aslında yazdırırken, sipariş olmadığında bile şunu görüyoruz (sipariş olmasa bile, olduğu gibi yazdırıyor...):

Bu böyle mi?

 
Herkese iyi akşamlar. Geçenlerde MQL4 dilinde uzmanlaşmaya karar verdim (Sergey Kovalev'in ders kitabından öğreniyorum). Bugün basit bir sipariş açma scripti oluşturmak adına pratik yapmaya karar verdim. Kod şöyle çıktı:
int başlangıç()
{
OrderSend("EURUSD",OP_BUY,0.1,Ask,3,Bid-15*Puan,Bid+15*Puan);
Uyarı( GetLastError() );

dönüş;

}

Komut dosyası çalışmadı ve 4109 hatası gösterdi (Ticaret yapılmasına izin verilmiyor). Durumu değiştirmeye çalışırken, 4016 (Başlatılmamış dizi) hatası da ortaya çıktı. Bu hataların nedeninin ne olduğunu ve bir anlaşma açmak için basit bir komut dosyasının nasıl oluşturulacağını bilmek istiyorum. İlgi uğruna, örneği https://book.mql4.com/ru/trading/ordersend öğreticisinden kopyaladım (yalnızca GetLastError işlevini ekleyerek) ve yine de 4109 hatası alıyorum.

 int start ()                                  // Спец. функция start()
  {                                          // Открытие BUY
   OrderSend ( Symbol () , OP_BUY , 0.1 , Ask , 3 , Bid - 15 * Point , Bid + 15 * Point ) ;
Alert(GetLastError());
   return ;                                   // Выход из start()
  }

Кто может объяснить в чем проблема, буду очень признателен. Заранее спасибо.
 
mevduat = tip 6
 
Lütfen söyleyin, yorumları varsayılan olarak sıraya nasıl ayarlayabilirim ???