Ошибки в индикаторе МТ4 при #property strict - страница 2 123 Новый комментарий Vitalie Postolache 2016.11.23 15:48 #11 Natashe4ka: Сами условия для сигналов в коде убраны (конспирация) надо только исправить ошибки, но не терять возвращаемое значение)) Ну тогда какую помощь вы ожидаете? Меняйте тип функции на нужный, чтобы возвращать именно то, что надо для конкретно ваших условий. [Удален] 2016.11.23 17:17 #12 Natashe4ka: Не могу разобраться, при #property strict выдаёт 4 ошибки и как исправить не пойму.Ошибки на return(k==-1); и return(k > 0);Просто поменять на return(0); нельзя!!!Индикатор МТ4. Нужна помощь!! Ошибка возникает из-за того что переменная k доступна только внутри цикла, а return Вы делаете после цикла.Для примера исправил одну функцию, надеюсь остальные исправите сами. Если не сможете пишите.bool checkLowStrict(int count, int i){ for( int k=count-1; k>=0; k-- ){ if( Low[i+count] >= Low[i+k] ){ return false; } } return true;} Узнать значение индикатора на Помощь в кодировании Небольшой цикл [Удален] 2016.11.23 17:33 #13 Koldun Zloy: Ошибка возникает из-за того что переменная k доступна только внутри цикла, а return Вы делаете после цикла.Для примера исправил одну функциюОшибок нет и сигнала тоже опять нет.Не просто же именно так учтено возвращаемое значениеbool checkLowStrict(int count, int i) { for (int k=count-1; k>=0; k--) if (Low[i+count] >= Low[i+k]) break; return(k==-1); }//-------------------------------------+bool checkLowRef (int count, int i) { for (int k=count-1; k> 0; k--) if (Low[i+k] < Low[i]) break; return(k > 0); } Vladimir Deryagin 2016.11.23 18:52 #14 Natashe4ka: Ошибок нет и сигнала тоже опять нет.Не просто же именно так учтено возвращаемое значениеbool checkLowStrict(int count, int i) { for (int k=count-1; k>=0; k--) if (Low[i+count] >= Low[i+k]) break; return(k==-1); }//-------------------------------------+bool checkLowRef (int count, int i) { for (int k=count-1; k> 0; k--) if (Low[i+k] < Low[i]) break; return(k > 0); }int checkLowStrict(int count,int i,int kk=0) { for(int k=count-1; k>=0; k--) { if(Low[i+count]>=Low[i+k]) { kk==-1; } } return (kk); }может так попробовать Vitalie Postolache 2016.11.23 19:11 #15 Natashe4ka: Ошибок нет и сигнала тоже опять нет.Не просто же именно так учтено возвращаемое значениеЛадно, пусть так и остаётся, тогда просто объявляйте переменную к вне цикла (можно даже как глобальную) и будет вам щастя ;) [Удален] 2016.11.23 19:12 #16 Vladimir Deryagin:может так попробоватьНе работает к сожалению. Vitalie Postolache:Ладно, пусть так и остаётся, тогда просто объявляйте переменную к вне цикла (можно даже как глобальную) и будет вам щастя ;)Не работает, ошибок нет и сигналаint k;//+------------+int start() {А если закометировать то есть сигнал//#property strict int k;//+------------+int start() { Vitalie Postolache 2016.11.23 19:32 #17 Natashe4ka: Не работает к сожалению. Не работает, ошибок нет и сигналаint k;//+------------+int start() {А если закометировать то есть сигнал//#property strict int k;//+------------+int start() {А объявлять её в каждой функции перед циклом пробовали? [Удален] 2016.11.23 19:40 #18 Vitalie Postolache: А объявлять её в каждой функции перед циклом пробовали?Нет сигналаbool checkLowStrict(int count, int i) { int k; for (k=count-1; k>=0; k--)И так тоже нет сигналаint k;bool checkLowStrict(int count, int i) { for (k=count-1; k>=0; k--) Vitalie Postolache 2016.11.23 19:45 #19 Natashe4ka: Нет сигналаbool checkLowStrict(int count, int i) { int k; for (k=count-1; k>=0; k--)И так тоже нет сигналаint k;bool checkLowStrict(int count, int i) { for (k=count-1; k>=0; k--)Значит придётся отказаться от #property strict :) [Удален] 2016.11.23 19:47 #20 Vitalie Postolache: Значит придётся отказаться от #property strict :)С удовольствием, но в маркет такой продукт не пройдёт.Советник основан на этом индикаторе, как ссылаться на него если его не будет в маркете даже в бесплатном варианте? 123 Новый комментарий
Сами условия для сигналов в коде убраны (конспирация)
надо только исправить ошибки, но не терять возвращаемое значение))
Не могу разобраться, при #property strict выдаёт 4 ошибки и как исправить не пойму.
Ошибки на return(k==-1); и return(k > 0);
Просто поменять на return(0); нельзя!!!
Индикатор МТ4. Нужна помощь!!
Ошибка возникает из-за того что переменная k доступна только внутри цикла, а return Вы делаете после цикла.
Для примера исправил одну функцию, надеюсь остальные исправите сами. Если не сможете пишите.
{
for( int k=count-1; k>=0; k-- ){
if( Low[i+count] >= Low[i+k] ){
return false;
}
}
return true;
}
Ошибка возникает из-за того что переменная k доступна только внутри цикла, а return Вы делаете после цикла.
Для примера исправил одну функцию
Ошибок нет и сигнала тоже опять нет.
Не просто же именно так учтено возвращаемое значение
for (int k=count-1; k>=0; k--)
if (Low[i+count] >= Low[i+k]) break;
return(k==-1);
}
//-------------------------------------+
bool checkLowRef (int count, int i) {
for (int k=count-1; k> 0; k--)
if (Low[i+k] < Low[i]) break;
return(k > 0);
}
Ошибок нет и сигнала тоже опять нет.
Не просто же именно так учтено возвращаемое значение
for (int k=count-1; k>=0; k--)
if (Low[i+count] >= Low[i+k]) break;
return(k==-1);
}
//-------------------------------------+
bool checkLowRef (int count, int i) {
for (int k=count-1; k> 0; k--)
if (Low[i+k] < Low[i]) break;
return(k > 0);
}
{
for(int k=count-1; k>=0; k--)
{
if(Low[i+count]>=Low[i+k])
{
kk==-1;
}
}
return (kk);
}
Ошибок нет и сигнала тоже опять нет.
Не просто же именно так учтено возвращаемое значение
Ладно, пусть так и остаётся, тогда просто объявляйте переменную к вне цикла (можно даже как глобальную) и будет вам щастя ;)
может так попробовать
Не работает к сожалению.
Ладно, пусть так и остаётся, тогда просто объявляйте переменную к вне цикла (можно даже как глобальную) и будет вам щастя ;)
Не работает, ошибок нет и сигнала
//+------------+
int start() {
А если закометировать то есть сигнал
int k;
//+------------+
int start() {
Не работает к сожалению.
Не работает, ошибок нет и сигнала
//+------------+
int start() {
А если закометировать то есть сигнал
int k;
//+------------+
int start() {
А объявлять её в каждой функции перед циклом пробовали?
Нет сигнала
int k;
for (k=count-1; k>=0; k--)
И так тоже нет сигнала
bool checkLowStrict(int count, int i) {
for (k=count-1; k>=0; k--)
Нет сигнала
int k;
for (k=count-1; k>=0; k--)
И так тоже нет сигнала
bool checkLowStrict(int count, int i) {
for (k=count-1; k>=0; k--)
Значит придётся отказаться от #property strict :)
С удовольствием, но в маркет такой продукт не пройдёт.
Советник основан на этом индикаторе, как ссылаться на него если его не будет в маркете даже в бесплатном варианте?