[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 451

 
Vinin :

Neden Rus atasözü "büyük beyinler aynı düşünür"?
"aptalların düşünceleri birleşir" sözüne tekabül ediyor mu?

 
Vinin >> :

Muhtemelen bir siparişin önceden seçilmesi gerekiyor.

Evet bu anlaşılabilir, daha önce 445. sayfada yazılmıştı, sadece bir sorunum var


Gülünç bir sorunum var. Sipariş kapatma işlevinde hata.

OrserClose ( int tip ) {
if ( tip == 1 ) {
for ( i = 0 ; i < OrdersTotal ( ) ; i + + ) {
           if ( true = = OrderSelect ( i , SELECT_BY_POS , MODE_TRADES ) ) {
           if ( OrderType ( ) = = OP_BUY & & OrderSymbol ( ) = = Symbol ( ) & & OrderMagicNumber ( ) = = Magic ) {
           OrderClose ( OrderTicket ( ) , OrderLots ( ) , Bid , 3 , Violet ) ;
               }
           }
         }   
}

hata veriyor (ve farklı terminallerde)

EURCHF,M5: OrderClose hatası 4107

EURCHF,M5: OrderClose işlevi için geçersiz fiyat 1.48566000


eğer yapılırsa

 OrderClose ( OrderTicket ( ) , OrderLots ( ) , OrderClosePrice ( ) , 3 , Violet ) ;
 OrderClose ( OrderTicket ( ) , OrderLots ( ) , MarketInfo ( Symbol ( ) , MODE_BID ) , 3 , Violet ) ;

aynı hata. ama ayrıca OrderClose (..) 'yi ayrı bir fonksiyonda değil de int start()'ta yazdığımda böyle bir hata oluşmuyor.

sorun nedir ve nasıl tedavi edilir?



 
Urain писал(а) >>

Neden Rus atasözü "büyük beyinler aynı düşünür"?
"aptalların düşünceleri birleşir" sözüne tekabül ediyor mu?

bu yüzden şanslıyız

 
TG писал(а) >>

Evet bu anlaşılabilir, daha önce 445. sayfada yazılmıştı, sadece bir sorunum var

Gülünç bir sorunum var. Sipariş kapatma işlevinde hata.

hata veriyor (ve farklı terminallerde)

EURCHF,M5: OrderClose hatası 4107

EURCHF,M5: OrderClose işlevi için geçersiz fiyat 1.48566000

eğer yapılırsa

aynı hata. ama ayrıca OrderClose (..) 'yi ayrı bir fonksiyonda değil de int start()'ta yazdığımda böyle bir hata oluşmuyor.

sorun nedir ve nasıl tedavi edilir?

Bilmiyorum. Kapatmak için her zaman işlevimi kullanırım

Örnek olarak, bu

//+------------------------------------------------------------------+
//|                                         Функция закрытия ордеров |
//|                                Copyright © 2010, Victor Nicolaev |
//|                                            e-mail: vinin@mail.ru |
//+------------------------------------------------------------------+
//| void Order_Close(int lMagic, int lOP=-1);                        |
//+------------------------------------------------------------------+
void Order_Close ( int lMagic , int lOP = - 1 ) {
   bool res ;
   GetLastError ( ) ;
   for ( int i = OrdersTotal ( ) - 1 ;   i > = 0 ;   i - - ) {
       if ( ! OrderSelect ( i , SELECT_BY_POS , MODE_TRADES ) )    continue ;
       if ( OrderSymbol ( ) ! = Symbol ( ) )                      continue ;
       if ( OrderMagicNumber ( ) ! = lMagic )                    continue ;
       if ( OrderType ( ) ! = lOP & & lOP ! = - 1 )                      continue ;
      
       RefreshRates ( ) ;
       double _ask       = MarketInfo ( Symbol ( ) , MODE_ASK ) ;
       double   _bid     = MarketInfo ( Symbol ( ) , MODE_BID ) ;
       double   _point   = MarketInfo ( Symbol ( ) , MODE_POINT ) ;
       double   _digits   = MarketInfo ( Symbol ( ) , MODE_DIGITS ) ;

       double ClosePrice = NormalizeDouble ( iif ( OrderType ( ) = = OP_BUY , _bid , _ask ) , _digits ) ;
      res = OrderClose ( OrderTicket ( ) , OrderLots ( ) , ClosePrice , 3 , iif ( OrderType ( ) = = OP_BUY , clCloseBuy , clCloseSell ) ) ;
       if ( ! res ) {
         int err = GetLastError ( ) ;
         Print ( "Error(" , err , ") delete order " , NameOP [ lOP ] , ": " , ErrorDescription ( err ) ) ;
       }
   }
}

Kullanmak için daha fazla işleve ihtiyacınız var

 //+------------------------------------------------------------------+
//|                                    Функция логического сравнения |
//|                                Copyright © 2010, Victor Nicolaev |
//|                                            e-mail: vinin@mail.ru |
//+------------------------------------------------------------------+
//| double iif(bool A, double B, double C);                          |
//+------------------------------------------------------------------+
double iif ( bool A , double B , double C ) { if ( A ) return ( B ) ; return ( C ) ; }
 

Tarihteki delikleri kontrol etme sorunuyla başa çıkmaya yardımcı olun. Bana bir uzman için 4066 hatasını yakalamak için gerçekten çalışan bir mekanizma söyleyin.

Geçmiş verileri yükleme prosedürü üzerinde kesin bir kontrolün olmaması durumunda, bir Uzman Danışman kullanarak ticaret yapmak mantıklı değildir.

Sonuçta, bu tür ticaretteki risk, hangi ticaret stratejisini kullanırsanız kullanın, basitçe artı sonsuz olma eğilimindedir.


Kullanıcının böyle bir soruna kendisi ve tek bir yerden bir çözüm bulması gerektiğine çok şaşırdım.

Bu konuda geliştiriciden net bir desteğin olmamasının saf bir kurulum olduğunu düşünüyorum.

MetaQuotes'un standart sık sorulan sorular ve görevler için önerilen ve kanıtlanmış bir dizi çözüm yayınlayabileceğini düşünüyorum.

 
MoneyJinn писал(а) >>

MetaQuotes'un standart sık sorulan sorular ve görevler için önerilen ve kanıtlanmış bir dizi çözüm yayınlayabileceğini düşünüyorum.

Makale "Deliksiz grafikler". aniden yardım et... https://www.mql5.com/en/articles/1407

 

Konuya sadece kod değil, "herhangi bir soru" denir?

Bir sorum var daha doğrusu fikrini öğrenmek istiyorum sizce fiyat nereye hareket eder?



 
TG >> :

Konuya sadece kod değil, "herhangi bir soru" denir?

Bir sorum var daha doğrusu fikrini öğrenmek istiyorum sizce fiyat nereye hareket eder?

Bu yeni başlayanlar için bir soru değil :)

 
Bu sorunu çözmeye yardımcı olun.
Parti büyüklüğü fazlalığını birkaç siparişe bölen bir fonksiyon varsa lütfen paylaşın.

Teşekkür ederim.