Hatalar, hatalar, sorular - sayfa 155

 

   if(PositionSelect(_Symbol))
     {
      if(HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER)))
        {
         total=HistoryDealsTotal();
         //total=HistoryOrdersTotal();
         Print("total = "+IntegerToString(total));
         for(i=0; i<total; i++)
           {
           
            ticket=HistoryDealGetTicket(i);
            //ticket=HistoryOrderGetTicket(i);
            if(ticket > 0)
              {
               if(1906 == HistoryDealGetInteger(ticket, DEAL_MAGIC))
               //if(1906 == HistoryOrderGetInteger(ticket, ORDER_MAGIC))
                 {
                  nCount++;
                 }
              }
           }
        }
     }
  

   Print( "Количество сделок по символу "+_Symbol+" "+IntegerToString(nCount));

EA bir demo üzerinde çalışıyorsa veya sadece betiği çalıştırırsa, işlem sayısını döndürür,

ancak EA test cihazında test edilirse, o zaman bir nedenden dolayı bu kod her zaman bir anlaşma döndürür.

Amaç ne? Koddan hem siparişleri hem de anlaşmaları çıkarmaya çalıştığım görülebilir, ancak normal modda her şey normale döner, ancak test cihazında yalnızca bir tane vardır.

 
AlexSTAL :

64 bit işletim sisteminde terminalin 32 bit sürümünü çalıştırmak, çok fazla bellek istemek ve ardından eksikliğine şaşırmak kesinlikle mantıksızdır.

Terminalin 64 bit sürümünü kullanın.

 
Renat :

64 bit işletim sisteminde terminalin 32 bit sürümünü çalıştırmak, çok fazla bellek istemek ve ardından eksikliğine şaşırmak kesinlikle mantıksızdır.

Terminalin 64 bit sürümünü kullanın.

Teşekkür ederim! Buradaki sorun, tüm arkadaşların 64 bit ve çok fazla belleğe sahip olmamasıdır ....

32-bit'teki sorun basitçe çözüldü - genel ayarlarda penceredeki çubuk sayısına bir sınır koydum.

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 
Konstantin83 :

EA bir demo üzerinde çalışıyorsa veya sadece betiği çalıştırırsa, işlem sayısını döndürür,

ancak EA test cihazında test edilirse, bir nedenden dolayı bu kod her zaman bir işlem döndürür.

Amaç ne? Koddan hem siparişleri hem de anlaşmaları çıkarmaya çalıştığım görülebilir, ancak normal modda her şey normale döner, ancak test cihazında yalnızca bir tane vardır.

Bize tam EA kodunu gönderin.
 
Graff :
MT 5, proxy'ler aracılığıyla çalışmaz (http,socks 4.5) Build 328. Aynı zamanda, MT 4 bu proxy'ler aracılığıyla sorunsuz çalışır.

MT5'in bir proxy üzerinden çalışması nasıl sağlanır?

 

İşte bir soru:

Ondalık basamak sayısını belirleyin:

 int digit= SymbolInfoInteger (symbol, SYMBOL_DIGITS );

Derlerken bir uyarı verilir:

basamak değişkeni için tür dönüşümü nedeniyle olası veri kaybı

Alınan verinin türü tamsayı olduğu için nedeni açık değildir.

Veri türünü long, ulong veya başka bir şekilde değiştirmeye çalışırsam, başka bir satırda ve ayrıca digit değişkeni için benzer bir uyarı açılır:

SL= NormalizeDouble (SL, digit);

Neyi yanlış yapıyorum?

 
Şu şekilde deneyin:
 int digit= ( int ) SymbolInfoInteger (symbol, SYMBOL_DIGITS );

 
AsAn :

İşte bir soru:

Ondalık basamak sayısını belirleyin:

Derlerken bir uyarı verilir:

basamak değişkeni için tür dönüşümü nedeniyle olası veri kaybı

Alınan verinin türü tamsayı olduğu için nedeni açık değildir.

Veri türünü long, ulong veya başka bir şekilde değiştirmeye çalışırsam, başka bir satırda ve ayrıca digit değişkeni için benzer bir uyarı açılır:

Neyi yanlış yapıyorum?

Böyle davranıldı

 int digit= ( int ) SymbolInfoInteger (symbol, SYMBOL_DIGITS );
 
Teşekkür ederim. tedavi işe yarıyor :)
 

Küçük bir önerim var.

Raporları neden mht'de (web arşivi) yapmıyorsunuz, kullanıcılar için daha uygun olacak gibi görünüyor.

1 rapor - 1 dosya, şimdiki gibi değil 2 (html ve png)