[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 203

 

いつものサインイントでいうと、次のような処理になります。

カウントは0から始まり、2^31-1=2147483647、つまり0x7FFFFFFFまでとなります。次の数値は0x80000000、つまり-2^31 = -2147483648、つまり負の値にジャンプする(最上位ビットが1になる)。そして,-1,すなわち0xFFFFFFFFになるまで1ずつ加算してカウントする。その後、プロセッサはオーバーフローフラグをセットし、カウントサイクルはゼロから繰り返されます。

 
つまり、カウンターは-2147483648から2147483647の間の数値を返すのですか?
 
eddy:
つまり、カウンターは-2147483648から2147483647の間の数値を返すのですか?
まあ、そうなんですが...。int 型の ヘルプを読むと、そう書いてあります。
 
全ては符号ビットの解釈次第です。技術的には、カウンタは負の数については一切知らず、数値の上位ビットを上位桁と見なします。しかし、MQLには符号なし数値がないので、コンパイラはハイビットを負数とみなしてしまいます。しかし、数値の内部表現は変わらない。
 
GetTickCount() はどのような数値をどのような順序で返すのですか?)
 
doon:

isCloseLastPosByStop()についての質問です。

同じクローズドオーダーでも、その後のクローズドオーダーがない場合(つまり、このオーダーが最後のオーダーにならない場合)にチェックされるのでしょうか?

 
eddy:
と、GetTickCount()はどのような順番で返されるのでしょうか?)
0,1,2, ..., 2147483647, -2147483648, ..., -2, -1, (オーバーフロー) 0, 1, ....
 
doon:

isCloseLastPosByStop()についての質問です。

同じクローズドオーダーでも、その後のクローズドオーダーがない場合(つまり、このオーダーが最後のオーダーにならない場合)にチェックされるのでしょうか?

常に最後に 決済された注文のステータスを返します。つまり、答えは「イエス」です。
それとも、この関数のどこかに、"order already checked once" のチェックがあったのでしょうか?:)
 
artmedia70:
常に最後に 決済された注文のステータスを返します。つまり、答えは「イエス」です。

シーピー
 
doon:

シーピー
前回の投稿を訂正しました。やるべきことのヒントを追加しました :)
理由: