Помогите ускориться и оптимизировать - страница 3

 
Mathemat:
Это почему же?

он прав, одно значение больше нуля второе меньше, не может быть что бы одно значение было одновременно и больше и меньше нуля
 

Но это ж не значит, что после проверки первого второе можно не проверять, правильно, sanyooooook?

Между ними может быть "область гистерезиса".

 
Mathemat:

Но это ж не значит, что после проверки первого второе можно не проверять, правильно, 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);
}

в результате рассмотрения предложений и замечаний пришел к следующему коду

кто предложит лучше?

 
sanyooooook:

в результате рассмотрения предложений и замечаний пришел к следующему коду

кто предложит лучше?

while(res<0&&!IsStopped())
{
   res=OrderSend(Symbol1,OP_SELL,Lot,NormalizeDouble(MarketInfo(Symbol1,MODE_BID),Digits_),3,0,0,NULL,MAGIK);
   RefreshRates();
}

вроде эквивалентно, а переменной res нету

while(!IsStopped()&&OrderSend(Symbol1,OP_SELL,Lot,NormalizeDouble(MarketInfo(Symbol1,MODE_BID),Digits_),3,0,0,NULL,MAGIK)<0)
   RefreshRates();
 
sanyooooook:

в результате рассмотрения предложений и замечаний пришел к следующему коду

кто предложит лучше?

+ в случае ситуации

if(AccountProfit()>Profit)  

выполняется

часть кода в следующем if однозначно должна быть пропущена сразу. Так что может стоит поменять порядок условий? либо даже отправить

if(LockOrd)
   {
      CloseLock();
      LockOrd=false;
      Trade=1;
   }

внутрь него

 
обдумаю на медни )
 
после всех этих ускорений у меня комп виснет даже когда скрипт не работает, это надо же так ускорить )))
Причина обращения: