[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 1020

 
AlexSTAL:

你想把这一对放在哪里?至metatrader???? 在市场审查 "符号 "中,如果这个DC没有符号,就不可能加入

这跟它有什么关系?你莫名其妙地不知道你想要什么,你想如何....

对你来说,我想我可以这样说:DDE被设计成仅用于流式在线报价的超有限功能。它对历史不起作用

以前的问题和这个问题的主题是DDE-Sample.xls以及它是如何工作的。Alex 告诉我如何使这个文件实时加载报价。

感谢他。我想问:是否可以在第一页的表格下再增加一行其他货币对(澳元兑美元和美元兑加元),并实时显示它们?

预先感谢....

如何将报价转移到EKSEL的想法呢?

 
igrok2008:

以前的问题和这个问题的主题是DDE-Sample.xls以及它是如何工作的。AlexSTAL 告诉我如何使这个文件实时加载报价

感谢他。我能否在第一页的表格下再增加一行其他货币对(澳元兑美元和美元兑加元),并实时显示它们?

我告诉过你--在excel中复制该行并改变公式,你就可以在MT4中使用任何工具。
 
如果亚历克斯为每一行的提示支付100美分的话:)- 那就滚蛋吧,好好工作。)
 
Vinin:
大多数人不需要这个按钮
但有那么多的文字和侮辱以及启示...无聊...:)
 
pension:

要正确编写猫头鹰,你缺乏对整个终端系统运作的了解。

介绍。有一个主要方案。这里有子程序--函数。有运营商。所有运算符都是按照算法逐一执行的。这是很清楚的。这是一个公理。

现在。我们有一份.mq4的猫头鹰副本和一份.ex4的相应副本。我们把这只猫头鹰拖到不同的图表上。假设我们有两个具有不同TFs的同一货币对的图表。

问题1 那么猫头鹰的程序代码储存在哪里?在图表模板中?

问题2:虱子进来了。对猫头鹰的执行顺序是什么?如果是一个(很可能是,而且只有相应的变量值块被钉在每个图表上,语言解释器只在解卷时替换这些值),那么哪个是第一个,哪个是第二个,等等。它们不可能平行解开,不是吗?

也许有人能指出文献中哪里描述了这一点。可能是错过了,没有注意到。或者说,这个问题已经被考虑过了。

提前感谢大家的答复。

--我有.mq4和.ex4格式的owl,分别有一份。

mq4 类型的文件是一个程序的源代码。这种类型的文件包含所有类型的程序(专家顾问,脚本和指标)的源代码。

ex4 文件是经过编译的程序,可以在客户终端实际使用。

-那么猫头鹰的程序代码储存在哪里?在图表模板中?

mq4 源文件附近的ex4 文件(即用程序理解的语言编译的文件)。

--提克进来了。PSB的顺序是什么?

你可以通过在函数的开始部分添加一个警告("Owl #1 Time = " + TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS))来自己检查。

变成另一个 alert("Owl #2 Time = " + TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS))。

 

你好。

如何在一个单独的指标窗口中调用Close [i],但不是主工具,而是以名字命名的工具?

#属性 indicator_separate_window

////////////////

MovingBuffer[i]=iMA(name,0,Period1,Shift,modeMA,PRICE_OPEN,i); // - 计算仪器名称的移动平均线。

NameBuffer[i]=Close [i ]; // - 错了,因为它将进入主窗口中的仪器掐断。

/////////////////

 
Rossi:

你好。

如何在一个单独的指标窗口中调用Close [i],但不是主工具,而是以名字命名的工具?

#属性 indicator_separate_window

////////////////

MovingBuffer[i]=iMA(name,0,Period1,Shift,modeMA,PRICE_OPEN,i); // - 计算仪器名称的移动平均线。

NameBuffer[i]= Close [i ]; // - 错了,因为它将进入主窗口的仪器掐头去尾。

/////////////////

MovingBuffer[i]=iMA(name,0,Period1,Shift,modeMA,PRICE_OPEN,iBarShift(name,0,Time[i],false)) ; // - вычисление скользящей средней инструмента name

NameBuffer[i]= iClose(name,0,iBarShift(name,0,Time[i],false)) ; // - неправильно, потому что введет клозе инструмента в основном окне...

阅读

https://book.mql4.com/ru/functions/timeseries

 
costy_:

-- 虱子来了。OWS的执行顺序是什么?

你可以通过在函数的开头添加一个alert("Owl #1 Time = " + TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS))来检查自己。

变成另一个 alert("Owl #2 Time = " + TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS))。



太粗糙了,我会使用GetTickCount(),在新的一分钟开始时同步重置所有代码中的一些计数器,然后记录所有信息
 

这里有一个问题。有一个专家顾问可以自己开仓和平仓。但当我手动开仓时,当平仓信号出现时,测试员并没有关闭手动开仓的头寸。可能是什么问题。附带的代码是为了关闭 一个位置。

for(int i=0;i<OrdersTotal();i++)

{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;

if(OrderType()==OP_BUY)
{
if (Open[1]<Open[2])

OrderClose(OrderTicket(),OrderLots(),Bid,3,White);

break;
}


if(OrderType()==OP_SELL)

{

if (Open[1]>Open[2])

OrderClose(OrderTicket(),OrderLots(),Ask,3,White); 

break;
        }
       } 
    }
 
 
antoma2:

这里有一个问题。 有一个专家顾问可以自己开仓和平仓。但当我手动开仓时,当平仓信号出现时,测试员并没有关闭手动开仓的头寸。可能是什么问题。附带的代码是为了关闭一个位置。

OrderMagicNumber()函数对于手动开仓总是返回0。也就是说,EA中的MAGICMA变量不等于0。
原因: