+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { //---- string FileName; int Handle; int ClOp; // разница между закрытием и открытием в пунктах int spread;// спред по инструменту int BarYear;// год int BarDay; // день недели, 0 - восресенье
// сформируем имя файла, например, EURUSD1440.csv FileName=Symbol()+Period()+".csv"; //откроем файл с именем FileName (создадим указатель/handle на него) Handle=FileOpen(FileName,FILE_WRITE | FILE_CSV,";"); if (Handle<1) { Print("Не удалось открыть файл, ошибка ",GetLastError()); return; }
// запишем названия столбцов (создание шапки) FileWrite(Handle,"Дата","Open","High","Low","Close","Close-Open в пунктах", "Спред в пунктах","День недели","Год");
for (int index=Bars-1;index>=0;index--) { // пропустим бары до 2001 года if (TimeYear(Time[index])<2001) continue;
// прервем (закончим) цикл, если 2005 год мы прошли весь if (TimeYear(Time[index])>2005) break;
// Выведем High, Low, Open, Close для бара с индексом index //Print(High[index]," ",Low[index]," ",Open[index]," " //,Close[index]," бар=",index); BarYear=TimeYear(Time[index]); BarDay=TimeDayOfWeek(Time[index]); ClOp=Close[index]/Point-Open[index]/Point; FileWrite(Handle,TimeToStr(Time[index]),Open[index],High[index],Low[index],Close[index],ClOp,spread,BarDay,BarYear); }
//----
//закроем файл (освободим указатель/handle, чтобы файл можно было //открыть для редактирования другими программами) if(Handle>0) FileClose(Handle);
みんな
EAが同時に行えるトレードの数を制限する方法は?
おおい
ありがとうございました。
ObjectGet(nm,OBJPROP_TIME1)がHLineオブジェクトの時間を無視することがやっと わかりました。
HLineの作成時刻を指定して計算する方法について教えてください。
HLine 作成から現在 までのiHighest(NULL,0,MODE_HIGH,shift,1 )?
オブジェクトの名前によるソートルールに関するスレッドを読むと、アイデアが追加されていない。
。
ObjectGet(nm,OBJPROP_TIME1)がHLineオブジェクトの時間を無視することがやっと わかりました。
HLineの作成時刻を指定して計算する方法を教えてください。
HLine 作成から現在 までのiHighest(NULL,0,MODE_HIGH,shift,1 )?
水平方向のトレンドラインを使用する :)
同じ証券会社の異なる端末で、複数のEAを取引しています。時折、収束する。では、これらのEAを薄めるにはどうしたらよいのでしょうか。
EAを希釈する最良の方法は、信頼の上にある。
水平方向のトレンドラインを使用する :)
exceLファイルにデータを書き込む際、列が分割されず、ヘッダが1つのセルに書き込まれてしまう原因を教えてください。
また、このスクリプトはテーブルのヘッダーを作成するだけで、オーダー値そのものは存在しません。
+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
string FileName;
int Handle;
int ClOp; // разница между закрытием и открытием в пунктах
int spread;// спред по инструменту
int BarYear;// год
int BarDay; // день недели, 0 - восресенье
spread=MarketInfo(Symbol(),MODE_SPREAD); // запомним спред
// сформируем имя файла, например, EURUSD1440.csv
FileName=Symbol()+Period()+".csv";
//откроем файл с именем FileName (создадим указатель/handle на него)
Handle=FileOpen(FileName,FILE_WRITE | FILE_CSV,";");
if (Handle<1)
{
Print("Не удалось открыть файл, ошибка ",GetLastError());
return;
}
// запишем названия столбцов (создание шапки)
FileWrite(Handle,"Дата","Open","High","Low","Close","Close-Open в пунктах",
"Спред в пунктах","День недели","Год");
for (int index=Bars-1;index>=0;index--)
{
// пропустим бары до 2001 года
if (TimeYear(Time[index])<2001) continue;
// прервем (закончим) цикл, если 2005 год мы прошли весь
if (TimeYear(Time[index])>2005) break;
// Выведем High, Low, Open, Close для бара с индексом index
//Print(High[index]," ",Low[index]," ",Open[index]," "
//,Close[index]," бар=",index);
BarYear=TimeYear(Time[index]);
BarDay=TimeDayOfWeek(Time[index]);
ClOp=Close[index]/Point-Open[index]/Point;
FileWrite(Handle,TimeToStr(Time[index]),Open[index],High[index],Low[index],Close[index],ClOp,spread,BarDay,BarYear);
}
//----
//закроем файл (освободим указатель/handle, чтобы файл можно было
//открыть для редактирования другими программами)
if(Handle>0) FileClose(Handle);
return(0);// работа скрипта завершена
}
exceLファイルにデータを書き込む際、列が分割されず、ヘッダが1つのセルに書き込まれてしまう原因を教えてください。
また、このスクリプトはテーブルのヘッダーを作成するだけで、オーダー値そのものは存在しません。
自分では試していないのですが、デリミタは必要だと思います。スペース、タブ、スラッシュなど テキストファイルで行うのであれば、デリミタは必須です。
みんな
EAが同時に行えるトレードの数を制限する方法は?
おおい
ありがとうございました。
NumberOrdは、未決済注文の数をカウントする関数です。
if (NumberOrd()>3) return(0); - これは同時に開くトレードの数を制限するための正しいエントリーになりますか?
写真みたいなのは嫌だ!」。
ありがとうございました。
いいトレードをしましょう!
NumberOrdは、未決済注文の数をカウントする関数です。
if (NumberOrd()>3) return(0); - このエントリーは、同時に入力するトレードの数を制限するために正しいのでしょうか?
写真みたいなのは嫌だ!」。
ありがとうございました。
いいトレードをしましょう!