externint DayMax =30; //количество дней для печатиexternint DayStart =1; //начинаем с первого бараexternint HourStart =10; //время старта внутри дняexternint HourEnd =12; //время конца внутри дня//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//---int per=Period();
if(per>60)return; //если период больше часа , прекращаем работу скриптаdouble c_o=0,ABS_o_c=0;
for(int d=DayStart;d<=DayMax;d++)//перебираем дни от DayStart до DayMax, т.е с вчерашнего до 30
{
for(int h=0;h<60/per*24;h++) //перебираем бары с нолевого до последнего в сутках учитывая ТФ
{
if(Time[h]>HourStart && Time[h]<HourEnd)//проверка промежутка времени
{
//данные для печати и печать
c_o=(Close[h]-Open[h])*Point;
ABS_o_c=MathAbs(c_o);
f_PrintToFile(DayOfWeek(),TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES),Open[h],Close[h],c_o,ABS_o_c);
Print(DayOfWeek(),TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES),Open[h],Close[h],c_o,ABS_o_c);
}
}
}
}
//+------------------------------------------------------------------+// 1. В файл //+------------------------------------------------------------------+void f_PrintToFile(int f_DayOfWeek=0,
string f_TimeCurrent="",
double f_Open=0,
double f_Close=0,
double f_c_o=0,
double f_ABS_o_c=0)
{
string fileName=StringConcatenate(Symbol()," M",Period()," Tyrimas");
string FileType=".csv";
int handle;
handle=FileOpen(fileName+FileType,FILE_WRITE|FILE_READ,";");
if(handle!=INVALID_HANDLE)
{
FileSeek(handle,0,SEEK_END);
FileWrite(handle,f_DayOfWeek,f_TimeCurrent,f_Open,f_Close,f_c_o,f_ABS_o_c);
FileClose(handle);
}
}
ファイルの扱い方を学び始める。ハンドルネームという言葉に出会いました。コードを書いた後に疑問が湧いた。
最初の news.csv ファイルを開いた後、プログラムは filehandle 変数を 1 に設定しました。次に、2つ目の news150901.csv ファイルを開き、filehandle 変数を 2 に設定しました。2つ目のファイルを開いた時のハンドル値だけがプログラムに残っていることが判明しました。つまり、最初に開いたファイルのハンドル値を殺してしまったのです。I.e.データ/コンテンツにのみアクセスし、2番目のファイルを閉じることができますか?開いているファイルのハンドルを格納するために1つの変数を使用することは間違いですか?開くファイルごとにハンドル用の変数を作成する必要があるのでしょうか?
ファイルを開くと、そのファイルへの「アクセスコード」、つまりハンドルが発行されます。閉じていない限り、他のファイルが開いているかどうかに関係なく、そのハンドルを通してファイルを操作することができます。
追伸:ファイルを閉じることを 忘れないでください(例では閉じていません)。
Excelで調査するためのスクリプトが必要。
説明
8.00から12.00から30日間毎日csvファイルに印刷するための開口 部とこの時間interval.Periodでローソク足の終値- その上に置く指標ではなく、より多くの1 hour.Indicator自体は何も表示しないとバッファに保存してください。
サイクルを正しく作るには?
おそらくループが日の始まりを理解せず、ゼロバーだけで動作しているため、回線に疑問があります。
理解を助ける。
チャートウィンドウにインストールされたインジケーターから価格チャートからオブジェクトを削除する方法を教えてください。
チャートウィンドウは常にインデックスが0になります。
ページ全体がごちゃごちゃになってしまい、申し訳ございません。
コードを正しく添付するのが難しい。エディタに特別なSRCボタンがあります
は見つかりませんでした((
ビデオカメラの前でSRCでコードを 挿入!