[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 13

 

你们是什么样的人,你们不能帮助一个可怜的女孩,我所要求的只是这样一件小事。

例如,这里有一个彩色MA的链接。https://www.mql5.com/ru/code/9145

我只需要一个例子,但要更简单、更清晰,在柱状体的顶部或底部有一条彩色的线,没有计算算法。

请回应我的请求。预先感谢你。

 
rigonich:


为了画出一条指示线,你应该。

1.创建具有某些属性的数组,称为指标缓冲区,用于构建指标线的点的坐标将从中获取。终端内置的现成的功能被用于这一目的。

2.通过在可用选项中选择它来设置指示线的绘制样式。

3.用一些值来填充这个数组,这是在启动指标的函数中完成的,并启动程序绘制指标。

终端没有改变一个缓冲区的绘图风格的内置功能,即它可以用不同的风格绘制一条线的不同部分。这需要创建一个自定义函数,但这并不容易,你至少应该知道编程的基本知识。

我明白了,我不知道如何在一个柱子上停止红线,例如i=20,从这个柱子开始绿线,等等。
 
Yulia:

你们是什么样的人,你们不能帮助一个可怜的女孩,我所要求的只是这样一件小事。

例如,这里有一个彩色MA的链接。https://www.mql5.com/ru/code/9145

我只需要一个例子,但要更简单、更清晰,在柱状体的顶部或底部有一条彩色的线,没有计算算法。

请回应我的请求。预先感谢你。


kodobase中的此类指标的例子,但它们并不简单,因为这种指标不能只用内置的终端工具来制作,因为终端没有必要的内置工具(我指的是建立指标的工具)。
 

专业人士,我怎样才能把数据储存几天,然后再编辑这些数据?

我知道php,但MySQL数据库是用来存储一些数据的。

我不明白如何存储一些信息,把它放在哪里,以便以后能够使用和编辑它?

如果在mql4中有这样的东西,请用一个小例子来解释。

我需要做的是:取当时账户中的可用资金量,将其输入数据库,在EA的交易量增加或减少10%后,我们根据新的金额增加或减少手数。

这就是数据库的作用,要记住现在账户里有1000美元。

一旦EA达到1100美元,就增加手数。

Suma = 1100; // 当前金额多了100美元,专家顾问已经成功交易。

procent = 10; // 10%

baza = 1000; // 我们已经从数据库中提取了之前的金额。

raznica = (baza/procent)+baza;//我们取1000/10=100,差额是10%,然后把它加到基数中,我们得到100+1000=1100。


if (Suma>=raznica ) // 1100 >=1100 比较当前金额是否超过基数+10%的金额。

{

我们增加手数并在基础上增加1100的金额;在EA交易1100=110的10%的金额后,我们再次增加手数并在基础上增加新的金额,等等。

}


我希望我解释得很好。也许在如何实现这个问题上还有其他想法或解决方案?

 
pasha5282:

专业人士,我怎样才能把数据储存几天,然后再编辑这些数据?

我知道php,但MySQL数据库是用来存储一些数据的。

我不明白如何存储一些信息,把它放在哪里,以便以后能够使用和编辑它?

如果在mql4中有这样的东西,请用一个小例子来解释。

我需要做的是:取当时账户中的可用资金量,将其输入数据库,在EA的交易量增加或减少10%后,我们根据新的金额增加或减少手数。

这就是数据库的作用,要记住现在账户里有1000美元。

一旦EA达到1100美元,就增加手数。

Suma = 1100; // 当前金额多了100美元,专家顾问已经成功交易。

procent = 10; // 10%

baza = 1000; // 我们已经从数据库中提取了之前的金额。

raznica = (baza/procent)+baza;//我们取1000/10=100,差额是10%,然后把它加到基数中,我们得到100+1000=1100。


if (Suma>=raznica ) // 1100 >=1100 比较当前金额是否超过基数+10%的金额。

{

我们增加手数并在基础上增加1100的金额;在EA交易1100=110的10%的金额后,我们再次增加手数并在基础上增加新的金额,等等。

}


我希望我解释得很好。也许在如何实现这个问题上还有其他想法或解决方案?


变量或变量数组被用于这一目的。事实上,MySQL也是一个变量数组和一套允许你与这个数组工作的规则
 
Yulia:
我很清楚,我不知道如何在一个柱子上,例如i=20停止红线,从这个柱子开始绿色的,等等。
要想用不同的颜色画出一条线(它是由不同颜色的线的独立 "碎片 "组合而成的),你需要激活尽可能多的缓冲区,以满足你对所画线的颜色的要求。

在你的例子中,在第20个条形图上,数值必须被放入绘制绿线的缓冲区,而该条形图上的所有其他缓冲区必须有一个不在图表上绘制的空值。它的默认值是EMPTY_VALUE。


P.S. 你引用的彩色MA 链接是初级的,非常清楚地实施我在上面写给你的内容。

 
TarasBY:
要想用不同的颜色画出一条线(它是由不同颜色的线的单独 "碎片 "组合而成的),你必须使用与你希望画出的线一样多的缓冲器。在你的例子中,在第20条上,你将把数值放入绘制绿线的缓冲区,而该条上的所有其他缓冲区应该有一个空值,不在图表上绘制。它的默认值是EMPTY_VALUE。


更准确地说,不是多少种颜色,而是多少条,以及指标缓冲区的 最大数量 - 8...
 
TarasBY:
要想用不同的颜色画出一条线(它是由不同颜色的线组成的独立 "片断 "收集的),你需要使用尽可能多的缓冲区,因为你需要为画出的线提供颜色。
在你的例子中,在第20条上,你将把数值放入绘制绿线的缓冲区,而该条上的所有其他缓冲区应该有一个空的数值,不在图表上绘制。它的默认值是EMPTY_VALUE。

我尝试了所有的方法,如果我把20条的值放在绿色缓冲区,那么红色就会进一步绘制,如果我把EMPTY_VALUE分配给红色缓冲区20,那么红色到20就不会绘制。请给我看一个例子,我将非常感谢你。

//--------------------------------------------------------------------
// userindicator.mq4 //打算作为MQL4教程中的一个例子使用。
//--------------------------------------------------------------------
#property indicator_chart_window//该指标被画在主窗口中
#property indicator_buffers2 // 缓冲区的数量
#property indicator_color1 Red// 第一行的颜色
#property indicator_color2 绿色// 第二行 的颜色

double Buf_0[],Buf_1[];//数组的声明(用于指示器缓冲区)
//--------------------------------------------------------------------
int init() {// 特殊函数init()
SetIndexBuffer(0,Buf_0)。// 将一个数组分配给缓冲区
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,3)。//线条风格
SetIndexBuffer(1,Buf_1)。// 将一个数组分配给缓冲区
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,3)。//线条风格
返回//从特殊的 init中退出 init()
}
//-------------------------------------------------------------------
int start() {//特殊函数start( )
int i,//条形索引
计数器_条。// 被计数的条数
//--------------------------------------------------------------------
Counted_bars=IndicatorCounted()。//计算的条数
i=Bars-Counted_bars-1。// 不计算第一个的索引

while(i>=0)// 循环浏览未计数的条形图
{

Buf_0[i]=High[i]。
Buf_1[i]=
i--;

}
返回
}

 
我怎样才能在这里获得代码? 我必须使用Scr还是什么?我应该怎样做才能把代码放到注释中?
 
rigonich:

更准确地说,不是多少种颜色,而是多少条,以及指标缓冲区的最大数量 - 8...

你考虑过酒吧的问题吗?看看链接 上的彩色MA,把它放在你的图表上,比如说,14个周期,然后数一数那里有多少个不同颜色的柱子。

或者你说的是 "托马斯",而我说的是 "欧瑞亚"...