MetaTrader 4 Client Terminal build 604 - страница 3

 
А инклюды больше сами автоматом не прописываются когда я мышкой перетягиваю нужный файл ? как то неудобно стало или я чето непонял ?
 

При проделанной гигантской работе по совершенствованию среды разработки metaeditor, остаются совершенно нелепые (и на мой взгляд, труднообъяснимые) недоработки в пользовательском интерфейсе терминала:

- узкое окошко свойств экспертов и индикаторов. Вид на список свойств эксперта – как через узкую амбразуру. Учитывая, что у многих экспертов имеются десятки настраиваемых параметров, крайне неудобно пользоваться имеющимся интерфейсом. Умельцы уже давно решили эту проблему с помощью WIN API. Но абсолютно надёжного решения мне не попадалось.

-ну и до кучи (я уже писал ранее), – неупорядоченный список финансовых инструментов в окне «Обзор рынка». Это же касается выпадающего списка инструментов при выборе символа в окне “Настройки” тестера, выпадающего меню при клике на значке “Новый график”.

По- моему, большинство пользователей метатрейдера 4, всё-таки, не программисты. И не мешало бы уделить больше внимания обеспечению комфортной работы в самом терминале.

Еще раз спасибо разработчикам за обновлённый mql4.

 

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

в последней 604 версии терминала (со стриктом и без), а компил старой версии (509) работает ошибка

выдается ошибка "Ошибка при вызове InternetOpenA()"

#property strict
#import "wininet.dll"
int InternetAttemptConnect(int x);
int InternetOpenA(string sAgent,int lAccessType,string sProxyName="",
                  string sProxyBypass="",int lFlags=0);
int InternetOpenUrlA(int hInternetSession,string sUrl,string sHeaders="",
                     int lHeadersLength=0,int lFlags=0,int lContext=0);
int InternetReadFile(int hFile,int &sBuffer[],int lNumBytesToRead,
                     int &lNumberOfBytesRead[]);
int InternetCloseHandle(int hInet);
#import

int init(){
    string s = ReadWebPage("http://bmfn.com.ua/ehkonomicheskij_kalendar.htm?fwd=&back=&s_dates=07.02.2014");    
    Print("lenth: ",StringLen(s));
    return(0);
}

int start(){
    return(0);
    
}

string ReadWebPage(string url){ 
    int cBuffer[256], dwBytesRead[1]; 
    string TXT = "", text = "";
    bool bResult = false;

    if (!IsConnected()) {
        Alert("Нет соединения с сервером !"); return("");
    }

    if (!IsDllsAllowed()) {
        Alert("Необходимо в настройках разрешить импорт DLL"); return("");
    }

    int rv = InternetAttemptConnect(0);
    if (rv != 0) {
        Alert("Ошибка при вызове InternetAttemptConnect()"); return("");
    }

    int hInternetSession = InternetOpenA("Microsoft Internet Explorer", 0, "", "", 0);
    if (hInternetSession <= 0) {
        Alert("Ошибка при вызове InternetOpenA()"); return("");
    }

    int hURL = InternetOpenUrlA(hInternetSession, url, "", 0, 0, 0);
    if (hURL <= 0) {
        Alert("Ошибка при вызове InternetOpenUrlA()");
        InternetCloseHandle(hInternetSession); return("");
    }
    int i = 0;
    while (!IsStopped()) {
        for (i = 0; i < ArraySize(cBuffer); i++) {
            cBuffer[i] = 0;
        }
        bResult = InternetReadFile(hURL, cBuffer, 1024, dwBytesRead);
        if (dwBytesRead[0] == 0) break;

        text = "";   
        for (i = 0; i < ArraySize(cBuffer); i++) {
            text = text + CharToStr(cBuffer[i] & 0x000000FF);
            if (StringLen(text) == dwBytesRead[0])  break;
            text = text + CharToStr(cBuffer[i] >> 8 & 0x000000FF);
            if (StringLen(text) == dwBytesRead[0])  break;
            text = text + CharToStr(cBuffer[i] >> 16 & 0x000000FF);
            if (StringLen(text) == dwBytesRead[0])  break;
            text = text + CharToStr(cBuffer[i] >> 24 & 0x000000FF);
            if (StringLen(text) == dwBytesRead[0])  break;
        }
        TXT = TXT + text;
        Sleep(1);
    }
    if (TXT == "")  Alert("Нет считанных данных");
    InternetCloseHandle(hInternetSession);

    return(TXT);
}

как заставить его работать ?

 
#import "wininet.dll"
 int InternetAttemptConnect(int x);
 int InternetOpenW(string sAgent, int lAccessType, string sProxyName, string sProxyBypass, int lFlags);
 int InternetOpenUrlW(int hInternetSession, string sUrl, string sHeaders, int lHeadersLength,int lFlags,int lContext);
 int InternetReadFile(int hFile, int &sBuffer[], int lNumBytesToRead, int &lNumberOfBytesRead[]);
 int InternetCloseHandle(int hInet);
#import
 

Добрый день.

А почему в нескольких последних билдах, когда делаешь из ME "Save as" то по умолчанию предлагается папка /MQL4? Раньше он по умолчанию предлагал сохранить там же где и исходный файл.

Можно вернуть как было?

Спасибо.

 
Slim:

При проделанной гигантской работе по совершенствованию среды разработки metaeditor, остаются совершенно нелепые (и на мой взгляд, труднообъяснимые) недоработки в пользовательском интерфейсе терминала:

- узкое окошко свойств экспертов и индикаторов. Вид на список свойств эксперта – как через узкую амбразуру. Учитывая, что у многих экспертов имеются десятки настраиваемых параметров, крайне неудобно пользоваться имеющимся интерфейсом. Умельцы уже давно решили эту проблему с помощью WIN API. Но абсолютно надёжного решения мне не попадалось.

-ну и до кучи (я уже писал ранее), – неупорядоченный список финансовых инструментов в окне «Обзор рынка». Это же касается выпадающего списка инструментов при выборе символа в окне “Настройки” тестера, выпадающего меню при клике на значке “Новый график”.

По- моему, большинство пользователей метатрейдера 4, всё-таки, не программисты. И не мешало бы уделить больше внимания обеспечению комфортной работы в самом терминале.

Еще раз спасибо разработчикам за обновлённый mql4.



меня тоже это всегда удивляло

добавлю еще нелогичность дизайна окошка для выставления ордеров (F9)

просто все уже привыкли и не замечают неудобств

 
ME 5.00.883

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

... стоит "щелкнуть" курсором в любом окне и они мгновенно синхронизируются

Подскажите, как ЭТУ "УСЛУГУ" отключить?
 
transcendreamer:


просто все уже привыкли и не замечают неудобств


Все замечают и многократно уже просили разработчиков позволить пользователям изменять размеры окна свойств советников, но они годами это игнорируют, а потому работаем через замочную скважину.
 
prorab:
ME 5.00.883
Открываю в новом окне дубль программы, чтобы видеть одновременно разные части текста, а редактировать не получается ...
... стоит "щелкнуть" курсором в любом окне и они мгновенно синхронизируются
Подскажите, как ЭТУ "УСЛУГУ" отключить?

Как вариант можете использовать бесплатный Notepad++, у него есть и подсветка синтаксиса (по крайней мере прежнего MQL4, но надо грузить отдельно). Так же он отслеживает изменения в коде и запрашивает его обновление.
 
chief2000:

Как вариант можете использовать бесплатный Notepad++, у него есть и подсветка синтаксиса (по крайней мере прежнего MQL4, но надо грузить отдельно). Так же он отслеживает изменения в коде и запрашивает его обновление.


Блокнот++ разве умеет один документ в двух окнах открывать несинхронно? Как настроить?


А подсветка и в новом МЕ неплохая.

Причина обращения: