在MQL5中一起学习和写作 - 页 7 1234567891011121314...46 新评论 --- 2010.02.20 01:29 #61 ralexn:谢谢....,但是......我是一个非常初级的人:))这只是前一百年的困难,之后就容易了 :)阅读帮助并查看MT的例子 k2m 2010.02.22 13:51 #62 我明白了。因此,跟踪止损没有以任何方式实施...我毕竟要自己写......:( --- 2010.02.22 15:04 #63 k2m писал(а) # : 我明白了。因此,跟踪止损没有以任何方式实施。我将不得不自己写。:(为什么没有实施呢? 这和以往一样--在订单上点击右键,在菜单中选择拖网。 或编写自己的拖网。对你来说,唯一常见的解决方案是标准的MT拖网。 Docker 2010.02.26 17:14 #64 先生们。... PrintFormat("Spread: %i, ask-bid: %i", (int)SymbolInfoInteger(_Symbol, SYMBOL_SPREAD), (int)((lastTick.ask-lastTick.bid) * MathPow(10, _Digits)); Spread: 0, ask-bid: 5555可能是不同的(对,时间),但0始终是 。 谢谢。 Валерий 2010.02.27 11:21 #65 FlyAgaric: 先生们。... PrintFormat("Spread: %i, ask-bid: %i", (int)SymbolInfoInteger(_Symbol, SYMBOL_SPREAD), (int)((lastTick.ask - lastTick.bid) * MathPow(10, _Digits)) 。 点差:0,卖出价:55 55可能是不同的(对,时间),但0始终是 。 谢谢你。 0意味着价差是浮动的,好的。 Docker 2010.02.27 19:56 #66 Valmars писал(а) # : 功能描述。SymbolInfoInteger返回指定符号的相应属性。 1.直接返回该属性的值。 long SymbolInfoInteger( string name, // symbol int prop_id //财产标识符。 ); SYMBOL_SPREAD 展开大小(点) int我理解这个f-iory返回ENUM_SYMBOL_INFO_INTEGER 的值。 我想了解开发者的想法。从描述中并不清楚。 谢谢你。 --- 2010.02.27 20:08 #67 longSymbolInfoInteger函数没有返回ENUM_SYMBOL_INFO_INTEGER,而是具体地返回一个数字--传播值(如果你指SYMBOL_SPREAD)。注意事项如果指定符号上的点差是浮动的,则 SymbolInfoInteger(Symbol(),SYMBOL_SPREAD)。 将返回一个空值。因此,如果你想知道当前的价差--看一下买入价和卖出价之间的差异 Docker 2010.02.27 21:59 #68 sergeev писал(а) # :long SymbolInfoInteger函数没有返回ENUM_SYMBOL_INFO_INTEGER,而是具体地返回一个数字--传播值(如果你指SYMBOL_SPREAD)。注意事项如果指定符号上的点差是浮动的,则 SymbolInfoInteger(Symbol(),SYMBOL_SPREAD)。 将返回一个空值。所以,如果你想知道当前的价差--看看买入价和卖出价的差异。 谢谢你。 Vovan 2010.03.30 16:26 #69 SHOOTER777 писал(а) # :简要介绍一下我试图实现的目标。 3)在图表上以图形方式显示当前工具的头寸和交易,并在左下角显示所有头寸的信息。比起MT4,我更喜欢MT5,但无法一步到位地解决在图表上自动显示交易历史的问题。请帮助,或者提供这个问题的自动解决方案的链接,或者是否有可能将专家顾问重新制作成一个脚本。非常感谢你事先的努力!原始的专家顾问可以在这个主题的第一个帖子中找到 -https://www.mql5.com/ru/forum/58。这就是MT4中的实现方式。"从历史上的图表中处理。查看 -> 终端 -> 帐户历史。我们抓住订单并将其拖到图表上。如果你把它放在另一个乐器的图表上,它将被选定的乐器所取代)。 该订单以箭头形式显示,用于开仓和平仓,由一段趋势线连接。止损和止盈水平与开盘价显示在同一纵轴上。 如果你按住Shift键拖动订单,图表将显示这个符号的全部交易历史(相信我,它非常清楚)。 Изучаем и пишем вместе на MQL5 www.mql5.com 2) вывод всей возможной информации по инструментам, ордерам и др. ne_osilil 2010.04.28 00:17 #70 有谁能好心为一个初学者的小问题提出一个解决方案。 第一个条件。 我有一个用4编写的Frakt Zigzag指标。 在使用了MQL5 中的 "自动翻译器 "后,我成功地获得了一些有资格被称为 "五个 "代码的代码。 特别是对这两个部分感到 "高兴"。 //了分形。 如果(iFractals(NULL,0,MODE_UPPER, POS)!=0) { Fractal1B=iFractals(NULL,0,MODE_UPPER, POZ)。 Fractal1B=POZ。 } i=1 ; while(i<40) { 如果(iFractals(NULL,0,MODE_UPPER, Fractals1B+i)!=0) { Fractal2B=iFractals(NULL,0,MODE_UPPER, POZFractal1B+i)。 POZFractal2B=POZFractal1B+i 。 突破。 } i++ ; } i=1 ; while(i<40) { 如果(iFractals(NULL,0,MODE_UPPER, Fractals2B+i)!=0) { Fractal3B=iFractals(NULL,0,MODE_UPPER, POZFractal2B+i)。 POZFractal3B=POZFractal2B+i 。 突破。 } i++; } и // 下降 分形 如果(iFractals(NULL,0,MODE_LOWER, POS)!=0) { Fractal1H=iFractals(NULL,0,MODE_LOWER, POZ)。 POZFractal1H=POZ; } i=1 ; while(i<40) 当我们试图编译时,我们得到了: MODE_UPPER' - 未宣布的标识符 FZR2 .mq5 164 37 MODE_LOWER'--未声明的标识符FZR2 .mq5 192 37 第二个条件。下面是分形指标的代码,它分别用上分形和下分形的数据填充缓冲区。以下是其代码的一部分。 如果(prev_calculated<7) { limit=2。 //---清理数组 ArrayInitialize(ExtUpperBuffer,0.0)。 ArrayInitialize(ExtLowerBuffer,0.0)。 } 否则limit=rates_total-5。 for(i=limit;i<rates_total-3;i++) { //---- 上分形 if(High[i]>High[i+1] &&High[i]>High[i+2] &&High[i]>=High[i-1] &&High[i]>=High[i-2]) ExtUpperBuffer[i]=High[i]。 否则ExtUpperBuffer[i]=0.0。 //---- 下分形 if(Low[i]<Low[i+1] && Low[i]<Low[i+2] && Low[i]<=Low[i-1] && Low[i]<=Low[i-2] ) ExtLowerBuffer[i]=Low[i]。 否则ExtLowerBuffer[i]=0.0。 } //----OnCalculate完成。返回新的prev_calculated。 return(rate_total)。 } 问题:这些缓冲区(分形指标的 缓冲区)是否包含条形分形的时间和价格数据,如果是,如何编写循环,使FZR指标中的缓冲区被分形指标的缓冲区的数据填满? Fractals 投票: 82010.01.26MetaQuotes Software Corp.www.mql5.com Фракталы (Fractals) — это один из пяти индикаторов торговой системы Билла Вильямса, позволяющий обнаруживать дно или вершину. 附加的文件: fzr2.mq5 14 kb fractals.mq5 4 kb Learning and writing together 错误、漏洞、问题 面向初学者的 MQL4 语言。技术指标和内置函数 1234567891011121314...46 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谢谢....,但是......我是一个非常初级的人:))
这只是前一百年的困难,之后就容易了 :)
阅读帮助并查看MT的例子
我明白了。因此,跟踪止损没有以任何方式实施。我将不得不自己写。:(
为什么没有实施呢? 这和以往一样--在订单上点击右键,在菜单中选择拖网。
或编写自己的拖网。对你来说,唯一常见的解决方案是标准的MT拖网。
先生们。
...
PrintFormat("Spread: %i, ask-bid: %i", (int)SymbolInfoInteger(_Symbol, SYMBOL_SPREAD), (int)((lastTick.ask-lastTick.bid) * MathPow(10, _Digits));
Spread: 0, ask-bid: 55
55可能是不同的(对,时间),但0始终是 。
谢谢。
先生们。
...
PrintFormat("Spread: %i, ask-bid: %i", (int)SymbolInfoInteger(_Symbol, SYMBOL_SPREAD), (int)((lastTick.ask - lastTick.bid) * MathPow(10, _Digits)) 。
点差:0,卖出价:55
55可能是不同的(对,时间),但0始终是 。
谢谢你。
SymbolInfoInteger
返回指定符号的相应属性。
1.直接返回该属性的值。
long SymbolInfoInteger(
string name, // symbol
int prop_id //财产标识符。
);
SYMBOL_SPREAD 展开大小(点) int
我理解这个f-iory返回ENUM_SYMBOL_INFO_INTEGER 的值。
我想了解开发者的想法。从描述中并不清楚。
谢谢你。
longSymbolInfoInteger
函数没有返回ENUM_SYMBOL_INFO_INTEGER,而是具体地返回一个数字--传播值(如果你指SYMBOL_SPREAD)。
注意事项如果指定符号上的点差是浮动的,则
SymbolInfoInteger(Symbol(),SYMBOL_SPREAD)。
将返回一个空值。
因此,如果你想知道当前的价差--看一下买入价和卖出价之间的差异
long SymbolInfoInteger
函数没有返回ENUM_SYMBOL_INFO_INTEGER,而是具体地返回一个数字--传播值(如果你指SYMBOL_SPREAD)。
注意事项如果指定符号上的点差是浮动的,则
SymbolInfoInteger(Symbol(),SYMBOL_SPREAD)。
将返回一个空值。
所以,如果你想知道当前的价差--看看买入价和卖出价的差异。
简要介绍一下我试图实现的目标。
3)在图表上以图形方式显示当前工具的头寸和交易,并在左下角显示所有头寸的信息。
比起MT4,我更喜欢MT5,但无法一步到位地解决在图表上自动显示交易历史的问题。请帮助,或者提供这个问题的自动解决方案的链接,或者是否有可能将专家顾问重新制作成一个脚本。非常感谢你事先的努力!
原始的专家顾问可以在这个主题的第一个帖子中找到 -https://www.mql5.com/ru/forum/58。
这就是MT4中的实现方式。
"从历史上的图表中处理。查看 -> 终端 -> 帐户历史。我们抓住订单并将其拖到图表上。如果你把它放在另一个乐器的图表上,它将被选定的乐器所取代)。
该订单以箭头形式显示,用于开仓和平仓,由一段趋势线连接。止损和止盈水平与开盘价显示在同一纵轴上。
如果你按住Shift键拖动订单,图表将显示这个符号的全部交易历史(相信我,它非常清楚)。
有谁能好心为一个初学者的小问题提出一个解决方案。
第一个条件。
我有一个用4编写的Frakt Zigzag指标。
在使用了MQL5 中的 "自动翻译器 "后,我成功地获得了一些有资格被称为 "五个 "代码的代码。
特别是对这两个部分感到 "高兴"。
//了分形。
如果(iFractals(NULL,0,MODE_UPPER, POS)!=0)
{
Fractal1B=iFractals(NULL,0,MODE_UPPER, POZ)。
Fractal1B=POZ。
}
i=1 ;
while(i<40)
{
如果(iFractals(NULL,0,MODE_UPPER, Fractals1B+i)!=0)
{
Fractal2B=iFractals(NULL,0,MODE_UPPER, POZFractal1B+i)。
POZFractal2B=POZFractal1B+i 。
突破。
}
i++ ;
}
i=1 ;
while(i<40)
{
如果(iFractals(NULL,0,MODE_UPPER, Fractals2B+i)!=0)
{
Fractal3B=iFractals(NULL,0,MODE_UPPER, POZFractal2B+i)。
POZFractal3B=POZFractal2B+i 。
突破。
}
i++;
}
и
// 下降 分形
如果(iFractals(NULL,0,MODE_LOWER, POS)!=0)
{
Fractal1H=iFractals(NULL,0,MODE_LOWER, POZ)。
POZFractal1H=POZ;
}
i=1 ;
while(i<40)
当我们试图编译时,我们得到了:
MODE_UPPER' - 未宣布的标识符 FZR2 .mq5 164 37
MODE_LOWER'--未声明的标识符FZR2 .mq5 192 37
第二个条件。下面是分形指标的代码,它分别用上分形和下分形的数据填充缓冲区。以下是其代码的一部分。
如果(prev_calculated<7)
{
limit=2。
//---清理数组
ArrayInitialize(ExtUpperBuffer,0.0)。
ArrayInitialize(ExtLowerBuffer,0.0)。
}
否则limit=rates_total-5。
for(i=limit;i<rates_total-3;i++)
{
//---- 上分形
if(High[i]>High[i+1] &&High[i]>High[i+2] &&High[i]>=High[i-1] &&High[i]>=High[i-2])
ExtUpperBuffer[i]=High[i]。
否则ExtUpperBuffer[i]=0.0。
//---- 下分形
if(Low[i]<Low[i+1] && Low[i]<Low[i+2] && Low[i]<=Low[i-1] && Low[i]<=Low[i-2] )
ExtLowerBuffer[i]=Low[i]。
否则ExtLowerBuffer[i]=0.0。
}
//----OnCalculate完成。返回新的prev_calculated。
return(rate_total)。
}
问题:这些缓冲区(分形指标的 缓冲区)是否包含条形分形的时间和价格数据,如果是,如何编写循环,使FZR指标中的缓冲区被分形指标的缓冲区的数据填满?