int File()
{
int P=0;
int filehandle=FileOpen("C:\\Users\\Михаил\\Desktop\\qqq.csv",FILE_READ|FILE_CSV);
if(filehandle!=INVALID_HANDLE)
{
datetime d = FileReadDatetime(filehandle);
int I=FileReadNumber(filehandle);
FileClose(filehandle);
Comment(d+" "+I);
}
else {Comment(GetLastError());}
return P;
}
int File()
{
int P=0;
int filehandle=FileOpen(TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Files\\"+"qqq.csv",FILE_READ|FILE_CSV);
if(filehandle!=INVALID_HANDLE)
{
datetime d = FileReadDatetime(filehandle);
int I=FileReadNumber(filehandle);
FileClose(filehandle);
Comment(d+" "+I);
}
else {Comment(GetLastError());}
return P;
}
ほとんどの場合、ターミナルをシステムドライブに置き、Program Files フォルダに置いています。
その場合は、他のドライブを選択してください。少なくともシステムドライブのルートに。インストールの最初にSetup ボタンがあります。
なんとなく今まで気にしていませんでした。IndicatorDigits関数の説明の注に、以下のように書かれています。
- 初期設定は4桁です。
- IndicatorDigits(Digits)が明示的に指定された場合 - 5.
不具合なのか何なのか?ファイルは存在するが
ファイルは存在するが
ファイルオープン
セキュリティ上の理由から、MQL5言語では、ファイルに対する操作を厳密に制御しています。MQL5言語のファイル操作で扱うファイルは、ファイルの「サンドボックス」の外には出られません。
ファイルオープン
サンドボックス外のディレクトリを操作したい場合は、その中に必要なディレクトリへのショートカット/シンボリックリンクを"MQL4GeneFiles" として作成します。ファイルをFilesフォルダにコピーし、コードを書き直しましたが、同じエラーです。
OK、ファイルをFilesにコピーしてコードをやり直したが、同じエラーだった
もういいよ。そこには、間違ったファイルの開き 方と正しい開き方という、非常に良い例が示されています。
もういいよ。そこには、間違ったファイルの開き 方と正しい開き方という、非常に良い例が示されています。
EAをテストするとき、リードオンリーファイルはどこに置くべきでしょうか?
EAをテストするとき、読み込んだファイルはどこに置くべきでしょうか?
これはMQL5のものですが、エッセンスは同じです。
![](https://c.mql5.com/3/218/1pv957_m7voa2_z_2018-08-11_09-56-15.png)
これはMQL5のものですが、エッセンスは同じです。
プログラムがアクセスするディレクトリを見つけたのですが、なぜかテスト中にこのファイルqqq.csvを削除してしまいます。