Давайте объясню немного лучше: мне нужен индикатор, который считывает данные из CVS файла и строит график значений в подокне, CVS будет иметь 2 значения, разделенные запятыми, первое значение - это дата, а второе - фактическое значение, которое индикатор должен построить.
Давайте объясню немного лучше: мне нужен индикатор, который считывает данные из CVS файла и строит график значений в подокне, CVS будет иметь 2 значения через запятую, первое значение - дата, а второе - фактическое значение, которое индикатор должен построить.
например
CVS выглядит следующим образом:
Время, значение
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
индикатор будет строить значение в соответствии с датой
Надеюсь, теперь стало немного понятнее...
Спасибо за помощь, друг!
Это то, чего я достиг на данный момент:
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);
}
Я не уверен, почему, если я печатаю dt[c], он всегда возвращает одно и то же значение... как будто время никогда не меняется, даже если arr[0] меняется на каждой итерации цикла...
после этого мы должны присвоить значение бару с этим временем... но я застрял...
Давайте объясню немного лучше: мне нужен индикатор, который считывает данные из CVS файла и строит график значений в подокне, CVS будет иметь 2 значения, разделенные запятыми, первое значение - это дата, а второе - фактическое значение, которое индикатор должен построить.
например
CVS выглядит следующим образом:
Время, значение
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
индикатор будет строить значение в соответствии с датой
Надеюсь, теперь стало немного понятнее...
Спасибо за помощь, друг!
Вот чего я достиг на данный момент:
Неважно, я решил проблему....the SrtToTime принимает только строку с этим форматом: "yyyy.mm.dd hh:mi", что означает, что я загружал CSV с этим форматом вместо "yyyy.mm.dd hh.mi" и, очевидно, выдавал ошибку... в любом случае, я решил!!!
Привет ребята и гуру кода,
Я ищу простой индикатор, который строит свои собственные значения из CSV файла. Кто-нибудь может мне помочь?
Заранее спасибо!
Что означает "собственное значение"?
Спасибо mladen,
Давайте объясню немного лучше: мне нужен индикатор, который считывает данные из CVS файла и строит график значений в подокне, CVS будет иметь 2 значения, разделенные запятыми, первое значение - это дата, а второе - фактическое значение, которое индикатор должен построить.
например
CVS выглядит следующим образом:
индикатор будет строить значение в соответствии с датой.
Надеюсь, теперь стало немного понятнее...
Спасибо за помощь, друг!
Дорогой друг,
мне нужно кодировать,
закрытие свечи, затем если свеча вверх, то предупреждениевверх, если свеча вниз, то предупреждениевниз на любом таймфрейме
если у вас есть, пожалуйста, поделитесь со мной,
спасибо за внимание,
- джезинг
Спасибо mladen,
Давайте объясню немного лучше: мне нужен индикатор, который считывает данные из CVS файла и строит график значений в подокне, CVS будет иметь 2 значения через запятую, первое значение - дата, а второе - фактическое значение, которое индикатор должен построить.
например
CVS выглядит следующим образом:
Время, значение
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 значения, разделенные запятыми, первое значение - это дата, а второе - фактическое значение, которое индикатор должен построить.
например
CVS выглядит следующим образом:
Время, значение
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
индикатор будет строить значение в соответствии с датой
Надеюсь, теперь стало немного понятнее...
Спасибо за помощь, друг!
Вот чего я достиг на данный момент:
здравствуйте
господин Младен:
не могли бы вы обновить его для новой сборки mt4
наилучшие пожелания
Пожалуйста, может ли кто-нибудь помочь мне исправить эти 3 проблемы
1. исправить ошибку трейлинга
2.удалить фильтр второго таймфрейма, система будет работать на 30м чате
3.добавить прилагаемый индикатор в качестве фильтра на 1D чат
@Дорогие друзья,
Моя ea выдает следующую ошибку.
"EURUSD+,M5: неизвестный тикет 21847676 для функции OrderDelete".
Что означает это предложение? В чем проблема и что я могу сделать?
@Дорогие друзья,
Моя ea выдает следующую проблему.
"EURUSD+,M5: неизвестный билет 21847676 для StringConcatenate(function"
Что означает это предложение? В чем проблема?
Что я могу сделать?
Это означает, что он не может найти ордер с номером тикета 21847676 , который он может удалить.
Либо :
здравствуйте господин младен
не могли бы вы помочь наложить этот индикатор на MTFотдельный график, подобный этой картинке.
с уважением