Допустим ли следующий код для преодоления реквотов

 
while(OrderSend(Symbol(),OP_SELL,Lots(),Bid,50,Bid+sl*Point,0,"Позиция",777,0,Red) < 0){}
 

ответьте себе -
1. какие у этого метода есть положительные и отрицательные моменты?
2. какие есть альтернативы?

и примите решение самостоятельно по конкретной требуемой бизнес логики.

 
sergeev:

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



Отрицательные? Запросы будут идти бесконечно. Но можно добавить так:

 while(OrderSend(Symbol(),OP_BUY,Lots,Ask,15,Ask-sl*Point,0,"!",magic_number,0,Blue) < 0)
            {Sleep(10000); RefreshRates();}

Я не силен в вопросах, как на том конце могут обработать такое, поэтому и спрашиваю совета.

 
smartbutterfly:


Я не силен в вопросах, как на том конце могут обработать такое, поэтому и спрашиваю совета.

на том конце обрабатывают то, что вы им посылаете.

ок. вы расширили вариант, добавив паузу.

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

ибо проблемы если и будут, то они будут не "на том конце", а на вашем - в вашем эксперте.

 
sergeev:

на том конце обрабатывают то, что вы им посылаете.

ок. вы расширили вариант, добавив паузу.

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

ибо проблемы если и будут, то они будут не "на том конце", а на вашем - в вашем эксперте.



Лот фиксирован, стоп есть. Кроме как вероятность поймать резкое движение в противоположную сторону, других проблем не вижу. Но пара убытков не перевешивают десяток упущенных возможностей войти из за реквота. Что я упускаю?
 

А если так? 

 Мне интересно, при каком количестве и частоте запросов, брокеру это может не понравиться?

int count = 0;
while(OrderSend(Symbol(),OP_BUY,Lots,Ask,15,Ask-sl*Point,0,"!",7899,0,Blue) < 0)
            {Sleep(10000); RefreshRates();count++; if (count > 10) break;}
            count = 0;
 
smartbutterfly:

Что я упускаю?

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

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

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

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

---

касательно понравится ли брокеру - все зависит от брокера. 
Некоторые не обращают на это внимание. Некоторые блочат автоторговлю счета при некотором пороге частоты обновлений. цифры не оглашаются, чтоб не злоупотребляли.

 
sergeev:

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

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

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

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

---

касательно понравится ли брокеру - все зависит от брокера. 
Некоторые не обращают на это внимание. Некоторые блочат автоторговлю счета при некотором пороге частоты обновлений. цифры не оглашаются, чтоб не злоупотребляли.



Тралы отдельно, а закрытие по профиту не предусмотрено правилами ТС. А для закрытия рынка этого разве не хватит if (Volume[0]>1) return (0); в start()? А что такое экспирация символа?
 
smartbutterfly:


Недопустимое решение ..

 Правильней тогда добавить например 3 5 попыток , причем в определенном диапазоне уровней 

т к правильно подметили ,  цена может резко уйти  в другой диапазон и вы откроете бай на хае диапазона цен

полутора месяцев , недели , года, дня

а зачем вам на хае  бай? Или сел на самом дне.. 

Ведь советник должен открывать сделку по сигналу, а сигнал это условия захода цены в оределенный

диапазон , на определенный уровень 

 
smartbutterfly:
Тралы отдельно, а закрытие по профиту не предусмотрено правилами ТС. А для закрытия рынка этого разве не хватит if (Volume[0]>1) return (0); в start()? А что такое экспирация символа?

:)

сори, дальше без меня.

 

Бывает, очень хочется совершить что-нибудь эдакое :)

 

 

 

Однако всё же, прежде чем браться за великие свершения, не помешало бы хоть краем глаза взглянуть в словарь терминов -- чтоб незнакомые слова не вводили в ступор сразу же.

;)