Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
2014.10.15 12:36:23.875 Тестер: Не удается загрузить Experts\Fisher Auto EA v1 m11
2014.10.15 12:36:23.875 Не удается открыть файл 'C:\Program Files\Forex Broker Inc MT4 Client Terminal\MQL4\Experts\Fisher Auto EA v1 m11.ex4' [2].
2014.10.15 12:36:23.875 Cannot open file 'C:\Program Files\Forex Broker Inc MT4 Client Terminal\MQL4\Experts\Fisher Auto EA v1 m11.ex4' [2]
Если ваш советник скомпилирован и, как я видел, может быть загружен на живой график, единственное, что может вызвать это новый metatrader 4 и его ошибки в бэк-тестере. Но проверьте, правильно ли скомпилирован советник
объявление 'LeftNum1' скрывает глобальное объявление в строке 20 fisher m111.mq4 119 8
возможно, проблема между экспертом и индикатором!?
2014.10.15 12:36:23.875 Cannot open file 'C:\Program Files\Forex Broker Inc MT4 Client Terminal\MQL4\Experts\Fisher Auto EA v1 m11.ex4' [2]
Быстрый визуальный тест этого советника
Он работает и открывает (и закрывает) ордера. Используются параметры по умолчанию
Привет, ребята... еще одна небольшая просьба:
может кто-нибудь подсказать мне, как удалить дублирующиеся значения из строкового массива?
Пожалуйста,
Спасибо!
Привет, ребята... еще одна небольшая просьба:
может ли кто-нибудь подсказать мне, как удалить дублирующиеся значения из строкового массива?
Пожалуйста,
Спасибо!Вы не можете удалить элемент(ы) массива, если только он/они не являются последним(и) элементом(ами) массива. Поскольку в 99.999% случаев это не так, вы должны создать новый пустой массив и добавить в этот вновь созданный массив только уникальные элементы существующего массива.
Спасибо mladen за ваш ответ... так я должен сделать что-то подобное?
int numDups = 0, prevIndex = 0;
string tempArray[];
for (int x = 0; x < ArraySize(myArray); x++)
{
bool foundDup = false;
for (int j = 0; j < x; j++)
{
if (myArray[x] == myArray[j])
{
foundDup = true;
numDups++; // Increment means Count for Duplicate found in array.
continue;
}
}
if (foundDup == false)
{
tempArray[prevIndex] = myArray[x]; prevIndex++;
}
}
Спасибо mladen за ваш ответ... так я должен сделать что-то подобное?
int numDups = 0, prevIndex = 0;
string tempArray[];
for (int x = 0; x < ArraySize(myArray); x++)
{
bool foundDup = false;
for (int j = 0; j < x; j++)
{
if (myArray[x] == myArray[j])
{
foundDup = true;
numDups++; // Increment means Count for Duplicate found in array.
continue;
}
}
if (foundDup == false)
{
tempArray[prevIndex] = myArray[x]; prevIndex++;
}
}
[/CODE]Попробуйте что-то вроде этого :
[CODE] string tempArray[];
for (int i = 0; i < ArraySize(myArray); i++)
for (int j = i+1; j < ArraySize(myArray); j++)
if (myArray == myArray[j]) myArray[j]="remove";
for (i = 0; i < ArraySize(myArray); i++)
if (myArray != "remove") { ArrayResize(tempArray, ArraySize(tempArray)+1); tempArray[ArraySize(tempArray)-1]=myArray; }
Попробуйте сделать что-то вроде этого:
for (int i = 0; i < ArraySize(myArray); i++)
for (int j = i+1; j < ArraySize(myArray); j++)
if (myArray == myArray[j]) myArray[j]="remove";
for (i = 0; i < ArraySize(myArray); i++)
if (myArray != "remove") { ArrayResize(tempArray, ArraySize(tempArray)+1); tempArray[ArraySize(tempArray)-1]=myArray; }
Спасибо mladen!
Проблема в том, что этот способ не удаляет строку из массива, он просто меняет значение строки на "remove" как для оригинального, так и для дублирующего значения... так что если я захочу позже отфильтровать их, я удалю и оригинальное значение... надеюсь, я понятно объяснил...