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

 
raduga7:
尊敬的MQL4专家

在metastock上,我理解为如果((Ref(H,-1)>Ref(H,0))AND (Ref(H,-2) < Ref(H,-1) ), Ref( H,-1),PREV); 但我是MQL4的新手。

我从未见过元股票,而MT4/MT%的语法与C/C++几乎相同。

教程/手册中有if()操作符的例子:https://book.mql4.com/ru/operators/if,似乎没有什么太复杂的。

这里也有一些关于函数的信息,以及如何自己编写函数 https://book.mql4.com/ru/operators/function

 
Danil93:
错误4109 - 不允许交易。如何解决这个问题?


服务器不让你交易--一定是假期,或者终端设置 中没有允许交易的复选框。就像这样(服务-设置)。

 
IgorM:

我从未见过metastock,MT4/MT%的语法与C/C++几乎一样。

在教程/手册中有if()操作符的例子:https://book.mql4.com/ru/operators/if

还有关于函数和如何自己编写函数的信息 https://book.mql4.com/ru/operators/function


我曾经是Metastock的一个重要用户。唉,MT4更简单、更方便。的确,Metastock中的指标要多得多。但学习MQl就可以消除这个问题。更重要的是,即使没有语言,MT的代码库也不够小。
 
谢谢你的提示,这只是我第一天用MTK工作。所以我写了这样一个问题。但我在谷歌上搜索,找到了我要找的东西。

但我还没有找到一个有差距的解决方案。所以如果有人不偷懒,请把代码发给我。


//+------------------------------------------------------------------+

//| 支持和阻力 |
//| 巴里-斯坦德2004年版权所有。
//| http://myweb.absa.co.za/stander/4meta/ |
//+------------------------------------------------------------------+
#财产版权 "点击这里:Barry Stander"
#属性链接 "http://myweb.absa.co.za/stander/4meta/"

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue

//---- 缓冲区
double v1[];
double v2[]。
double val1;
double val2;
int i;

int init()
{

IndicatorBuffers(2)。

//---- 绘图设置
SetIndexArrow(0, 119)。
SetIndexArrow(1, 119);

SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,1,Red)。
SetIndexDrawBegin(0,i-1)。
SetIndexBuffer(0, v1)。
SetIndexLabel(0, "Resistance")。


SetIndexStyle(1,DRAW_ARROW,STYLE_DOT,1,Blue)。
SetIndexDrawBegin(1,i-1)。
SetIndexBuffer(1,v2)。
SetIndexLabel(1, "支持")。

return(0);
}

int start()
{

i=Bars。
while(i>=0)
{

val1 = iFractals(NULL, 0, MODE_UPPER,i)。
如果(val1 > 0)
v1[i]=High[i]+(High[i]-Low[i]);
否则
v1[i] = v1[i+1]。

val2 = iFractals(NULL, 0, MODE_LOWER,i)。
如果(val2 > 0)
v2[i]=Low[i]。
否则
v2[i] = v2[i+1]。

i--;
}
return(0);
}

//+------------------------------------------------------------------+

 
raduga7, 我不明白 "指标调用价格 "是什么意思?好吧,指标已经找到了你需要的价格。它接下来应该做什么?它只是把它放到它的缓冲区,然后把它存储在某个地方,而不进行渲染?把它储存在其他程序的代码中使用?
 

自然,它将在图表上画出一条价格线,如上面公布的指标中所述


//---- 绘图设置
SetIndexArrow(0, 119);
SetIndexArrow(1, 119);

SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,1,Red);
SetIndexDrawBegin(0,i-1);
SetIndexBuffer(0, v1);
SetIndexLabel(0, "Resistance")

===================================================

还有一个问题。
是否可以在一个窗口中显示几个不同时间段的图表2或3?有什么现成的解决方案或例子吗?

 
raduga7:


另一个问题。
是否可以在一个窗口中显示几个2或3个不同时间段的图表?是否有现成的解决方案或例子?

时间间隔? 时间框架?

在MT指标中存在一些不便之处--作为坐标X和Y,指标使用价格和时间,而时间也被分为条形和具体的时间指示,作为数据时间类型,如果指标使用 指标缓冲区 绘制,它肯定会按条形绘制,如果指标使用图形对象,那么指定时间

如果你的问题是关于线的数量--指标缓冲区,那么MT4的一个指标最多只能有8条线,但没有人禁止使用几个指标。

 

你好,我想问一个问题,如果一个指标可以通过外部变量获取按时间设定的条形图的值?

例如,如果你在外部变量中输入日期--2011年1月6日04时25分,如何在指标中做到这一点,预先感谢你。
 
Eliza:

你好,我可以问一个问题,指标能否通过外部变量接受由时间设定的条形值?

例如,如果你把日期放在外部变量中--2011年1月6日04时25分,你怎么能在指标中做到这一点,提前感谢。


杠杠移位

计时

你可以把它们结合起来,像这样。

iBarShift(NULL,PERIOD_D1,Time[1 00])

而外部变量是在不同的EA/指标之间交换数据的一种方式,我不明白为什么外部变量和它有什么关系。

 
raduga7:

自然,它将在图表上画出一条价格线,正如上面公布的指标中所描述的那样


//---- 绘图设置
SetIndexArrow(0, 119)。
SetIndexArrow(1, 119);

SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,1,Red)。
SetIndexDrawBegin(0,i-1)。
SetIndexBuffer(0, v1)。
SetIndexLabel(0, "Resistance")。

===================================================

还有一个问题。
是否可以在一个窗口中显示几个不同时间段的图表2或3?是否有现成的解决方案或例子?




你没有说你想要一张效果图--你说你在谷歌上找到这样的东西。那么,DRAW_ARROW不是一条线--它是一个箭头(它也可以只使用允许的字符表中的一个字符)。计算机是一个假人,只理解 "有信号-无信号"--它需要精确的指令。因此,在这里你需要知道除了发现的价格之外,你到底需要什么。
原因: