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

 
fxsaber:

last-priceがTickSizeの倍数でないのはなぜですか?

数年前、while(true)スクリプトでティックを書き、「market overview」でデータを変更してティックを書きましたが、1.3555000001や1.35559999といったティックがよく出ていました。

サーバーから正規化されていない価格データが送られてきて驚きました。

あなたの場合も、そのような価格はSYMBOL_TRADE_TICK_SIZEの 倍数ではないので、そのような価格では取引しないことになります...。最後の価格分析も意味がないことがわかったが ))))

 
Igor Makanu:

数年前にも質問したかもしれませんが、while(true)スクリプトでティックを書きました。ティックは「market overview」のデータを変更することで書き出され、1.3555000001や1.35559999といったティックがよくありました。

あなたの場合は、ダブル→ストリング変換の特殊性です。私は少し変わった状況です。

 
EAのログは15GBです。ターミナルで表示しようとすると、1分以上ハングアップしてしまいます。
削除済み  
fxsaber:
EAのログは15GBです。ターミナルで表示しようとすると、1分以上ハングアップしてしまいます。

どのようなものにしたいですか?

 
Alexey Kozitsyn:

このままでいいの?

大きなログの場合は、まずその旨の警告を出し、続けるかどうか聞いてみましょう。

削除済み  
fxsaber:

大きなログの場合は、最初にその旨の警告を出し、続けるかどうか尋ねるようにする。

すぐに建設的になったのを見てください:)

 
Alexey Viktorov:

ファイルに書き込んだ後、FileCloseの後、あるいはFileFlushで 強制的にデータをディスクにリセットした後にのみ、データがディスクに届くというのがあなたの間違いです。

そうでなければ、存在しないファイルをどうやって読むんだ?

誰かと勘違いしてませんか?FileFlushを使用した場合と使用しない場合の両方で、エラーは同じです。すべてが始まった本物のExpert Advisorは、最初はFileFlushとファイルそのものを両方持っています。

このような組み合わせではFILE_SHARE_WRITEフラグが機能するように見えますが、別の疑問が生じます。論理的には、書き込み分離を有効にする場合、書き込みフラグに正確に追加する必要があります。

FILE_READ|FILE_BIN|FILE_SHARE_READ|(writing?(FILE_WRITE|FILE_SHARE_WRITE):0)

まさにその通り、私も試しましたが、エラーが出てしまいます。

 
一般に、読み取り分離だけが必要なのに、なぜファイルの書き込みをチェックしなければならないのか、はっきりしませんね?
削除済み  
皆さん、この質問について どなたか教えてください。
 

MqlTradeCheckResultの ツールチップがMEでポップアップしない。

#define  TOSTRING(A)  #A + " = " + (string)(A) + "\n"
#define  TOSTRING2(A) #A + " = " + EnumToString(A) + " (" + (string)(A) + ")\n"

string ToString( const MqlTradeRequest &Request )
{
  return(TOSTRING2(Request.action) + TOSTRING(Request.magic) + TOSTRING(Request.order) +
         TOSTRING(Request.symbol) + TOSTRING(Request.volume) + TOSTRING(Request.price) +
         TOSTRING(Request.stoplimit) + TOSTRING(Request.sl) +  TOSTRING(Request.tp) +
         TOSTRING(Request.deviation) + TOSTRING2(Request.type) + TOSTRING2(Request.type_filling) +
         TOSTRING2(Request.type_time) + TOSTRING(Request.expiration) + TOSTRING(Request.comment) +
         TOSTRING(Request.position) + TOSTRING(Request.position_by));
}

string ToString( const MqlTradeResult &Result )
{
  return(TOSTRING(Result.retcode) + TOSTRING(Result.deal) + TOSTRING(Result.order) +
         TOSTRING(Result.volume) + TOSTRING(Result.price) + TOSTRING(Result.bid) +
         TOSTRING(Result.ask) + TOSTRING(Result.comment) + TOSTRING(Result.request_id) +
         TOSTRING(Result.retcode_external));
}

string ToString( const MqlTrade