こんにちは。PEOPLE, ANSWER THE QUESTION PLEASE(5回目の投稿です)。ファイルインデックスについての質問です。MQL 4.communityに ある私のMQL4 本の中の「標準関数」のセクションに、「ファイル操作」というスクリプトの例があります。これは、ファイルからデータを読み取り、シンボルウィンドウにグラフィックオブジェクトを表示させるためのものです。
//--------------------------------------------------------------------// timetablenews.mq4// Предназначен для использования в качестве примера в учебнике MQL4.//--------------------------------------------------------------- 1 --int start() // Спец. функция start
{
//--------------------------------------------------------------- 2 --int Handle, // Файловый описатель
Stl; // Стиль вертикальной линииstring File_Name="News.csv", // Имя файла
Obj_Name, // Bмя объекта
Instr, // Название валюты
One,Two, // 1я и 2я чать названия инстр.
Text, // Текст описания события
Str_DtTm; // Дата и время события(строка)datetime Dat_DtTm; // Дата и время события(дата)color Col; // Цвет вертикальной линии//--------------------------------------------------------------- 3 --
Handle=FileOpen(File_Name,FILE_CSV|FILE_READ,";");// Открытие файлаif(Handle<0) // Неудача при открытии файла
{
if(GetLastError()==4103) // Если файла не существует,..Alert("Нет файла с именем ",File_Name);//.. извещаем трейдера else// При любой другой ошибке..Alert("Ошибка при открытии файла ",File_Name);//..такое сообщPlaySound("Bzrrr.wav"); // Звуковое сопровождениеreturn; // Выход из start()
}
//--------------------------------------------------------------- 4 --while(FileIsEnding(Handle)==false)// До тех пор, пока файловый ..
{ // ..указатель не в конце файла//--------------------------------------------------------- 5 --
Str_DtTm =FileReadString(Handle);// Дата и время события(дата)
Text =FileReadString(Handle);// Текст описания событияif(FileIsEnding(Handle)==true) // Файловый указатель в концеbreak; // Выход из чтения и рисования//--------------------------------------------------------- 6 --
Dat_DtTm =StrToTime(Str_DtTm); // Преобразование типа данных
Instr =StringSubstr(Text,0,3);// Извлекаем первые 3 символа
One=StringSubstr(Symbol(),0,3);// Извлекаем первые 3 символа
Two=StringSubstr(Symbol(),3,3);// Извлекаем вторые 3 символа
Stl=STYLE_DOT; // Для всех - стиль пунктир
Col=DarkOrange; // Для всех - цвет такойif(Instr==One || Instr==Two) // А для событий по нашему ..
{ // .. финансовому инструменту..
Stl=STYLE_SOLID; // .. такой стиль..
Col=Red; // .. и такой цвет верт. линии
}
//--------------------------------------------------------- 7 --
Obj_Name="News_Line "+Str_DtTm; // Имя объектаObjectCreate(Obj_Name,OBJ_VLINE,0,Dat_DtTm,0);//Создаем объект..ObjectSet(Obj_Name,OBJPROP_COLOR, Col); // ..и его цвет,..ObjectSet(Obj_Name,OBJPROP_STYLE, Stl); // ..стиль..ObjectSetText(Obj_Name,Text,10); // ..и описание
}
//--------------------------------------------------------------- 8 --FileClose( Handle ); // Закрываем файлPlaySound("bulk.wav"); // Звуковое сопровождениеWindowRedraw(); // Перерисовываем объектыreturn; // Выход из start()
}
//--------------------------------------------------------------- 9 --
正しく理解できていますか?ファイルポインタは、テキスト記号によって流入されるのではなく(例えば:text| where | is file pointer)、例えば、text wherek is "to" character, k-th is highlighted by file pointerのように、式を伴うポインタである。これが文字列の必要性を説明している(p.164参照)。
if(FileIsEnding(Handle)==true) // Файловый указатель в концеbreak; // Выход из чтения и рисования//--------------------------------------------------------- 6 --
if(FileIsEnding(Handle)==true) // Файловый указатель в концеbreak; // Выход из чтения и рисования//--------------------------------------------------------- 6 --
では、magik =TimeCurrent();
他のマジックのポーズで
時間が経てば違うということなんでしょうかね?そして、それぞれ異なる番号を持つことになるのか!それは、オリジナル!?ありがとうございます!これからやってみます。
でも、1つずつ閉じていかなければならないのが難点です。マジシャンの指定方法は、すでに時間が経過しているので、違う時間を与えると、何も閉まらなくなります。
チケットを試してみる。
Lot = NormalizeDouble(OrderLots()/2,Digits)。
時間帯が違うということでしょうかね?しかも、それぞれ違う番号になるのか!?それは、オリジナル!?ありがとうございます!これからやってみます。
でも、1つずつ閉じていかなければならないのが難点です。マジシャンの指定方法は、すでに時間が経過しているので、違う時間を与えると、何も閉まらなくなる。
チケットを試してみる。
を普通に説明できるのでしょうか?
敷地の1/2を閉鎖することになります。OrderLots() = 0.03 ならば、0.02 でクローズして 0.01 を残す。 そして OrderClose() の結果のロットを OrderTicket() の後のその場所に置く。これではっきりしましたか?
こんにちは。PEOPLE, ANSWER THE QUESTION PLEASE(5回目の投稿です)。ファイルインデックスについての質問です。MQL 4.communityに ある私のMQL4 本の中の「標準関数」のセクションに、「ファイル操作」というスクリプトの例があります。これは、ファイルからデータを読み取り、シンボルウィンドウにグラフィックオブジェクトを表示させるためのものです。
以下、Book onMQL4 でこのスクリプトを解析すると、「指定されたチェック(ブロック5-6の最後の2行)が外されると、実行時に余分なオブジェクトが作成 される」という文言があります。そして、その後に初めてwhile ループの終了条件が発動し、制御がブロック8-9に渡される」。
正しく理解できていますか?ファイルポインタは、テキスト記号によって流入されるのではなく(例えば:text| where | is file pointer)、例えば、text wherek is "to" character, k-th is highlighted by file pointerのように、式を伴うポインタである。これが文字列の必要性を説明している(p.164参照)。
確かに。最後の反復処理で、LASTオブジェクトを作成した後
2007.05.11 18:30;JPY
の場合,ファイルポインタは最後のオブジェクトの位置にある,つまり
2007.05.11 18:30;円 工業生産
(oは"o"文字、kはファイルインデックス).これは 、ファイル ポインタがファイルの終端ではなく、そのファイルの最後の文字にあるため です。そして、最初の2行が実行されると、ファイルポインタは空のスペースに移動し、もし行が無ければ
を実行すると、スクリプトは空の説明と0に 対応する時間座標を持つグラフィック(すなわちライン)を作成します。 これは、「指定されたチェック(ブロック5-6の最後の2行)が削除されると、実行時に余分なオブジェクトが作成 されます」というフレーズを意味します。"
質問:私の理解は正しいですか?
a) ファイルポインタの定義。
b)「指定されたチェック(ブロック5-6の最後の2行)が削除さ れると、プログラム実行時に余分なオブジェクトが 生成される」という文言の意味。そして、その後にのみwhile ループの終了条件が発動し、制御はブロック8-9に渡される」。
P.S. フォーラムを散らかさないために、事前にあなたの答えをありがとうございました。
まだ起動しません :/。
参議院議員の顔は笑っているのか、悲しんでいるのか。
雑誌の中身は?
こんにちは。PEOPLE, ANSWER THE QUESTION PLEASE(5回目の投稿です)。ファイルインデックスについての質問です。MQL4.communityの「Standard Functions」セクションにあるMQL4 ブックには、ファイルからデータを読み込み、シンボルウィンドウにグラフィカルなオブジェクトを表示するためのスクリプト「File Operations」の例が掲載されています。
皆さん、こんばんは。
過去1時間の最高値と最低 値を調べる方法を教えてください。教科書には最後のバーについてしか書かれていません。