任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1015 1...100810091010101110121013101410151016101710181019102010211022...1178 新评论 [删除] 2016.02.18 17:03 #10141 nikelodeon: 我认为专家们会因为这样的问题而膨胀,而我必须自己解决这些问题 :-)如何在交易结束时在图表上制作图标,就像在tester?????。也许有一些现成的功能????。如果由顾问/脚本关闭,那么 bool OrderClose( int ticket, // номер ордера double lots, // количество лотов double price, // цена закрытия int slippage, // максимальное проскальзывание color arrow_color // цвет ); 箭头_颜色 [in] 图表上收盘箭头的颜色。如果缺少该参数或其值为CLR_NONE,则图表上不显示箭头。---如果是手工操作--只需编写/借用一个现成的脚本/指示器,就能在历史上捕捉到这一交易,并以图标显示。 Mihail Marchukajtes 2016.02.18 17:12 #10142 artborder:如果由顾问/脚本关闭,那么 箭头_颜色[in] 图表上收盘箭头的颜色。如果缺少该参数或其值为CLR_NONE,箭头将不会出现在图表上。---如果是手工操作--只需编写/借用一个现成的脚本/指示器,就能在历史上捕捉到这个交易,并以图标的形式显示出来。 谢谢,现在我将尝试!!!!! [删除] 2016.02.20 12:52 #10143 artborder:你好,这里有一个问题。当你对图表、其子窗口、子窗口中的指标进行程序化搜索时,你可以发现指标的总数,然后是其名称、参数等。使用ChartIndicatorsTotal,ChartIndicatorName 等。我如何通过ChartID知道在这个窗口中运行的专家顾问的名字,也是通过程序化的方式?关于MT4的问题另一个问题...如何读取 MT4日志文件?这段代码给出了一个错误...5002 string filename=TerminalPath() + "\\MQL4\\Logs\\20160219.log"; int filehandle=FileOpen(filename,FILE_READ); if(filehandle<0) { Print("Неудачная попытка открыть файл по абсолютному пути"); Print("Код ошибки ",GetLastError()); } string str=FileReadString(filehandle); money_maker 2016.02.22 15:23 #10144 你能告诉我这是什么原因吗?HttpSendRequestW 没有发送请求...GetLastError给出了0。 (有趣的是,WebRequest 的第二个版本可以工作...)。#property strict #import "wininet.dll" int InternetAttemptConnect(int x); int InternetOpenW(string &sAgent,int lAccessType,string &sProxyName,string &sProxyBypass,int lFlags); int InternetConnectW(int hInternet,string &szServerName,int nServerPort,string &lpszUsername,string &lpszPassword,int dwService,int dwFlags,int dwContext); int HttpOpenRequestW(int hConnect,string &Verb,string &ObjectName,string &Version,string &Referer,string &AcceptTypes,uint dwFlags,int dwContext); int HttpSendRequestW(int hRequest,string &lpszHeaders,int dwHeadersLength,uchar &lpOptional[],int dwOptionalLength); int HttpQueryInfoW(int hRequest,int dwInfoLevel,int &lpvBuffer[],int &lpdwBufferLength,int &lpdwIndex); int InternetOpenUrlW(int hInternet,string &lpszUrl,string &lpszHeaders,int dwHeadersLength,uint dwFlags,int dwContext); int InternetReadFile(int hFile,uchar &sBuffer[],int lNumBytesToRead,int &lNumberOfBytesRead); int InternetCloseHandle(int hInet); #import //Также для эстетики кода определим используемые имена констант из wininet.h. #define OPEN_TYPE_PRECONFIG 0 // использовать конфигурацию по умолчанию #define FLAG_KEEP_CONNECTION 0x00400000 // не разрывать соединение #define FLAG_PRAGMA_NOCACHE 0x00000100 // не кешировать страницу #define FLAG_RELOAD 0x80000000 // получать страницу с сервера при обращении к ней #define SERVICE_HTTP 3 // требуемый протокол #define INTERNET_FLAG_ASYNC 1 string Host; // имя хоста int Port; // порт int Session; // дескриптор сессии int Connect; // дескриптор соединения string acess_type; // массив с данными для отправки POST-запросов uchar data[]; string URL = "http://ru.investing.com/earnings-calendar/Service/getCalendarFilteredData"; string Method = "POST"; string ver_http = "HTTP/1.1"; string Refer = "http://ru.investing.com/earnings-calendar/"; string HEADERS = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"+"\n"+ "Content-Type: application/x-www-form-urlencoded"+"\n"+ "X-Requested-With: XMLHttpRequest"+"\n"+ "Connection: Close"+"\n";// сам запрос string REQUEST_BODY ="pair_id=6408&action=searchStock";// сюда вписываем данные POST-запроса //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { StringToCharArray(REQUEST_BODY,data,0,StringLen(REQUEST_BODY),CP_ACP); OpenInet(URL,Port); int hRequest=HttpOpenRequestW(Connect, Method, URL, ver_http, Refer, acess_type, FLAG_KEEP_CONNECTION|FLAG_RELOAD|FLAG_PRAGMA_NOCACHE, 0); // создаем дескриптор запроса if(hRequest<=0) { Print("-Err OpenRequest"); InternetCloseHandle(Connect); return(false); } // отправили файл int hSend=HttpSendRequestW(hRequest,HEADERS,StringLen(HEADERS),data,ArraySize(data)); if(hSend<=0) { Print("-Err SendRequest"); InternetCloseHandle(hRequest); CloseInet(); } return(INIT_SUCCEEDED); } //================== ФУНКЦИЯ ОТКРЫТИЯ / ЗАКРЫТИЯ ИНТЕРНЕТА ================================================================ bool OpenInet(string aHost,int aPort) { if (aHost=="") {Print("-Host is not specified"); return(false);} if (Session>0 || Connect>0) {CloseInet(); Print("+Open Inet...");} // если сессия была опеределена, то закрываем // Попытки создать подключение к Интернету if (InternetAttemptConnect(0)!=0) {Print("-Err AttemptConnect"); return(false);} // если не удалось проверить имеющееся соединение с интернетом, то выходим string UserAgent="Mozilla"; string nill=""; // Инициализирует приложение использует функции wininet Session=InternetOpenW(UserAgent,OPEN_TYPE_PRECONFIG,nill,nill,0); // открываем сессию if (Session<=0) {Print("-Err create Session"); CloseInet(); return(false);} // если не смогли открыть сессию, то выходим Connect=InternetConnectW(Session,aHost,aPort,nill,nill,SERVICE_HTTP,0,0); // Открывает протокол передачи файлов (FTP) или http-сеанса для данного сайта. if (Connect<=0) {Print("-Err create Connect"); CloseInet();return(false);} Host=aHost; Port=aPort; // присвоение значений // все проверки завершились успешно return(true); } void CloseInet() { Print("-Close Inet..."); if(Session>0) InternetCloseHandle(Session); Session=-1; if(Connect>0) InternetCloseHandle(Connect); Connect=-1; } //========================================================================================================================= Victor Nikolaev 2016.02.22 16:16 #10145 Money_Maker: 请告诉我出了什么问题?HttpSendRequestW 没有发送请求...GetLastError给出了0。(有趣的是,WebRequest的第二个版本可以工作...) 如果第二种变体有效,那么就有一个解决方案。那么问题出在哪里呢? money_maker 2016.02.22 16:25 #10146 Vinin: 如果第二个方案可行,就有一个解决方案。那么问题出在哪里? 问题是将有许多链接作为允许的地址输入到终端设置 中(+我没有相同的电脑......,这根本不是一个选项。 Andrei 2016.02.22 18:21 #10147 你好!你能告诉我如何在for循环中找到小节的开始吗?一般来说,我需要从第1小节到第5小节(包括第5小节)寻找。(当前的0-bar不被计算在内)。for (int i=5; i<1; i++) { h = iHigh(Symbol(),tf,i); ......读了这个功能,我才明白。帮助。谢谢! [删除] 2016.02.22 19:36 #10148 Money_Maker: 你能告诉我哪里出了问题吗?HttpSendRequestW 没有发送请求...GetLastError给出了0。(有趣的是,WebRequest的第二个版本可以工作... )需要传输的不再是字符串,而是char缓冲区。https://forum.mql4.com/ru/67441 [删除] 2016.02.22 19:38 #10149 Shargyn:你好!你能告诉我如何在for循环中找到小节的起始点吗?一般来说,我需要从第1小节到第5小节(含)寻找。(当前的0-bar不被计算在内)只读了功能,我无法理解。帮助。谢谢!与,到,做什么for(int i=1;i<=5;i++)或for(int i=5;i>=1;i--)但是,是的。在开发过程中,更合理的做法是让 与,做什么,到for(int i=1;i++;i<=5) money_maker 2016.02.22 20:17 #10150 #import "wininet.dll" int HttpSendRequestW(int hRequest,char &lpszHeaders[],int dwHeadersLength,uchar &lpOptional[],int dwOptionalLength); #import char a[]; StringToCharArray(HEADERS,a); int hSend=HttpSendRequestW(hRequest,a,StringLen(HEADERS),data,ArraySize(data)); 谢谢你的回答,请告诉我是否理解正确,你的意思是这样吗?,所以由于某些原因,结果也没有改变......( 另一个问题:也许你可以通过编程将URL添加到允许的URL中?(例如通过宏替换),坦率地说,我不想使用WebRequest,因为它不是异步的....。 1...100810091010101110121013101410151016101710181019102010211022...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我认为专家们会因为这样的问题而膨胀,而我必须自己解决这些问题 :-)如何在交易结束时在图表上制作图标,就像在tester?????。也许有一些现成的功能????。
如果由顾问/脚本关闭,那么
箭头_颜色
[in] 图表上收盘箭头的颜色。如果缺少该参数或其值为CLR_NONE,则图表上不显示箭头。
---
如果是手工操作--只需编写/借用一个现成的脚本/指示器,就能在历史上捕捉到这一交易,并以图标显示。
如果由顾问/脚本关闭,那么
箭头_颜色
[in] 图表上收盘箭头的颜色。如果缺少该参数或其值为CLR_NONE,箭头将不会出现在图表上。
---
如果是手工操作--只需编写/借用一个现成的脚本/指示器,就能在历史上捕捉到这个交易,并以图标的形式显示出来。
你好,这里有一个问题。
当你对图表、其子窗口、子窗口中的指标进行程序化搜索时,你可以发现指标的总数,然后是其名称、参数等。
使用ChartIndicatorsTotal,ChartIndicatorName 等。
我如何通过ChartID知道在这个窗口中运行的专家顾问的名字,也是通过程序化的方式?
关于MT4的问题
另一个问题...如何读取 MT4日志文件?这段代码给出了一个错误...5002
(有趣的是,WebRequest 的第二个版本可以工作...)。
请告诉我出了什么问题?HttpSendRequestW 没有发送请求...GetLastError给出了0。
(有趣的是,WebRequest的第二个版本可以工作...)
如果第二个方案可行,就有一个解决方案。那么问题出在哪里?
,这根本不是一个选项。
你好!
你能告诉我如何在for循环中找到小节的开始吗?一般来说,我需要从第1小节到第5小节(包括第5小节)寻找。(当前的0-bar不被计算在内)。
读了这个功能,我才明白。帮助。
谢谢!
你能告诉我哪里出了问题吗?HttpSendRequestW 没有发送请求...GetLastError给出了0。
(有趣的是,WebRequest的第二个版本可以工作... )
需要传输的不再是字符串,而是char缓冲区。
https://forum.mql4.com/ru/67441
你好!
你能告诉我如何在for循环中找到小节的起始点吗?一般来说,我需要从第1小节到第5小节(含)寻找。(当前的0-bar不被计算在内)
只读了功能,我无法理解。帮助。
谢谢!
与,到,做什么
for(int i=1;i<=5;i++)
或
for(int i=5;i>=1;i--)
但是,是的。在开发过程中,更合理的做法是让
与,做什么,到
for(int i=1;i++;i<=5)
,所以由于某些原因,结果也没有改变......(
另一个问题:也许你可以通过编程将URL添加到允许的URL中?(例如通过宏替换)
,坦率地说,我不想使用WebRequest,因为它不是异步的....。