[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 249 1...242243244245246247248249250251252253254255256...631 新评论 Виктор 2012.07.14 07:33 #2481 Leo59:亲爱的granit77!如果你不介意的话,请直接在代码中进行修改,如果有什么错误的话。它将是清晰和可理解的。 例子。在八个可用的指标缓冲区 中,七个用于在指标窗口中显示线条,第八个用于计算,不在指标窗口中显示。 如果没有足够的指示器缓冲区,可以在常规阵列中进行计算。 #property indicator_buffers 7 double ind_buffer1[]; double ind_buffer2[]; double ind_buffer3[]; double ind_buffer4[]; double ind_buffer5[]; double ind_buffer6[]; double ind_buffer7[]; double ind_buffer8[]; //the eighth buffer is used for additional calculations/double ind_buffer9[] 。 //指标中没有第九个缓冲区,这个数组无处可去 int init() { IndicatorBuffers(8); SetIndexBuffer(0,ind_buffer1); SetIndexBuffer(1,ind_buffer2); SetIndexBuffer(2,ind_buffer3); SetIndexBuffer(3,ind_buffer4); SetIndexBuffer(4,ind_buffer5); SetIndexBuffer(5,ind_buffer6); SetIndexBuffer(6,ind_buffer7); SetIndexBuffer(7,ind_buffer8); //ind_buffer1。...ind_buffer7画七条线//它们根据#属性indicator_buffers 7显示在指标窗口中//ind_buffer8不显示在窗口中,但可用于参与计算 return(0); } [ARCHIVE!] Any rookie question, Problem in using ind_buffer 请教这个自己编写的超前指标为什么不显示啊? Leo59 2012.07.14 08:27 #2482 granit77: 例子。八个指标缓冲区中的七个用于在指标窗口中显示线条,第八个缓冲区用于计算,但它不会在指标窗口中显示。如果没有足够的指示器缓冲区,可以在普通数组中进行计算。 谢谢你!这是可以理解的。 我不明白另一个人。我不知道为什么参与计算的数组,但不显示在指标窗口,应该被识别为SetIndexBuffer。而如果我们需要10个数组用于计算,8个数组用于显示(共18个数组),如何正确声明和识别这10个数组?我想让它们具有相同的属性,就像连接到指标缓冲区 的数组一样,只是它们没有被画出来。 Dimka-novitsek 2012.07.14 11:33 #2483 Zhunko: 如果不成功,你不必重新命名它。这很奇怪。你可以通过选择WinRar从上下文菜单中打开它。或者打开WinRar,然后从 "文件 "菜单项 "打开档案 "中找到该档案并打开它。 我在上面说过,扩展名只是为了自动关联文件所需要的。 你是否启用了扩展的可见性?如果不成功,请在此截图或视频。 谢谢你的详细说明。我确实下载了这个WinRar,显然它不在那里,而且档案打开了!这就是为什么我没有下载WinRar。 Dimka-novitsek 2012.07.14 15:19 #2484 你知道,我没有看到这个功能的作用。的确,现在刻度线不工作了,但至少在加入图形时,开始应该工作,对吗?好吧,至少它可以编译!!!。 我正在尝试这个。//+------------------------------------------------------------------+ //| таймфрейммм.mq4 | //| Copyright 2012, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright 2012, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #include <ServicesMT4.mqh> void start() { int hwndChart = WindowHandle(Symbol(),Period()); while (!IsStopped()) { for (int i = 0; i < 9; i++) { ServiceSetTimeframeByNumber(hwndChart, i); Sleep(4000); } } } //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ Danil93 2012.07.14 15:21 #2485 PR //利润 UB/Loss Pk //变量获取购买值 Pr //变量获取销售值 ADR //变量获取脚本的值。 //盈利条件 如果(PR==Pk) //如果购买时有利润 ADR=1; //设置脚本1 否则 //如果出售时有利润 ADR=2; //设置脚本2 //销售条件 如果(UB==Pk) //如果买入时出现亏损 ADR=2; //设置脚本2 否则 //如果出售时出现损失 ADR=1; //设置脚本1 我如何为交易而改善这一点? 我需要一个EA来监控哪个订单关闭(买入或卖出),以及它是如何盈利或亏损关闭的。经过这样的分析,EA将执行1或2个脚本。 Danil93 2012.07.14 15:43 #2486 获利 和止损变量的名称是什么?那我如何指定要执行的脚本的地址? Vadim Zhunko 2012.07.14 16:17 #2487 Dimka-novitsek: 我没有看到这个功能的作用,你知道。诚然,现在不会出现刻度线,但至少在连接到图表时,启动应该是有效的,对吗?好吧,至少它可以编译!!!。 试试这个 没有虱子。启动没有被触发。可以被编译成脚本。但你必须指定相邻图表的描述符,该图表将被更新。 或者像这样。 #include <ServicesMT4.mqh> int hwndChart = NULL; void init() { hwndChart = WindowHandle(Symbol(),Period()); // Получаем системный дескриптор графика. ServiceRefreshChart(hwndChart, 1000); // Запускаем обновление графика каждую 1 секунду. } void start() { ServiceStopRefreshChart(hwndChart); // Останавливаем обновление. Больше не требуется. while (!IsStopped()) { for (int i = 0; i < 9; i++) { ServiceSetTimeframeByNumber(hwndChart, i); Sleep(4000); } } } 但它可能对你不起作用。似乎ServiceRefreshChart()函数不是每个人都能用的。 你可以在指标中试试。它在加入图表和改变TF时刷新了2次。 Dimka-novitsek 2012.07.14 16:35 #2488 谢谢你!!!!!! Dimka-novitsek 2012.07.14 17:42 #2489 编译,但不执行。 Vadim Zhunko 2012.07.14 18:19 #2490 Dimka-novitsek: 它编译了,但没有执行。 检查了一下。ServiceRefreshChart ()对你来说是不可用的。 哪个选项不起作用?这已经太多了。带有脚本和单独图表的选项将始终有效。 你打开一个图表,例如EURUSD H1。 2.在剧本中这样写道。 void start() { int hwndChart = WindowHandle("EURUSD", PERIOD_H1); while (!IsStopped()) { for (int i = 0; i < 9 && !IsStopped(); i++) { ServiceSetTimeframeByNumber(hwndChart, i); Sleep(4000); } } } 3.在另一个图表上运行该脚本。 4.欧元兑美元 的H1图表 将改变TF。 1...242243244245246247248249250251252253254255256...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
亲爱的granit77!如果你不介意的话,请直接在代码中进行修改,如果有什么错误的话。它将是清晰和可理解的。
如果没有足够的指示器缓冲区,可以在常规阵列中进行计算。
例子。八个指标缓冲区中的七个用于在指标窗口中显示线条,第八个缓冲区用于计算,但它不会在指标窗口中显示。如果没有足够的指示器缓冲区,可以在普通数组中进行计算。
谢谢你!这是可以理解的。
我不明白另一个人。我不知道为什么参与计算的数组,但不显示在指标窗口,应该被识别为SetIndexBuffer。而如果我们需要10个数组用于计算,8个数组用于显示(共18个数组),如何正确声明和识别这10个数组?我想让它们具有相同的属性,就像连接到指标缓冲区 的数组一样,只是它们没有被画出来。
如果不成功,你不必重新命名它。这很奇怪。你可以通过选择WinRar从上下文菜单中打开它。或者打开WinRar,然后从 "文件 "菜单项 "打开档案 "中找到该档案并打开它。
我在上面说过,扩展名只是为了自动关联文件所需要的。
你是否启用了扩展的可见性?如果不成功,请在此截图或视频。
谢谢你的详细说明。我确实下载了这个WinRar,显然它不在那里,而且档案打开了!这就是为什么我没有下载WinRar。
UB/Loss
Pk //变量获取购买值
Pr //变量获取销售值
ADR //变量获取脚本的值。
//盈利条件
如果(PR==Pk) //如果购买时有利润
ADR=1; //设置脚本1
否则 //如果出售时有利润
ADR=2; //设置脚本2
//销售条件
如果(UB==Pk) //如果买入时出现亏损
ADR=2; //设置脚本2
否则 //如果出售时出现损失
ADR=1; //设置脚本1
我如何为交易而改善这一点? 我需要一个EA来监控哪个订单关闭(买入或卖出),以及它是如何盈利或亏损关闭的。经过这样的分析,EA将执行1或2个脚本。
我没有看到这个功能的作用,你知道。诚然,现在不会出现刻度线,但至少在连接到图表时,启动应该是有效的,对吗?好吧,至少它可以编译!!!。 试试这个
没有虱子。启动没有被触发。可以被编译成脚本。但你必须指定相邻图表的描述符,该图表将被更新。
或者像这样。
但它可能对你不起作用。似乎ServiceRefreshChart()函数不是每个人都能用的。
你可以在指标中试试。它在加入图表和改变TF时刷新了2次。
它编译了,但没有执行。
检查了一下。ServiceRefreshChart ()对你来说是不可用的。
哪个选项不起作用?这已经太多了。带有脚本和单独图表的选项将始终有效。
你打开一个图表,例如EURUSD H1。
2.在剧本中这样写道。
3.在另一个图表上运行该脚本。
4.欧元兑美元 的H1图表 将改变TF。