Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
да но после смены ТФ советник начал трогать не свои ордера
! а это исключено, советника послал на экспертизу через СД
Там везде явно стоит только ордера текущей валютной пары.
Т.е. суть в том что советник модифицирует ордера. но в какой то момент он берет чужой ордер, который относится к другой валютной паре - и начинает его модифицировать.
Вот эта что ли функция?
У параметра sy выставлено умолчательное значение "". То есть очень велика вероятность, что именно это значение и попадёт в функцию.
Уберите использование умолчательных параметров. Уберите все вызовы функции ModifyTPALL(), которые без параметров.
В противном случае проверка sy=="" будет проходить всегда и наплюёт на текущий символ
Вот эта что ли функция?
У параметра sy выставлено умолчательное значение "". То есть очень велика вероятность, что именно это значение и попадёт в функцию.
Уберите использование умолчательных параметров. Уберите все вызовы функции ModifyTPALL(), которые без параметров.
В противном случае проверка sy=="" будет проходить всегда и наплюёт на текущий символ
ModifyTPALL без параметров переданых в советнике нет. Я всегда передаю параметры, неважно поставил по умолчанию или нет.! Т.е. везде есть параметры без них никак нельзя, так как последний параметр например вычисленный Тейкпрофит общий на все позиции данной пары.
и что самое интересное - вычислен правильно по данной паре, а модифицирует чужие ордера.
а почему ? ведь данный код везде во всех экспертах ?
Это просто КРАХ...
после перегрузки терминала все стало ок - советник снова работает нормально не трогая другие символы.
........................
Инициализация всегда была и есть на всех параметрах.
получается и в справке нужно менять
Параметры, передаваемые в функцию, могут иметь умолчательные значения, которые задаются константами соответствующего типа.
все как положено всегда делал.
Если какому-либо параметру было назначено умолчательное значение, то все последующие параметры также должны иметь умолчательное значение.
Пример неправильного объявления:
int somefunc(double a,
double d=0.0001, // объявлено значение по умолчанию 0.0001
int n, // значение по умолчанию не указано !
bool b, // значение по умолчанию не указано !
string s="passed string")
{
}
Суть проблемы в том что я передаю в функцию название Символа!
но в функции она в какой то момент начинает передаваться неправильно.
Пока запустил советника с принтами - ошибок нет - смотрю дальше.
а возможно проблема не в символе а в выборе ордера?
Т.е. символ выбранного ордера совпадает, но выбранный ордер по номеру является ордером не той валютной пары - это я так размышляю где может быть ошибка.
По-умолчанию sy="", сравниваете sy=="0", проверяете sy==""
Эти сравнения я уже где-то видел (и переменные в 2 буквы), и точно знаю где... :)))
да полно в инете, первые две буквы полного слова. у Кима все функции с такими именами.дело не меняет как понять ошибку и почему она ............. возникает.
Может-ли кто сказать, свойство IndicatorSetInteger(INDICATOR_LEVELCOLOR, level, colors); работает-ли в mql4 ?
Я попытался назначить цвет уровням, но не получилось. Тогда я скопировал полный текст из справки https://docs.mql4.com/ru/customind/indicatorsetinteger откомпилировал и ничего не получается. Стиль и толщина уровней меняется, а цвет остаётся неизменным.
Подскажите, пожалуйста, где ошибка.
В скрипте, запускаемом из подпапки Skripts\\Stochastic, есть следующие операторы:
file_name="Cross-Revers.Support."+hist_name+"."+valuta+"."+string(TF)+".csv";
myFile="Test\\"+file_name;//файл результатов тестирования
handle=FileOpen(myFile, FILE_CSV|FILE_READ|FILE_WRITE, ';');
По моему разумению, файл с именем file_name должен открыться в поддиректории File\\Test
На деле же в папке Test создается папка Cross-Revers.Support.Stochastic и в нее записывается файл с именем hist_name+"."+valuta+"."+string(TF)+".csv"
В чем проблема?
Эти сравнения я уже где-то видел (и переменные в 2 буквы), и точно знаю где... :)))