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

 
Mr.Profit :

Tünaydın!

Bir Uzman Danışmanı düzenlemeye çalışırken "MetaEditor bulunamadı" ile nasıl başa çıkılır? MetaTrader 600 inşa etti.

Eski yapılarda böyle bir komisyon hatırlamıyorum ...

Bunun nedeni, bunun gözlemlendiği bilgisayarın oldukça düşük güçlü olması ve sürekli olarak %50-75 oranında yüklenmesi olabilir. Orada dönen 7 MT4 örneği vardır, ancak normal koşullar altında (yani TeamViewer aracılığıyla erişim ve MetaEditor'u başlatma girişimleri gibi ek harici yük olmadan), performansı yeterlidir ve arka planda çalışan Görev Yöneticisi 15-20 dakika ortalama CPU gösterir kullanım <=%45-50.

Bu komisyon, vakaların %100'ünde gerçekleşmez ve olağanüstü bir sabır ve azim sergileyen MetaEditor, 5-10-25'inci zamandan sonra başlar. Ancak MetaEditor'u başlatmaya çalışmak gerçekten yarım saat sürüyor.

Bu tür sorularla, 610. yapı hakkında bir tartışma ile konuya gitmeniz gerekiyor - geliştiriciler yakında
 
r772ra :



TEŞEKKÜR.

Lütfen söyle bana, çitler yığılmadan.

Daha erken ne yapılabilirdi?

 input int     Slippage   = 10 ;   // установим значение проскальзывания 
extern string ___START_SETUP_ = "---ОСНОВА---" ;  
input double StartLot   = 0.02 ; 
extern double LotMultiplicator = 1.3 ;
extern int N_LotMult = 2 ;
extern string ___STEP_SETUP_BLOK_ = "--- БЛОК УСЛОВИЙ СЕТКИ ---" ;
extern int Mode_Step = 1 ;
extern int Step = 5 ;
extern int StepUv_Step = 5 ;
extern string ___CLOSE_SETUP_BLOK_ = "--- БЛОК УСТАНОВОК ЗАКРЫТИЯ ---" ;
extern int TakeProfit = 40 ;


double z,y, lot=StartLot, count, step=Step;

  
void OnTick ()
  {  
   
     int i_buy= 0 ; int i_sell= 0 ;
     for ( int i= 0 ;i< OrdersTotal ();i++){
         if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )== true && OrderSymbol ()== Symbol ()){
               switch ( OrderType ()){ // Есть ли открыте ордера
                 case OP_BUY :
                    i_buy++;
                 break ;
                 case OP_SELL :
                    i_sell++;
                 break ;
               }
               
              y = int (( OrderOpenPrice ()- Ask )/ Point ); 
              z = OrderLots ();
              
              count++;            
          }   
     }
    
     if (LotMultiplicator > 1 && count > N_LotMult) lot = z + z/LotMultiplicator;    
     if (Mode_Step== 1 ) step = Step + count*StepUv_Step;

     if ((i_buy== 0 && i_sell== 0 ) || y >= step) //--- нет открытых ордеров, открываем
         OrderSend ( Symbol (), OP_BUY ,lot, Ask ,Slippage, 0 , Ask +TakeProfit* Point (), WindowExpertName ()+ " " +( string ) 0 , 0 , 0 , clrBlue );
     
       count= 0 ;
   
 
Zolotai :


TEŞEKKÜR.

Lütfen söyle bana, çitler yığılmadan.

Daha erken ne yapılabilirdi?


LÜTFEN sonunda kodu doğru şekilde nasıl yapıştıracağınızı öğrenin! CTRL+ALT+M veya SRC.
 
evillive :
LÜTFEN sonunda kodu doğru şekilde nasıl yapıştıracağınızı öğrenin! CTRL+ALT+M veya SRC.

Hazır.
 
Zolotai :


TEŞEKKÜR.

Lütfen söyle bana, çitler yığılmadan.

Daha erken ne yapılabilirdi?


Ve ne, derleme hatası yok mu? Ve yürütme hatası da yok mu?

İlk olarak, sonuç olarak ne elde etmek istediğinizi açıklayın, aksi takdirde koddaki bazı yerlerle ilgili sorular var:

 y = int (( OrderOpenPrice ()- Ask )/ Point ); //подставьте в уравнение реальные цены
if ((i_buy== 0 && i_sell== 0 ) || y >= step) // --- нет открытых ордеров, открываем открывает позицию всегда когда y >= step, а это будет практически всегда по формуле выше, за исключением коридора шириной в "step"
 
evillive :

Ve ne, derleme hatası yok mu? Ve yürütme hatası da yok mu?

İlk olarak, sonuç olarak ne elde etmek istediğinizi açıklayın, aksi takdirde koddaki bazı yerlerle ilgili sorular var:




Bir şeyi basitleştirmek mümkün mü? Belki bazı ekstra değişkenler vardır... Şimdi sadece bir adımda bir açılış, partide bir artış var ve hepsi bu. Tp henüz gerekli değildir. Bilmek istiyorum. Biraz daha basit, daha az kod yapmak mümkün mü?
 
Ve ne, birçoğu mu? Orada basitleştirecek bir şey yok, aksine ağırlaştırmak gerekiyor)))
 
evillive :
Ve ne, birçoğu mu? Orada basitleştirecek bir şey yok, aksine ağırlaştırmak gerekiyor)))

TEŞEKKÜR. Bana işlevi söyleme. Hangisi, sondan ortalamaya kadar olan ilk sipariş olacaktır (dur ve al ayarını yapın). Sonra birincisi ile sondan bir önceki, vb. Gelelim ortalara...
 
Kod tabanında yeterli ızgara olduğundan eminim - her zevke uygun ortalamalar, martinler, antimartinler.
 
evillive :
Kod tabanında yeterli ızgara olduğundan eminim - her zevke uygun ortalamalar, martinler, antimartinler.

Evet, ama gerçekten. Başkalarının kodlarını kurcalamanız gerekiyor. Hangisini anlamıyorum ve çok zaman alacak. Anlamak için =(