エラー、バグ、質問 - ページ 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));

Expert Advisor がデモで動作している場合、またはスクリプトを実行しているだけの場合は、取引回数 が返されます。

しかし、Expert Advisorをテスターでテストすると、このコードでは常に1つのトレードを返します。

コードを見ると、注文と案件の両方を引き出そうとしたのですが、通常モードではすべて正常に返されるのに、テスターでは案件が1つしか返されません。

 
AlexSTAL:

64ビットOS上で32ビット版の端末を動作させ、大量のメモリを要求して、メモリ不足に驚くのは全く理不尽な話です。

64bit版の端末を使用する。

 
Renat:

64ビットOS上で32ビット版の端末を動作させ、大量のメモリを要求して、メモリ不足に驚くのは全く理不尽な話です。

64bit版の端末を使用する。

ありがとうございました。ここで問題なのは、知り合いがみんな64ビットでそんなにメモリがあるわけではないこと...。

32ビット版での問題は、グローバル設定でウィンドウ内のバーの 数に制限をかけることで簡単に解決しました。

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

Expert Advisor がデモで動作している場合、またはスクリプトを実行しているだけの場合は、取引回数 が返されます。

しかし、Expert Advisorをテスターでテストすると、このコードでは常に1つのトレードを返します。

コードを見ると、注文と案件の両方を引き出そうとしたのですが、通常モードではすべて正常に返されるのに、テスターでは案件が1つしか返されません。

Expert Advisorの完全なコードを送ってください。
 
Graff:
MT5がプロキシ(http,socks 4,5)経由で動作しない Build 328.ただし、MT4はこれらのプロキシを経由しても問題なく動作します。

プロキシ経由でMT5を動作させるにはどうすればよいですか?

 

ここで質問です。

小数点以下の桁数を決めている。

int digit=SymbolInfoInteger(symbol, SYMBOL_DIGITS);

コンパイル時に警告が出るのですが。

可変長の型変換によるデータ消失の可能

データ型が整数であるため、その理由は不明である。

データ型をlongやulongなどに変更しようとすると、別の行で同様の警告がポップアップし、変数の桁数についても同様の警告が表示されます。

SL=NormalizeDouble(SL, digit);

私は何を間違えているのだろう?

 
この方法で試してみてください。
int digit= (int)SymbolInfoInteger(symbol, SYMBOL_DIGITS);

削除済み  
AsAn:

ここで質問です。

小数点以下の桁数を決めている。

コンパイル時に警告が出るのですが。

可変長の型変換によるデータ消失の可能

取得するデータの種類が整数であるため、その理由は不明である。

データ型をlongやulongなどに変更しようとすると、別の行で同様の警告がポップアップし、変数の桁数についても同様の警告が表示されます。

私は何を間違えているのだろう?

このように固定されています。

int digit= (int)SymbolInfoInteger(symbol,SYMBOL_DIGITS);
 
ありがとうございます。治療薬が効く :))
 

ちょっとした提案があります。

報告書はmht(web archive)にした方がユーザーにとって便利だと思うのですが。

1レポート - 1ファイル、現在の2ファイル(htmlとpng)ではない