[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 460

 
demlin:
Да Instr есть, извиняюсь не знаю, что такое SRC


А дальше по коду перед циклом for... не забыли написать? -

Instr = Symbol();
 
раз любые вопросы то такой, дайте ссыль или поделитесь звуковым сигналом колокола открытия торговой сессии с биржи Nymex
 
Roman.:


А дальше по коду перед циклом for... не забыли написать? -

Instr=Symbol() я вставил в init блок советника, м быть в этом проблема?
 
demlin:
Instr=Symbol() я вставил в init блок советника, м быть в этом проблема?


Используйте мою конструкцию, можете вставить Ваш Instr вместо моего обычного Symbol () - Ваша не верная, кроме этого у Вас отсутствует контроль за выбором ордера...

 if (ticket>0)                                               // Если позиция открылась
                    {
                             while(OrderSelect(ticket,SELECT_BY_TICKET)==false)       // Если ордер выбран
                                 {
                                   Sleep(100);
                                 }
                                  double OpenPrice=OrderOpenPrice();
                                      
                                  
                    
                                if (orderType == OP_BUY) 
                                     {
                                       //здесь действия при бае
                                     }
            
                                if (orderType == OP_SELL) 
                                      {
                                        //здесь действия при селле
                                      }   
                            
                    }

Я также в своем сове - неттинговой Лавины - эту конструкцию использую в том числе и для трала ордера (как Вам и надо), кроме этого я торговал совом на реале - проблем в этом вопросе - выбора ордера, его трала... не было вообще никаких. Все же понятно и просто - разберите эту конструкцию по строчкам - там сложного ничего нет - все по классике...

В цикле перебираем все ордера в рынке - находим нужные и тралим их - от последнего к первому...

 
Roman.:


Используйте мою конструкцию, можете вставить Ваш Instr вместо моего обычного Symbol () - Ваша не верная, кроме этого у Вас отсутствует контроль за выбором ордера...

Я также в своем сове - неттинговой Лавины - эту конструкцию использую в том числе и для трала ордера (как Вам и надо), кроме этого я торговал совом на реале - проблем в этом вопросе - выбора ордера, его трала... не было вообще никаких. Все же понятно и просто - разберите эту конструкцию по строчкам - там сложного ничего нет - все по классике...

В цикле перебираем все ордера в рынке - находим нужные и тралим их - от последнего к первому...

Ага, спасибо, попробую прикрутить Вашу конструкцию. Кстати, если не секрет, как Лавина, там же мартин присутствует или я путаю?
 
demlin:
Ага, спасибо, попробую прикрутить Вашу конструкцию. Кстати, если не секрет, как Лавина, там же мартин присутствует или я путаю?

Да, все правильно. Пока с реала ее снял... :-))) Дорабатываю... см. отсюда и до конца ветки. Сейчас тестирую варианты на демо.
 
Еще один вопрос. Выражение !OrderSelect(orderIndex, SELECT_BY_POS) что означает? Не могу понять знак ! впереди ((
 
demlin:
Еще один вопрос. Выражение !OrderSelect(orderIndex, SELECT_BY_POS) что означает? Не могу понять знак ! впереди ((

! - это булевая операция НЕ

!false = true

!true = false

 
demlin:
Еще один вопрос. Выражение !OrderSelect(orderIndex, SELECT_BY_POS) что означает? Не могу понять знак ! впереди ((

!- логическое "не" - выражение означает, что если не выбран ордер по позиции в списке (F1) нажмите на OrderSelect(orderIndex, SELECT_BY_POS) - и прочтите, то переходим на след. итерацию цикла.

"Оператор continue передает управление в начало ближайшего внешнего оператора цикла while или for, вызывая начало следующей итерации. Этот оператор по действию противоположен оператору break."

Тоже самое и здесь

 if ((OrderSymbol() != Symbol()) || (OrderMagicNumber() != MagicNumber))
      {
         continue;
      }

т.е. если это не наш инструмент или не наш магик, то также сразу по оператору continue переходим на очередную итерацию цикла, текущую итерацию дальше не продолжаем выполнять...

Тем самым происходит фильтрация (узнавание) именно тех ордеров, которые открыты этим совом с его уникальным магик намбером и по его рабочему инструменту...

Далее после блока контроля открытой (нашей...:-)))) позиции - происходит ее трал, при выполнении условий для трала именно этой (текущей) выбранной позы в рынке...

После трала (или не трала) переходим к следующей итерации (ордеру в рынке) при его наличии и уже работаем с ним.

 
semiromid:

Прошу больше мне не отвечать . Без вас справлюсь и все выучу !!!


Прочитал, удачи.
Причина обращения: