エラー、バグ、質問 - ページ 127

 
xeon:
コンパイラは、2つ目の等号がないことをエラーとして検出しない。

その必要はありません。あなたのコードにはエラーが含まれていません。

int a = 0;
if(a=1){Print("TEST");}

で、このコードと同じです。

int a = 0;
a=1;
if(a){Print("TEST");}
 
xeon:
コンパイラは、2つ目の等号がないことをエラーとして検出しない。
for(int i=0;i<total_deal;i++)
        {
         //--- try to get deals ticket
         if(ticket=HistoryDealGetTicket(i)) // Предупреждение к этой строке
           {
            Deal.Ticket(ticket);

しかし、少なくとも私のコードではこのような警告が 表示されます。

'DealInfo.mqh' DealInfo.mqh 1 1
式がブーリアンでない場合 Shou History.mq5 60 19
エラー 0件、警告 1件 1件
 
Urain:

その必要はありません。あなたのコードにはエラーが含まれていません。

で、このコードと同じです。


そして無駄に、例えばスタジオがこのコードをエラーとして検出する。

それに、それなら、このコードは、どうやら

int a = 0;
a=1;
if(a){Print("TEST");}

はこれと同じです。

int a = 19;
if(a=14){Print("TEST");}

0=偽、1=真とすると、他の桁は何に相当するのか?2,3,4, ......:-)

このやり方は、エラーを見抜く可能性を増やすだけで、何も良いことはないと思います。

 
xeon:

この方法は、エラーを表示する機会を増やすだけで、何の役にも立たないのではと思います。

ブール値でない値を追加する理由は、ユーザーが自分の行動を確認できるようにするためです。

 

ターミナルで(チャート上で)セットを保存し、テスターやターミナルで開くと、すべてうまくいきます。しかし、テスターで保存してからターミナルで開くと、文字列型でない変数の値がすべてアブラカタブラで表示されます。OKをクリックし、再度パラメータウィンドウを開くと、ブール値を除くすべてのパラメータが新しいものに正しく置き換えられ、正常に表示されます。今まで、「真実」だったものが「偽り」になってしまう...。テスターでは、テスターから保存したセットが正しく開きます。

 

ご迷惑をおかけしました、以前書いたバグはまだ直っていません。 CopySpread 関数の説明にあるインジケータを実行 すると、 スプレッド履歴に穴が描画 されます。 穴は常に、端末が起動してからインジケータが起動するまでの期間をカバーしています。新しいティックごとにサーバーから来るスプレッドが、スプレッド履歴に記録されないようです。 ありがとうございました。

 

コンパイラから警告が出るのですが。

暗黙の列挙変換
型変換によるデータ消失の可能

この文字列を使用する場合

ENUM_POSITION_TYPE posType=PositionGetInteger(POSITION_TYPE);

どうしたんですか?

私はそれを見つけた:あなたは長い使用する必要があります

long posType=PositionGetInteger(POSITION_TYPE);

それからもう一つ質問です。この構造は正しく機能するのだろうか

if(posType==POSITION_TYPE_BUY)

posTypeがlongとして定義されている場合?

 
ENUM_POSITION_TYPE posType=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
 
gpwr:

コンパイラから警告が出るのですが。

暗黙の列挙変換
型変換によるデータ消失の可能

この文字列を使用する場合

どうしたんですか?

私はそれを見つけた:あなたは長い使用する必要があります

それからもう一つ質問です。この構造は正しく機能するのだろうか

posTypeがlongとして定義されている場合?

は動作します。これは型変換の警告なので、無視してもかまいません。
 
AlexinSergey:

ご迷惑をおかけしました、以前書いたバグはまだ直っていません。 CopySpread 関数の説明にあるインジケータを実行 すると、 スプレッド履歴に穴が描画 されます。 穴は常に、端末が起動してからインジケータが起動するまでの期間をカバーしています。新しいティックごとにサーバーから来るスプレッドが、スプレッド履歴に記録されないようです。 ありがとうございました。

ありがとうございます、例の件、対応します。