externstring FileName = "AUDCAD.CSV";
datetime dt[9999];
double val[9999];
string arr[2];
int h = FileOpen(FileName, FILE_CSV|FILE_READ,'~');
if (h==0) Comment("File "+FileName+" not found.");
for (int c=0; !FileIsEnding(h) && c<9999; c++) {
string tmp = FileReadString(h);
if (FileIsEnding(h)) break;
StrToStringArray(tmp,arr,",");
dt[c] = StrToTime(arr[0]); // <==== This should convert the date value (in the format of "yyyy.mm.dd hh:mi") to datatime type and assign it to the array
val[c] = StrToNumber(arr[1]); // <==== This will assign the value to the array
}
FileClose(h);
//+------------------------------------------------------------------+void StrToStringArray(string str, string &a[], string delim=",") {
//+------------------------------------------------------------------+int z1=-1, z2=0;
for (int i=0; i<ArraySize(a); i++) {
z2 = StringFind(str,delim,z1+1);
a[i] = StringSubstr(str,z1+1,z2-z1-1);
if (z2 >= StringLen(str)-1) break;
z1 = z2;
}
}
//+------------------------------------------------------------------+double StrToNumber(string str) {
//+------------------------------------------------------------------+// Usage: strips all non-numeric characters out of a stringint dp = -1;
int sgn = 1;
double num = 0.0;
for (int i=0; i<StringLen(str); i++) {
string s = StringSubstr(str,i,1);
if (s == "-") sgn = -sgn; elseif (s == ".") dp = 0; elseif (s >= "0" && s <= "9") {
if (dp >= 0) dp++;
if (dp > 0)
num = num + StrToInteger(s) / MathPow(10,dp);
else
num = num * 10 + StrToInteger(s);
}
}
return(num*sgn);
}
こんにちは、そしてコードの達人たち。
CSVファイルから独自の値をプロットするシンプルなインジケータを探しています。どなたか助けていただけませんか?
よろしくお願いします。
its own value "はどういう意味ですか?
mladenさん、ありがとうございます。
CVS ファイルを読み込んで、サブウィンドウに値をプロットするインジケータが必要なのですが、CVS にはカンマで区切られた 2 つの値があり、最初の値は日付、2 番目はインジケータがプロットすべき実際の値です。
例えば
はこのようになります。
インジケータは日付に応じた値を表示します。
これで少しは理解できたでしょうか?
ありがとうございました。
親愛なる友人へ
私はコーディングする必要があります。
キャンドルクローズ、キャンドルがUPしている場合は、アラートUPと キャンドルがダウンしている場合は、アラートDOWN 任意の時間枠です。
あなたが持っている場合plsは私を共有しています。
adanceであなたに感謝します。
- jesing
mladenさん、ありがとうございます。
CVS ファイルを読み込んで、その値をサブウィンドウにプロットするインジケータが必要なのですが、CVS はカンマで区切られた2つの値を持っていて、最初の値は日付、2番目はインジケータがプロットすべき実際の値です。
例えば
は以下のようなものです。
時刻,値
2016.10.26.21.20,127.765
2016.10.26.21.15,127.777
2016.10.26.21.10,127.777
2016.10.26.21.05,127.799
2016.10.26.21.00,127.791
2016.10.26.20.55,127.788
インジケータは日付に応じた値を表示します。
もう少し分かりやすくなったでしょうか?
あなたの助けに感謝します。
それは私が今のところ達成したものです。
AtApi。
mladenさん、ありがとうございます。
CVS ファイルを読み込んで、その値をサブウィンドウにプロットするインジケータが必要なのですが、CVS はカンマで区切られた2つの値を持っていて、最初の値は日付、2番目はインジケータがプロットすべき実際の値です。
例えば
は以下のようなものです。
時刻,値
2016.10.26.21.20,127.765
2016.10.26.21.15,127.777
2016.10.26.21.10,127.777
2016.10.26.21.05,127.799
2016.10.26.21.00,127.791
2016.10.26.20.55,127.788
インジケータは日付に応じた値を表示します。
もう少し分かりやすくなったでしょうか?
あなたの助けに感謝します。
これが私が今までに達成したことです。
こんにちわ
mladenさん。
新しいMT4ビルド用にアップデートしてください。
よろしくお願いします。
以下の3つの問題を解決するために、どなたかお手伝いいただけないでしょうか。
1. トレールエラーを修正する
2. 2番目のタイムフレームフィルタを削除して、システムは30mチャットで実行されます。
3.添付のインジケータを1Dチャットのフィルタとして追加してください。
親愛なる友人の皆様。
私のEAは、以下のエラーを出します。
"EURUSD+,M5:OrderDelete関数の ための未知のチケット21847676"
この文は何を意味するのでしょうか?何が問題で、私は何をすることができますか?
親愛なる皆様。
私のEAは以下の問題を出します。
"EURUSD+,M5: StringConcatenate(function)の未定チケット21847676"
この文は何を意味するのでしょうか?問題は何ですか?
私は何をすることができますか?
それは、チケット番号21847676の 注文を削除することができないことを意味します。
どちらかです。
こんにちは、MLadenさん。
このインジケータを、この画像のようなMTF別 チャートに表示させるのを手伝ってくれませんか?
参考