Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это почему же?
он прав, одно значение больше нуля второе меньше, не может быть что бы одно значение было одновременно и больше и меньше нуля
Но это ж не значит, что после проверки первого второе можно не проверять, правильно, sanyooooook?
Между ними может быть "область гистерезиса".
Но это ж не значит, что после проверки первого второе можно не проверять, правильно, sanyooooook?
Между ними может быть "область гистерезиса".
не мудри, отрицательное не может быть положительным тут скорее всего обобщающее условие подходит такое: если бид больше нуля или равно нулю, то смотрим на верхнюю границу иначе на нижнюю.
ЗЫ: "гистерезиса" это как, в связи с заумностью фразы и впервые увиденным буквосочетанием, смысл не понял.
Ну да, не въехал вначале.
"Гистерезис" - это типа область между обоими значениями. Забей, все нормально.
{ bid_=iClose(NULL,0,0); Trade=1; double Lim=(bandsH-bandsL)/8; if(Digits==3||Digits==5) { Slippage=Slippage*10; } bool LockOrd=false; int Long=0; double Digits_=MarketInfo(Symbol1,MODE_DIGITS); double Spred; double bid1_; int res; while(!IsStopped()) { RefreshRates(); Spred=(MarketInfo(Symbol2,MODE_SPREAD)+MarketInfo(Symbol1,MODE_SPREAD)); bid1_=iClose(NULL,0,0); res=-1; if(AccountProfit()>Profit) { LockAllOrders(); LockOrd=true; Trade=0; } if(MathAbs(bid1_-bid_)<=Lim) { if(Spred<=SPRED_) { if(Trade==1) { if(bid1_>bandsH) { if(OrderSend(Symbol2,OP_BUY,Lot,NormalizeDouble(MarketInfo(Symbol2,MODE_ASK),Digits_),3,0,0,NULL,MAGIK)>(-1)) { while(res<0&&!IsStopped()) { res=OrderSend(Symbol1,OP_SELL,Lot,NormalizeDouble(MarketInfo(Symbol1,MODE_BID),Digits_),3,0,0,NULL,MAGIK); RefreshRates(); } Trade=0; } } else if(bid1_<bandsL) { if(OrderSend(Symbol2,OP_SELL,Lot,NormalizeDouble(MarketInfo(Symbol2,MODE_BID),Digits_),3,0,0,NULL,MAGIK)>-1) { while(res<0&&!IsStopped()) { res=OrderSend(Symbol1,OP_BUY,Lot,NormalizeDouble(MarketInfo(Symbol1,MODE_ASK),Digits_),3,0,0,NULL,MAGIK); RefreshRates(); } Trade=0; } } } } } if(LockOrd) { CloseLock(); LockOrd=false; Trade=1; } bid_=bid1_; Sleep(10); } return(0); }в результате рассмотрения предложений и замечаний пришел к следующему коду
кто предложит лучше?
в результате рассмотрения предложений и замечаний пришел к следующему коду
кто предложит лучше?
вроде эквивалентно, а переменной res нету
в результате рассмотрения предложений и замечаний пришел к следующему коду
кто предложит лучше?
+ в случае ситуации
if(AccountProfit()>Profit)выполняется
часть кода в следующем if однозначно должна быть пропущена сразу. Так что может стоит поменять порядок условий? либо даже отправить
внутрь него