ПОМОГИТЕ КТО МОЖЕТ !!! - страница 11

 
Techno:
нифигасе тоже самое, совершенно другой эксперт. Пользуйся моим, дополни недостающими деталями

ДА Я НЕ ПРО ИЗНАЧАЛЬНЫЙ А ПРО ТОТ ЧТО СКЛЕИЛ ИЗ ВАШИХ ЧАСТЕЙ.. А ЗА УРОК С МАССИВОМ БОЛЬШОЕ СПАСИБО !
 
sllawa3:
НО ВОПРОС ТО ТАК И ОСТАЛСЯ ОТКРЫТЫМ.. КАК ОБОЙТИ ОШИБКУ СЕЛЕКТА... ЭТО ПРОСТО СЛЯПАЛИ ЭКСПЕРТ С МАССИВОМ... НЕ ВСЕГДА ЖЕ ДЕЛАТЬ ПО ЭТОМУ ШАБЛОНУ..
заместо массивов можно было дофига переменных. В селекте нету ошибки, разница в экспертах в том, что блок перебора ордеров независим от остальной программы. И модификация от удаления тоже не зависит, а у тебя все в месте, чтобы писать все вместе, нужно обладать большим опытом, а ты просто где-то накосячил, проще новый эксперт написать, чем в той каше разбираться.
 

Короче смотри, если ты не обнуляешь переменные, они нигде больше не обнуляются и ничего в твоем изначальном варианте не работает. Если ты их обнуляешь в конце, то советник работает, но у тебя стоит строка, например if(OrderType() == OP_BUYSTOP&&DB==1){OrderDelete(OrderTicket(),CLR_NONE);return(0);}

и ничего не работает потому, что первым ордером может пойти лимитный, а рыночный только за ним, и это условие никогда не выполнится и отложник не будет удален. Так что твой эксперт работает только тогда, когда последовательность ордеров в терминале находится в соответствии с алгоритмом, такое как ты понял бывает редко за 11 лет 90 сделок открылось, я проверил. Так что вывод - неправильная структура программы, а точнее тотальная зависимость одной итерации при переборе от другой.

 
НУ ПОНЯТНО ЧТО ГДЕ ТО КОСЯК.. ВОТ И ИСКАЛ ГДЕ..НО ТВОЙ КОД НАМНОГО КОРОЧЕ.. УДОБНЕЕ ГОРАЗДО
 
sllawa3:
НУ ПОНЯТНО ЧТО ГДЕ ТО КОСЯК.. ВОТ И ИСКАЛ ГДЕ..
вот я и написал тебе ошибку выше. Структура программы не верная, тоесть это не в одном символе ошибка, а в 70% всей программы ошибка.
 

У ВАС ТОЖЕ ОШИБКА В КОДЕ.. НЕ МОДИФИТ ПОЗЫ БАЙ ТАК ЧТО ЕСЛИ СРАБОТАЛ БАЙ СТОП ТО ОРДЕР ВИСИТ БЕЗ СТОПА И ТЕЙКА И ДРУГИЕ НЕ ОТКРЫВАЮТСЯ

НЕ СНИМАЮТСЯ ДАННЫЕ DB[2]==0 DB[3]==0 ТАК ЖЕ

 
разобрался.. поставил DB[0] не > 1 a >=1....
 
ну да, у себя я ее то поправил, просто в выложенный файл забыл поставить
 
sllawa3:

У ВАС ТОЖЕ ОШИБКА В КОДЕ.. НЕ МОДИФИТ ПОЗЫ БАЙ ТАК ЧТО ЕСЛИ СРАБОТАЛ БАЙ СТОП ТО ОРДЕР ВИСИТ БЕЗ СТОПА И ТЕЙКА И ДРУГИЕ НЕ ОТКРЫВАЮТСЯ

НЕ СНИМАЮТСЯ ДАННЫЕ DB[2]==0 DB[3]==0 ТАК ЖЕ

твоя проблема Слава в том, что ты не приемлешь новых идей.. тебе выдали другой подход и только, а ждешь что тебе готовое решение выдадут на ура..

это ты уж сам решай как бороться с возможными проблемами при работе с ордерами - реквоты, некорректные цены и прочее..

 
Techno:
ну да, у себя я ее то поправил, просто в выложенный файл забыл поставить

решил все свои эксперты переписать с массивом.. вот думаю как добавить ещё 2 переменные ордер лот и ордер профит и 2 ордера на байлимит и селлимит

в таблицу перебора ордеров

есть ли ограничения на количество переменных по горизонтали и ордеров по вертикали ? и переменные перед стартом [4] это что количество ордеров или количество переменных в каждом ордере ?

Причина обращения: