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

 

Здравствуйте уважаемые профи. Вопрос такой в старом билде 509 была такая функция

#import "wininet.dll"
   int InternetOpenA(string a0, int a1, string a2, string a3, int a4);
   int InternetOpenUrlA(int a0, string a1, string a2, int a3, int a4, int a5);
   int InternetReadFile(int a0, string a1, int a2, int& a3[]);
   int InternetCloseHandle(int a0);

int function1inet() {
   int IOURez;
   bool Rez = TRUE;
   string IOAgent= "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461)";
   bool IOAccess = FALSE;
   int IOSes = InternetOpenA(IOAgent, IOAccess, "0", "0", 0);
   if (IOSes != 0) {
      IOURez = InternetOpenUrlA(IOSes, "http://www.site.ru", "0", 0, -2080374528, 0);
      if (IOURez == 0) Rez = FALSE;
      else InternetCloseHandle(IOURez);
      InternetCloseHandle(IOSes);
   } else Rez = FALSE;
   return (Rez);
}

Поскольку в новых биладах строки теперь представляют собой последовательность символов Unicode и теперь надо использовать InternetOpenW и InternetOpenUrlW.

Использовать WebRequest не получается того же результата.
 
T-G:

Здравствуйте уважаемые профи. Вопрос такой в старом билде 509 была такая функция

Поскольку в новых биладах строки теперь представляют собой последовательность символов Unicode и теперь надо использовать InternetOpenW и InternetOpenUrlW.

Использовать WebRequest не получается того же результата.

так и в чём проблема? решение уже вроде выделено жирным шрифтом...

#import "wininet.dll"
int InternetAttemptConnect(int x);
int InternetOpenW(string sAgent,int lAccessType,
                  string sProxyName="",string sProxyBypass="",
                  int lFlags=0);
int InternetOpenUrlW(int hInternetSession,string sUrl,
                     string sHeaders="",int lHeadersLength=0,
                     int lFlags=0,int lContext=0);
int InternetReadFile(int hFile,uchar &sBuffer[],int lNumBytesToRead,
                     int &lNumberOfBytesRead[]);
int HttpQueryInfoW(int hRequest,int dwInfoLevel,
                   uchar &lpvBuffer[],int &lpdwBufferLength,int &lpdwIndex);
int InternetCloseHandle(int hInet);
#import
 
tuner:
а что именно интересует - просто перевод в безубыток?
Конкретно нужно, чтоб закрылась часть позиции. И при последующем проходе эта позиция уже не трогалась. Причем к размеру лота я не хочу привязываться. Надо пометить этот ордер и в цикле отфильтровывать. Может тикеты как то запоминать. Пока не знаю. ПроблемЭ
 
Gobsek:
Конкретно нужно, чтоб закрылась часть позиции. И при последующем проходе эта позиция уже не трогалась. Причем к размеру лота я не хочу привязываться. Надо пометить этот ордер и в цикле отфильтровывать. Может тикеты как то запоминать. Пока не знаю. ПроблемЭ

Тогда привязывайтесь к комментарию. У тех, что были закрыты частично (переоткрыты) в комментарии прописывается тикет той позиции, от которой произошла данная, например:

Была позиция Buy #12345 лотом 0.1, стала позиция Buy #12346 лотом 0.05. В последней в комментарии будет прописано "from #12345".

Если же найдёте в истории, в списке закрытых ордер с тикетом #12345, то в его комментарии будет прописано "to #12346".

Таким образом, проверяя комментарии открытых позиций, и соответствующих им закрытых ордеров, можно найти самый первый, родительский ордер (если было множественное частичное закрытие)

[Eliminado]  
Доброго времени суток! Подскажите, пожалуйста, новичку, как усреднять в метотрейдоре 4? В Метотрейдоре 5 ставишь ставку и цены автоматически усредняются. А как в 4?
 
artmedia70:

Тогда привязывайтесь к комментарию. У тех, что были закрыты частично (переоткрыты) в комментарии прописывается тикет той позиции, от которой произошла данная, например:

Была позиция Buy #12345 лотом 0.1, стала позиция Buy #12346 лотом 0.05. В последней в комментарии будет прописано "from #12345".

Если же найдёте в истории, в списке закрытых ордер с тикетом #12345, то в его комментарии будет прописано "to #12346".

Таким образом, проверяя комментарии открытых позиций, и соответствующих им закрытых ордеров, можно найти самый первый, родительский ордер (если было множественное частичное закрытие)

Интересно !!! Попробую в этом направлении. Спасибо !
 

Добрый день.

  Как узнать, что свеча закрыта и началось формирование новой  свечи?

Ozero.
 
Ozero:

Добрый день.

  Как узнать, что свеча закрыта и началось формирование новой  свечи?

Ozero.
Изменилось время  формирования свечи
 

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

int pendord() 

{
int t = 0;
for(int i=OrdersTotal()-1;i>=0;i--)
  {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
    {
      if( OrderSymbol()!=Symbol() || OrderType() != OP_BUYSTOP ||
    OrderType() != OP_SELLSTOP)continue;
      {
      t++;
 
if(nOrders < t*2)

{
 OrderSend(Symbol(),OP_SELLSTOP,lot,Ask - (opdist + mn)*Point,3,Ask - (opdist + mn)*Point + sl*Point,Ask - (opdist + mn)*Point - sl*Point,"",mn,0,Red);
}
else if(nOrders < t*2)
 OrderSend(Symbol(),OP_BUYSTOP,lot,Bid + (opdist + mn + 1)*Point,3,Bid + (opdist + mn + 1)*Point - sl*Point,Bid + (opdist + mn + 1)*Point + sl*Point,"",mn + 1,0,Blue);
}
mn +1;
}}

return(o);   
}
 
A Ctrl+Alt+M так сложно нажать для вставки кода? По вопросу - в кодобазе навалом советников - сеточников, искать примерно так.