Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 961

 
Vinin:
В тестере проверяли? Так там всего 1000 баров при старте доступна

Блиииин точно ! Забываю я всё время про это. Спасибо что напомнили.

А обойти это ограничение никак нельзя ?

 
goodearth:

Блиииин точно ! Забываю я всё время про это. Спасибо что напомнили.

А обойти это ограничение никак нельзя ?


Есть контроль количества баров необходимых для расчета.

if (Bars<MinBar) return;
 
rapid_minus:
На трех символах поставлен советник "по Слепцову" и на четвертом другой советник. Что, они мешают друг другу? Я нигде  не встретил упоминания, что на МТ4 нужно ставить только один советник и только на один символ. 
Нет, никаких подобных ограничений нет. Вопрос был к тому, что не может-ли посторонний советник закрывать все ордера. Да и этот надо проверить нет-ли в нём условия закрывать все чужие ордера. Или, как минимум, проверь будет-ли такая проблема если поставлен только один советник.
 
AlexeyVik:
Нет, никаких подобных ограничений нет. Вопрос был к тому, что не может-ли посторонний советник закрывать все ордера. Да и этот надо проверить нет-ли в нём условия закрывать все чужие ордера. Или, как минимум, проверь будет-ли такая проблема если поставлен только один советник.
Спасибо. Попробую в понедельник. Но тогда посторонний советник должен закрывать только убыточные ордера на всех символах. Как это выглядит в коде? Я с таким еще не сталкивался. 
 
AlexeyVik:

Прошу Вас разъяснить, я совсем запутался:

Нашел скрипт, закрывающий ордера с профитом или с минусом, но никак не пойму логики - во внешних переменных задается bool close_only_profit_orders=false, а затем в ф-и старт она проверяется отрицанием:   if(OrderType()==OP_BUY  && (!close_only_profit_orders || order_prof>0). То есть если она не фальш или есть ордера с профитом, то дальше идет ф-я OrderClose(). Но нигде в коде нет условий, по которым переменная close_only_profit_orders стала бы true. Тогда зачем она вообще?


                    

            

 
rapid_minus:

Прошу Вас разъяснить, я совсем запутался:

Нашел скрипт, закрывающий ордера с профитом или с минусом, но никак не пойму логики - во внешних переменных задается bool close_only_profit_orders=false, а затем в ф-и старт она проверяется отрицанием:   if(OrderType()==OP_BUY  && (!close_only_profit_orders || order_prof>0). То есть если она не фальш или есть ордера с профитом, то дальше идет ф-я OrderClose(). Но нигде в коде нет условий, по которым переменная close_only_profit_orders стала бы true. Тогда зачем она вообще?


                    

            

  Если, bool close_only_profit_orders=true;, то закрываются только профитные.

Как то так. 

 
r772ra:

  Если, bool close_only_profit_orders=true;, то закрываются только профитные.

Как то так. 

 Но нигде в коде нет условий, по которым переменная close_only_profit_orders стала бы true, т.е. она никогда не станет true, только если мы сами не сделаем ее  true, т.к. это внешняя переменная. Т.е. если мы ее сделаем true, это будет означать, что закрывать профитные ордера не надо. Но тогда возникает противоречие с "ИЛИ" -  || order_prof>0.

Вернее наоборот : если фальш, то не надо закрывать, и тогда противоречие, а если  true, то все в порядке...(?)

Совсем запутался 

 
rapid_minus:
 Но нигде в коде нет условий, по которым переменная close_only_profit_orders стала бы true, т.е. она никогда не станет true. 

Это вам решать, все закрывать или только профитные.

 
rapid_minus:

 Но нигде в коде нет условий, по которым переменная close_only_profit_orders стала бы true, т.е. она никогда не станет true, только если мы сами не сделаем ее  true, т.к. это внешняя переменная. Т.е. если мы ее сделаем true, это будет означать, что закрывать профитные ордера не надо. Но тогда возникает противоречие с "ИЛИ" -  || order_prof>0.

Вернее наоборот : если фальш, то не надо закрывать, и тогда противоречие, а если  true, то все в порядке...(?)

Совсем запутался 

Логика!

extern bool close_only_profit_orders = false; // закрываются любые, профитные и лоссные позиции, естественно, по каким-то условиям.

extern bool close_only_profit_orders = true; // закрываются только профитные, лоссные позиции не закрываются тоже по условиям.

В тестере можете проверить, какой вариант лучше! Или в режиме оптимизации 0 = false и 1 = true.

 
Спасибо всем