Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А не могли бы вы на примере этой же функции показать. как правильно расставлять скобочки, провести мастер класс, так сказать, для начинающих.
Нашли лопуха =)
Мог бы.
Ошибки:
1. Цикл for(i=total;i>=0;i--) и выбор ордера OrderSelect(i-1) в нем.
2. В этом же цикле: если if (OrderSymbol()==Symbol()) то выполняется ТОЛЬКО ОДНА СТРОКА КОДА: int tickdel=OrderTicket(); Следующие строки выполняются при любом символе ордера.
А не могли бы вы на примере этой же функции показать. как правильно расставлять скобочки, провести мастер класс, так сказать, для начинающих.
До функции del() программа с такой логикой никогда не дойдет
Ну, там имелось в виду что магик != всем перечисленным значениям.
Тогда она дойдет, но при определенных обстоятельствах - без переменной tickdel.
а как у вас получился разнос по горизонтали, я когда вставляю из буфера то все строки подгоняются к началу строки
Именнно ей и пользуюсь броузер седьмой
но если вставлять из буфера через contrl C\\contrlV то все строки в коде подгоняются к началу, пропадают все отступыДо функции del() программа с такой логикой никогда не дойдет
Ну, там имелось в виду что магик != всем перечисленным значениям.
Тогда она дойдет, но при определенных обстоятельствах - без переменной tickdel.
Ну как же прога дойдет если по дороге взаимоисключающие условия ?
if ((OrderType()==OP_BUYSTOP)||(OrderType()==OP_SELLSTOP))//Если ордер отложенный(мы работаем со стопами)
if(magic == -123)//А здесь if(magic != -123) Если маг.не(-123) <= Этот иф относится к предыдущему и выполняется если ордер отложенный
if(magic == 123)// должно if(magic != 123) Если маг.не( 123) <= Этот иф относится к предыдущему и выполняется если магик == -123
следовательно магик при попадании сюда никогда не равен 123 и результатом всегда есть фальш
Остальная часть никогда не выполняется поскольку следующий иф также выполняется если предыдущий дает истину ( а он всегда дает фальш)
if(magic == 236)// быть if(magic != 236) Если маг.не( 236)
if(magic == 764)// так if(magic != 764) Если маг.не( 764)
{
...................
Успехов.
ЗЫ. Вы совершенно верно заметили: все дело в логике: комбинировании логических условий (и расстановке скобочек в том числе).
И еще логика Вашей проги на соотвествует логике исходной. У Вас, судя по всему, реализовано то, что пытался реализовать автор.
Ну как же прога дойдет если по дороге взаимоисключающие условия ?
Я же написал - там везде должно быть "!=". И автор имел в виду именно это (он говорил).
Ну как же прога дойдет если по дороге взаимоисключающие условия ?
Я же написал - там везде должно быть "!=". И автор имел в виду именно это (он говорил).
Я имел ввиду код исходный. Да и Vinin приводит исходный код в пример о котором и говорит, что этот код до вызова функции дел не дойдет. Видимо, просто не понял о каком коде Вы говорили.
Успехов.
ЗЫ Сорри - действительно глянул невнимательно.
Предлагаю конструкцию по проще
int ArrayFibo[]={23,38,50,61,74,100,123,138,150,161,174,200,223,238,250,261,274,300};
if (magic!=ArrayFibo[ArrayBsearch(ArrayFibo,magic)]){del(tickdel);}