在MQL5中一起学习和写作 - 页 7

 
ralexn:

谢谢....,但是......我是一个非常初级的人:))

这只是前一百年的困难,之后就容易了 :)

阅读帮助并查看MT的例子

 
我明白了。因此,跟踪止损没有以任何方式实施...我毕竟要自己写......:(
 
k2m писал(а) :
我明白了。因此,跟踪止损没有以任何方式实施。我将不得不自己写。:(

为什么没有实施呢? 这和以往一样--在订单上点击右键,在菜单中选择拖网。

或编写自己的拖网。对你来说,唯一常见的解决方案是标准的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始终是 。
谢谢。

 
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意味着价差是浮动的,好的。
 
Valmars писал(а) :
功能描述。

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)。

将返回一个空值。


因此,如果你想知道当前的价差--看一下买入价和卖出价之间的差异

 
sergeev писал(а) :


long SymbolInfoInteger

函数没有返回ENUM_SYMBOL_INFO_INTEGER,而是具体地返回一个数字--传播值(如果你指SYMBOL_SPREAD)。


注意事项

如果指定符号上的点差是浮动的,则

SymbolInfoInteger(Symbol(),SYMBOL_SPREAD)。

将返回一个空值。


所以,如果你想知道当前的价差--看看买入价和卖出价的差异。

谢谢你。
 
SHOOTER777 писал(а) # :

简要介绍一下我试图实现的目标。

3)在图表上以图形方式显示当前工具的头寸和交易,并在左下角显示所有头寸的信息。

比起MT4,我更喜欢MT5,但无法一步到位地解决在图表上自动显示交易历史的问题。请帮助,或者提供这个问题的自动解决方案的链接,或者是否有可能将专家顾问重新制作成一个脚本。非常感谢你事先的努力!

原始的专家顾问可以在这个主题的第一个帖子中找到 -https://www.mql5.com/ru/forum/58。

这就是MT4中的实现方式。
"从历史上的图表中处理。查看 -> 终端 -> 帐户历史。我们抓住订单并将其拖到图表上。如果你把它放在另一个乐器的图表上,它将被选定的乐器所取代)。
该订单以箭头形式显示,用于开仓和平仓,由一段趋势线连接。止损和止盈水平与开盘价显示在同一纵轴上。
如果你按住Shift键拖动订单,图表将显示这个符号的全部交易历史(相信我,它非常清楚)。

Изучаем и пишем вместе на MQL5
Изучаем и пишем вместе на MQL5
  • www.mql5.com
2) вывод всей возможной информации по инструментам, ордерам и др.
 

有谁能好心为一个初学者的小问题提出一个解决方案。

第一个条件。

我有一个用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
Fractals
  • 投票: 8
  • 2010.01.26
  • MetaQuotes Software Corp.
  • www.mql5.com
Фракталы (Fractals) — это один из пяти индикаторов торговой системы Билла Вильямса, позволяющий обнаруживать дно или вершину.
附加的文件:
fzr2.mq5  14 kb
fractals.mq5  4 kb