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

 
artem86 :

Lütfen otur! Belirli bir fiyata ulaşıldığında aynı sihirle bekleyen 5 emir nasıl kapatılır.

Şimdiden teşekkürler!


 if ( OrdersTotal ()> 0 )
{   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
   {   if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)==true)
      {   if ( OrderMagicNumber ()==magic_number)
         {   if ( OrderClose ( OrderTicket (),LOT, price , 3 )==true)
            {   Print ( "Error = " , GetLastError ()); return ( 0 );
}  }  }  }  }
Tüm bu siparişler satışa açıldıysa fiyat =Sor, satın alma fiyatı için ise =Teklif ver.
 
paladin80 :
Eğer emir satış için açılmışsa fiyat=Sor, satın almak isteyip istemediğini fiyat=Teklif ver.


yanlış, gerekir

 if ( OrdersTotal ()> 0 )
{   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
   {   if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)==true)
      {   if ( OrderMagicNumber ()==magic_number)
         {   if ( OrderDelete ( OrderTicket ())==true)
              {  
               Print ( "Error = " , GetLastError ()); return ( 0 );
              } 
         } 
      }  
   }  
}
 
r772ra :


yanlış, gerekir

Kahretsin, bekleyen emirlerin kapatılması gerektiğine dikkat etmedim, pozisyonları kapatmayı düşünüyordum.
 

Beyler - söyle bana, test cihazında ve daha sonra manuel de dahil olmak üzere bir ticaret hesabında işlem yaparken, mümkün olduğu ortaya çıkıyor , açılan pozisyonun hacmini NORMALİZE ETMEM , gerekli hacimle açılırken. Mesela ben market açıyorum. sipariş 0.1210 lot - 0.12 terminalde açılır - yani "ekstra" kesirli kısım varsayılan olarak atılır.

Söyle bana - bu, terminalin bir sonraki "yükseltilmesinin" bir özelliği mi, yoksa başlangıçta mümkün oldu.

Daha önce böyle bir hacim normalleştirme yapısı kullandım, baykuşlarımdan birinde bu anı kaçırdım ve siparişler açılmaya devam ediyor ve "Uzmanlar" sekmesinde, özellikle 0.121 lot açma için bir ön hacim verildi - Demodaki bir mikro hesapta test ediyorum.

Lot normalleştirme işlevi:

 //+------------------------------------------------------------------+
//| Нормализация лота                                                |
//+------------------------------------------------------------------+

double NormalizeLots( double lot)
{
   double lotStep = MarketInfo ( Symbol (), MODE_LOTSTEP);
   double lots = NormalizeDouble (lot / lotStep, 0 ) * lotStep;   
   lots = MathMax (lots, MarketInfo ( Symbol (), MODE_MINLOT));
   lots = MathMin (lots, MarketInfo ( Symbol (), MODE_MAXLOT));   
   return (lots);
}

Bunu Expert Advisor'dan çağırmak başlar:

 // ---------НОРМАЛИЗУЕМ НОВЫЕ РАСЧЕТНЫЕ ЛОТЫ И ОТКРЫВАЕМ ОЧЕРЕДНУЮ ПОЗИЦИЮ...            
                    Lots_New = NormalizeLots(Lots_New);
                     if (lastType == OP_SELL) WmOrderSend( Symbol (), OP_BUY, Lots_New, Ask, 0 , 0 , "итерация" , MagicNumber);
                     if (lastType == OP_BUY)  WmOrderSend( Symbol (), OP_SELL,Lots_New, Bid, 0 , 0 , "итерация" , MagicNumber);

Kimler biliyor - yorum yapın, lütfen ...

not Tekrar kontrol ettim - öyle bir durum var ki 0.1466 hacim ile açmaya çalıştığınızda 0.14 açılıyor yani. 2. ondalık basamağın sağındaki her şeyi atar.

Normalleştirme yapılırsa, 0.15 lotluk bir açılış olacak gibi görünüyor - yani. yuvarlama ile.

Kontrol etmek zorunda kalacak...

P.P.S. Her neyse: Kim bilir - yorum yapın, lütfen ...

 

lanet olsun görmezden gel.

 
YARDIM .. plz .. Danışmanı bir demo ve gerçek bir hesapta çalıştırıyorum, yazıyor: bir sonraki tik ile başlatılacak .. tikler geliyor, ancak "danışmanın ticaret yapmasına izin ver" onay kutusu olmasına rağmen başlamıyor açık, danışman açık, günlükte hata yok, İnternet çalışıyor ve diğer danışmanlar da çalışıyor. Aynı zamanda, bu danışman test cihazında düzgün çalışıyor. Yardımcı olursa: ekledikten sonra danışman açılmayı durdurdu bu makaleden ona filtreleme işlevi
 
sellena :
Yardımcı olursa: EA, bu makaleden filtreleme işlevini ekledikten sonra açılmayı durdurdu

Yardımcı olacaksa, buradaki işçilerden biriyle konuşun.
 
sergeev :

Yardımcı olacaksa, buradaki işçilerden biriyle konuşun.
Alex, zamanın varsa soruma bir bak... Teşekkürler.
 
Roman. :
Alex, zamanın varsa soruma bir bak... Teşekkürler.

Size bir şey söyleyebilirim - hizmetle zaten iletişime geçtim (farklı bir durumda) ve orada bana dediler ki: " Emin olmak istiyorsanız varsayılanları yemek, kendi filtrelerinizi ve işlemenizi kullanmak zararlıdır ." Yani sana kalmış...
 
Roman. :
Alex, zamanın varsa soruma bir bak... Teşekkürler.

SSS doğru. "Sessizliğe" güvenemezsiniz. Siparişi göndermeden önce normalleştirme yapmazsanız, 131 hatanın (yanlış parti) sıklıkla çıktığını hatırladığım için.
Belki şimdi MK, yürütme emri gönderirken sunucularda varsayılan lot kontrolünü zaten yapmıştır.

Bu nedenle, göndermeden önce daima fiyatların ve lotların normalizasyonunu kendiniz yapın.

Bu sizin için - iyi kodlama kuralları ve gelecekte potansiyel problemlerle daha az hemoroid garantisi.