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

 
T-G:

Подскажите, есть csv файл в нем данные в таком формате 1.33027; 1.33023 и так далее.

Далее читаю этот файл но почему то данные читаются с 4-х значной точностью а мне надо с 5.

Читал по разному и

не помогает

Читаются с точностью до 15 знака. Последние билды даже больше при объявлении констант. Чтобы отобразить знаки после 4-го, надо воспользоваться функцией.
 
народ подскажите пожалуйста, можно ли у ордера имеющего магик номер в процессе торговли его изменить ?
 
Добрый день, помогите советом написал сову, она периодически должна открывать по 2 ордера одновременно проблемма в том что не всегда открывается оба ордера, проскальзывание ставлю и 3 и 5 и 10, но всё равно нет нет да и откроет одиночку. Не могу сообразить как можно организовать сторожа который бы отслеживал правильность открытия и при необходимости открывал недостающий "забытый" ордер?
 
Myth63:
народ подскажите пожалуйста, можно ли у ордера имеющего магик номер в процессе торговли его изменить ?

Нет
 

Помогите кто знает! никак не могу заставить работать код:

for(i=1;i<=total;i++) // Цикл перебора ордер
{
if(OrderSelect(i-1,SELECT_BY_POS)==true)
{
if(OrderType()==OP_BUY && Ticket1==OrderTicket())
{
if(OrderCloseTime()==0 && SL1<Price1 && Bid-Price1>(NoLoss1*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(Point*(NoLoss1-3)),OrderTakeProfit(),0,Blue);
}
if ( OrderCloseTime()==0 && SL1>=Price1 && Bid - SL1 > ((NoLoss1+StepLoss1)*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(Point*(NoLoss1-3)),OrderTakeProfit(),0,Blue);
}
}
}
}

смысл в том, что он должен модифицировать 1 ордер из нескольких : Ticket1, а он вообще не модифицирует

 
azik1306:

Помогите кто знает! никак не могу заставить работать код:


for(i=1;i<=total;i++) // Цикл перебора ордер
{
   if(OrderSelect(i-1,SELECT_BY_POS)==true)
   {
      if(OrderType()==OP_BUY && Ticket1==OrderTicket())
      {
         // Что выводится??? Посмотрите и проверьте, выполняются ли условия модификации
         // А заодно проверьте, нет ли в логах сообщений об ошибке
         Print("SL1=",DoubleToStr(SL1,8));
         Print("Price1 =",DoubleToStr(Price1 ,8));
         Print("Bid=",DoubleToStr(Price1 ,8));
         Print("NoLoss1=",DoubleToStr(NoLoss1,8));
         Print("StepLoss1=",DoubleToStr(StepLoss1,8));

         if(OrderCloseTime()==0 && SL1<Price1 && Bid-Price1>(NoLoss1*Point))
         {
            OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(Point*(NoLoss1-3)),OrderTakeProfit(),0,Blue);
         }

         if ( OrderCloseTime()==0 && SL1>=Price1 && Bid - SL1 > ((NoLoss1+StepLoss1)*Point))
         {
            OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(Point*(NoLoss1-3)),OrderTakeProfit(),0,Blue);
         }
      }
   }
}
 
alsu:

+ если нужно менять только 1 ордер с номером ticket1, то цикл вообще не нужен.

сразу выбирается ордер по тикету и изменяется

 
ilunga:

+ если нужно менять только 1 ордер с номером ticket1, то цикл вообще не нужен.

сразу выбирается ордер по тикету и изменяется

ага, +
 
Спасибо, заработало!!!
 
Добрые люди подскажите (или киньте линк, где мой вопрос обсуждался), какая конструкция по быстродействию лучше 1 или 2:
// --- 1
if (Stochastic1<=20 && signal<value && flag>Big_flag && Ask<=price)
{ RefreshRates(); OrderSend(...); }

// --- 2
if (Stochastic1<=20)
{  if (signal<value)
   {  if (flag>Big_flag)
      {  if(Ask<=price)
         {  RefreshRates(); OrderSend(...);
}  }  }  }