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

 
OrderOpenPrice() ile ilgili sorun nedir? ??? Bu basit bir normal fonksiyondur!! Siparişi önceden seçtim.
 
Afedersiniz, bu nedir? OrderClose gösteriş yaparken OrderSend işlevi benim için çalışıyor!
 
Dimka-novitsek :
Afedersiniz, bu nedir? OrderClose gösteriş yaparken OrderSend işlevi benim için çalışıyor!
total = OrdersTotal ();
   for (i=total- 1 ;i>= 0 ;i--)
    {
     OrderSelect (i, SELECT_BY_POS);
    type   = OrderType (); result = false;
     switch (type)
          { 
           case OP_BUY       : result = OrderClose ( OrderTicket (), OrderLots (), MarketInfo ( OrderSymbol (), MODE_BID), l_SlipPage, Red ); break ;
           case OP_SELL      : result = OrderClose ( OrderTicket (), OrderLots (), MarketInfo ( OrderSymbol (), MODE_ASK), l_SlipPage, Red ); break ; 
          }
     if (!result)
      {
      error =   GetLastError (); 
      errorcomment = "Неудалось закрыть ордер №" + OrderTicket () + " " + Symbol () + " " + OrderType () + " " + ErrorDescript(error); 
       Print (errorcomment);
      }  
    }
bu, tüm siparişlerin kapatılmasına bir örnektir, lütfen unutmayın ki alımlar ve köyler teklif ve taleplerle kapatılır ....
 
Teşekkür ederim!!
 
7777877 :

Önceki cevaplar için çok teşekkürler. Her şey çalışıyor ve neredeyse her şey açık ... Şimdi bu "neredeyse" hakkında.

1. Tam olarak hangi satırda (ekli dosyadaki göstergeye bakın) dizi verisi üzerinden hesaplanan Satırın İstemci Terminali penceresinde görüntülenmesi gerektiğini gösteriyor?

2. Tampon sayısı bir dize olarak bildirilebiliyorsa, IndicatorBuffers işlevine neden ihtiyacınız var (daha doğrusu, hangi durumlarda kullanmanız gerekiyor)

Yanıtınız için şimdiden teşekkür ederiz

 #property indicator_buffers 3                                            //объявляем количество буферов

bu satırla, terminalde görünen gösterge arabelleklerinin sayısını bildirirsiniz

   IndicatorBuffers ( 4 );                                                 //устанавливаем общее количество всех индикаторов, участвующих в расчете всех индикаторных линий

bu satırla, gösterge tarafından hesaplamalar için kullanılan toplam arabellek sayısını bildirirsiniz (3 görünür ve 1 gizli)

ek arabelleklere ihtiyacınız yoksa, bu satıra gerek yoktur

Arabellek sayısı 8'i geçemez ve gösterge_buffers özelliğinde belirtilen değerden az olamaz. İşte iyi bir örnek.


 
Günaydın! Söyleyin bana, alış ve teklif fiyatlarının gerçekten normalleştirilmesi gerekiyor mu?
 NormalizeDouble (Bid, Digits )
ve sonra bende
 for ( int i= 1 ; i<= OrdersTotal (); i++) {  
             if ( OrderSelect (i- 1 ,SELECT_BY_POS)==true) // Если есть следующий
        {                                       // Анализ ордеров:
         if ( OrderSymbol ()!= Symbol ( ) ) continue ;       // Не наш фин. инструм
         if ( OrderMagicNumber ( ) !=magicnumber) continue ;
         if ( OrderType ()== 0 ){ BUY++; ticket= OrderTicket ( ); Print ( "BUY++   " , BUY  , "  ticket " ,ticket);}
         if ( OrderType ()== 1 ) {SELL++;ticket= OrderTicket ( ); Print ( "SELL++   " , SELL  , "  ticket " ,ticket);}    } }
         
  
   if (strela1<strela2&&SELL== 0 &&BUY!= 0
  ){ udalenie ();
              
   OrderSend ( Symbol ( ), OP_BUY, lot, Ask, 3 * Point , NormalizeDouble ( Bid- (stoplos* Point ), Digits ),   NormalizeDouble ( Ask+( takeprofit* Point ), Digits ), NULL , magicnumber, 0 , CLR_NONE );           
       Print ( "strela1<strela2&&BUY==0&&SELL!=0 " , GetLastError ()); }
            
   if (strela1>strela2){ udalenie ();
                
   OrderSend ( Symbol ( ), OP_SELL, lot, Bid, 3 * Point , NormalizeDouble ( Ask+ (stoplos* Point ), Digits ),   NormalizeDouble ( Ask-( takeprofit* Point ), Digits ), NULL , magicnumber, 0 , CLR_NONE ) ; 
         Print ( "strela1>strela2&&SELL==0&&BUY!=0 " , GetLastError ()); }
      
     if (strela1<strela2&&BUY== 0 &&SELL== 0 ){    
            
           OrderSend ( Symbol ( ), OP_BUY, lot, Ask, 3 * Point , NormalizeDouble ( Bid- (stoplos* Point ), Digits ),   NormalizeDouble ( Ask+( takeprofit* Point ), Digits ), NULL , magicnumber, 0 , CLR_NONE );  
             Print ( "strela1>strela2&&BUY==0&&SELL==0   " , GetLastError ()  , "  Ask " ,Ask, "   stoplos= NormalizeDouble( Bid- (stoplos*Point),Digits)  " , NormalizeDouble ( Bid- (stoplos* Point ), Digits ),
"    takeprofit= NormalizeDouble( Ask+( takeprofit*Point),Digits) " , NormalizeDouble ( Ask+( takeprofit* Point ), Digits )); }
           
   if (strela1>strela2&&BUY== 0 &&SELL== 0 ){  

Böyle yemin eder 2012.11.01 11:31:00 EA AUDUSD,M15: strela1<strela2&&SELL==0&&BUY!=0 129

ERR_INVALID_PRICE 129 Geçersiz fiyat Yıllardır hiç olmadı!! Dün de yoktu.

 
Dimka-novitsek :
Günaydın! Söyleyin bana, alış ve teklif fiyatlarının gerçekten normalleştirilmesi gerekiyor mu? ve sonra bende

Böyle yemin eder 2012.11.01 11:31:00 EA AUDUSD,M15: strela1<strela2&&SELL==0&&BUY!=0 129

ERR_INVALID_PRICE 129 Geçersiz fiyat Yıllardır hiç olmadı!! Dün de yoktu.

Test cihazında gerekli değildir, ancak çevrimiçi olarak çalışmak istiyorsanız DC sunucusunun dikte ettiği her şeyi yapmanız gerekir.
 
Dimka-novitsek :
Günaydın! Söyleyin bana, alış ve teklif fiyatlarının gerçekten normalleştirilmesi gerekiyor mu? ve sonra bende

Böyle yemin eder 2012.11.01 11:31:00 EA AUDUSD,M15: strela1<strela2&&SELL==0&&BUY!=0 129

ERR_INVALID_PRICE 129 Geçersiz fiyat Yıllardır hiç olmadı!! Dün de yoktu.


Her zaman böyle değil...

"" Yanlış teklif veya satış fiyatı, muhtemelen normalleştirilmemiş bir fiyat. RefreshRates işlevini kullanarak verileri güncellemek ve tekrar denemek için 5 saniyelik bir gecikmeden sonra gereklidir. Hata devam ederse, tüm takas girişimlerini durdurun ve program mantığını değiştirin." "BELGELERDEN"

Demo veya gerçek ise, çalışmaz. Çok sık arka arkaya iki sipariş açmaya çalışıyorsunuz. Test cihazından geçecek. Açılış siparişleri arasında bir gecikme ayarlayın.

 

Teşekkürler!! Normalleşmeye girdim ... Ve ne oluyor !!!!!! Sadece kafam yanıyor .. Okul geometrisinden daha kolay görünüyor


 
Sepulca :


Her zaman böyle değil...

"" Yanlış teklif veya satış fiyatı, muhtemelen normalleştirilmemiş bir fiyat. RefreshRates işlevini kullanarak verileri güncellemek ve tekrar denemek için 5 saniyelik bir gecikmeden sonra gereklidir. Hata devam ederse, tüm takas girişimlerini durdurun ve program mantığını değiştirin." "BELGELERDEN"

Demo veya gerçek ise, çalışmaz. Çok sık arka arkaya iki sipariş açmaya çalışıyorsunuz. Test cihazından geçecek. Açılış siparişleri arasında bir gecikme ayarlayın.

"Her zaman değil" ne anlama geliyor? Kod EVRENSEL olmalıdır, yani. HERHANGİ BİR DC ile çalışın (tırnaklardaki karakter sayısından ve DC sunucusunun ticari emirlerin zamanında yürütülmesini reddetmek için her türlü hilesinden bağımsız olarak)!!!