void AAA()
{
int Handle; // Файловый описательstring File_Name = "AAA.csv"; // Имя открываемого файлаstring str_1 = ""; // 1 Номер индекса по первому измерениюstring str_2 = ""; // 2 Номер индекса по второму измерениюstring str_3 = ""; // 3 Значениеstring str_4 = ""; // 4 Значениеstring str_5 = ""; // 5 Значение
Handle=FileOpen(File_Name, FILE_READ, ";"); // Открытие файлаwhile(FileIsEnding(Handle)==false) // До тех пор, пока файловый...
{ // ...указатель не в конце файла// Чтение данных из строки до файлового разделителя
str_1 = FileReadString(Handle); // 1 Номер индекса по первому измерению
str_2 = FileReadString(Handle); // 2 Номер индекса по второму измерению
str_3 = FileReadString(Handle); // 3 Значение
str_4 = FileReadString(Handle); // 4 Значение
str_5 = FileReadString(Handle); // 5 Значениеif(FileIsEnding(Handle)==true) // Файловый указатель в конце файлаbreak; // Выход из цикла чтения
????????????????????????????????????????????????????
}
FileClose(Handle); // Закрываем файлreturn; // Выход из функции
}
void AAA()
{
int Handle; // Файловый описательstring File_Name = "AAA.csv"; // Имя открываемого файлаstring str_1 = ""; // 1 Номер индекса по первому измерениюstring str_2 = ""; // 2 Номер индекса по второму измерениюstring str_3 = ""; // 3 Значениеstring str_4 = ""; // 4 Значениеstring str_5 = ""; // 5 Значение
Handle=FileOpen(File_Name, FILE_READ, ";"); // Открытие файлаwhile(FileIsEnding(Handle)==false) // До тех пор, пока файловый...
{ // ...указатель не в конце файла// Чтение данных из строки до файлового разделителя
str_1 = FileReadString(Handle); // 1 Номер индекса по первому измерению
str_2 = FileReadString(Handle); // 2 Номер индекса по второму измерению
str_3 = FileReadString(Handle); // 3 Значение
str_4 = FileReadString(Handle); // 4 Значение
str_5 = FileReadString(Handle); // 5 Значениеif(FileIsEnding(Handle)==true) // Файловый указатель в конце файлаbreak; // Выход из цикла чтения// Завели строковый массив// Преобразование типов данных и запись в масссивArrayResize(Mas1, SizeMas1+1); // Увеличили размер массива Mas1
Mas1[SizeMas1][0] = StrToInteger(str_1); // 0 Номер индекса по первому измерению
Mas1[SizeMas1][1] = StrToInteger(str_2); // 1 Номер индекса по второму измерению
Mas1[SizeMas1][2] = StrToDouble(str_3); // 2 Значение
Mas1[SizeMas1][3] = StrToDouble(str_4); // 3 Значение
Mas1[SizeMas1][4] = StrToDouble(str_5); // 4 Значение
SizeMas1++; // Новый размер массива Mas1// Что дальше ????????????????????????????????????????????????????
}
FileClose(Handle); // Закрываем файлreturn; // Выход из функции
}
これを使って https://docs.mql4.com/ru/indicators/imaonarray
コードを見てください。
今度は「角度はグラフのスケーリングに依存するから無理だ」と説明し始めるだろうが...。
しかし、角度ではなく、角度の正接だけをとれば、できるのです。
学校の幾何学でタンジェントとカタジェントを習ったのは知っていますが、残念ながら覚えていません)掲示板でFreshさんに質問しましたが、明確な回答は得られていないようです。
Yandexが禁止されている場合は、Googleを使用することができます。
つまり、直角三角形の角の正接は、反対側の脚と隣接する脚の比になるのである。
これをMT図に置き換えると、「反対側の脚はポイント(単位:pct)、隣接する脚はバー(単位:pct)に等しくなる」となります。
例
EURUSDオープニング6.03 1.3732 オープニング7:03 1.3860 合計128ピップス。M1 1440本時 tan = 128/1440=0.08889
この式は基本的にObjectGetValueByShift()関数で使用されます。
表の1列目には配列の1次元目のインデックスが格納されています。
2列目には配列の2次元目のインデックスが格納されています。
3列目以降には配列の3次元目の値そのものが格納されています。
テーブル(*.csv)のデータを3次元の静的配列に入れる方法について教えてください。
テーブルの最初の列は,配列の1次元目のインデックスを持つ.
2列目は配列の2次元目を表すインデックスである。
3列目以降 - 配列の3次元目に相当する値そのもの。
Excel自体で分析する場合は、サマリー表。
あるいはデータの一部を表示するには、インデックス-値に一致する補助的な文字列配列を用意する必要がありそうです。
....は、index-valueにマッチするような補助的な文字列配列を用意する必要がありそうです。
OBJ_ARROW_RIGHT_PRICEなどの オブジェクトをすべて削除するにはどうすればよいですか?
ObjectsDeleteAll(OBJ_ARROW_RIGHT_PRICE) コマンドは、タイムフレームを変更しても(強制的にチャート全体を再描画しても)、削除されない。
簡単なスクリプトを書きました。コメントで、画面に書き込みます。
Alert("obj_arrow_right_price=",OBJ_ARROW_RIGHT_PRICE) ; // =36
ObjectCreate("MyArrow",OBJ_ARROW_RIGHT_PRICE,0,Time[1],Open[1]) ; // OBJ_ARROW_RIGHT_PRICE を作成しました。
Alert("objectTipe=", ObjectType("MyArrow"), "ARROW CODE=",ObjectGet("MyArrow",OBJPROP_ARROWCODE) ) ; // nightmare "objecType=" =22, なぜ最初の行と同様に36ではないのかわかりませんでしたか?
ResetLastError() ;
Alert("script delete arrow right price=",ObjectsDeleteAll(OBJ_ARROW_RIGHT_PRICE)," lastError=",GetLastError() ) ; // 削除オブジェクト=0, エラーコード=0
ObjectsDeleteAll(22) ; // 削除されたオブジェクトは再び0になる」と書いて実験を続ける。
OBJ_ARROW_RIGHT_PRICEなどのオブジェクトをすべて削除するには?
今一度、ヘルプをお読みください。
ObjectsDeleteAll
指定された型の、指定されたサブウィンドウ内の全てのオブジェクトを削除する。
オブジェクトがメインチャートサブウィンドウにある場合。
もう一度ヘルプを読んでください。
ObjectsDeleteAll
指定されたタイプの、指定されたチャートのサブウィンドウにあるオブジェクトをすべて削除します。
オブジェクトがメイングラフサブウィンドウにある場合。