Stanislav Korotky: 同じようなエラーはすでに修正したと思うのですが、再びこのエラーに出くわしてしまい、多くの時間を費やしてしまいました。Convert.mqhではターゲット配列のサイズが小さくなっているようです。uchar[39]の配列をリソースに入れる必要があったのですが、ArrayToStruct関数はuint[]型のレシーバをサイズ9としつこく見なします。
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(110,14) : error 165: 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(172,14) : error 165: 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(110,14) : error 165: 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(172,14) : error 165: 'ArrayResize_Real' - function already defined and has body
動作します。
同じようなエラーはすでに修正したと思うのですが、再びこのエラーに出くわしてしまい、多くの時間を費やしてしまいました。Convert.mqhではターゲット配列のサイズが小さくなっているようです。uchar[39]の配列をリソースに入れる必要があったのですが、ArrayToStruct関数はuint[]型のレシーバをサイズ9としつこく見なします。
そうです。次のようにしてみてください。
MQの推奨によると、ResourceDataファイルのGetFullNameメソッドでは、TERMINAL_PATHの代わりにTERMINAL_DATA_PATH定数を使用する必要があります。
ターミナルはポータブル・モードなしで起動されるにもかかわらず(UACが無効でProgramme Filesへの書き込み権限があるためと思われる)、私の場合はどちらのパスも同じです。しかし、RDPで接続すると、すべてのソースがRoamingから取得される。おそらく多くのユーザーは、デフォルトですべてのソースをTERMINAL_DATA_PATH(TERMINAL_PATHとは異なる)に置いているはずだ。
MQの推奨に基づき、ResourceDataファイルでは、GetFullNameメソッドはTERMINAL_PATHではなくTERMINAL_DATA_PATH定数を使用する必要があります。
そうですね。私はポータブルを使っているので、注意を払っていませんでした。これらのコードはユニットによって使用されます。あなたのように、ユーザーはとっくに正しいパスに修正しています。
KBのサポートは大変で、作業リストが分厚くなってしまった。
はい、トリミングされています。これを試してみてください
Convert.mqhはインクルード・フォルダから取り出したもので、上書きされる可能性があるので、KBの中で修正したほうがいいでしょう(ちなみに、Convert.mqh、Resource.mqh、ResourceData.mqhのヘッダーファイルは、どのプロジェクトが メインなのかよくわかりませんでした。
Convert.mqhはインクルード・フォルダから取り出したもので、上書きされる可能性があるため、KBで修正したほうがよいでしょう(ちなみに、Convert.mqh、Resource.mqh、ResourceData.mqhのヘッダーファイルがどのプロジェクトで使われているのかよくわかりませんでした。
TradeTransactionsは使用していません。
HistoryTicks - これがないMT4での取引は考えられません。おそらくメインと考えるべきでしょう。しかし、KBでは更新できない。
取引、自動取引システム、取引戦略のテストに関するフォーラム
ライブラリ: HistoryTicks
fxsaber, 2020.01.09 14:43
KBのバージョンが古いことに気づきませんでした。残念ながら、アップデートする方法はありません。KBのオートマトンでは次のようになっています。 MEではすべてエラーなくコンパイルできます。HistoryTicksでは本物なので責任は桁違いに大きい。実際には舐められている。
解决该错误,用 随附的 替换 Include ˶ fxsaber ˶ TradeTransactions ˶ Convert.mqh 。
const RESOURCEDATA<double>ResourceDouble("::Double_"+__FILE__);
const RESOURCEDATA<datetime>ResourceTime("::Time_"+__FILE__);
const RESOURCEDATA<string>ResourceString("::String_"+__FILE__);
'Data' - struct undefined Convert.mqh 85 49
MT4ビルド1320では動作しませんでしたか?
MT4ビルド1320では動作しませんでしたか?
これを試してみて ください。