如何编码? - 页 294

 

OrderSend(Symbol..... query)

int ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0, "专家评论",255,0,CLR_NONE)。

我的问题是这样的。

符号() 部分是否可以改变,以便它说的是eurusd,这样当我运行买入脚本时,它只是买入eurusd...从我运行的任何图表中?

比如说。

int ticket=OrderSend(eurusd,OP_BUY,1.0,Ask,3,0,0, "专家评论",255,0,CLR_NONE)。

谢谢

 

...

是的。它可以

只是要注意外壳的问题。这个电话应该是这样的 :

int ticket=OrderSend("EURUSD",OP_BUY,1.0,Ask,3,0,0,"expert comment",255,0,CLR_NONE);
al_shore:
int ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0, "专家评论",255,0,CLR_NONE)。

我的问题是这样的。

符号() 部分是否可以改变,使之成为eurusd,这样当我运行买入脚本时,它就会买入eurusd......从我运行的任何图表中?

比如说。

int ticket=OrderSend(eurusd,OP_BUY,1.0,Ask,3,0,0, "专家评论",255,0,CLR_NONE)。

谢谢
 

EA工作顺利

亲爱的朋友们。

我是外汇新手,虽然它在编译时没有出现错误,但我没有让它工作,请谁来帮助我,它有什么问题?

预先感谢

附加的文件:
test_ea.mq4  128 kb
 

...

你不能只是把指标中的代码复制到EA中,并期望它能工作(特别是来自Nikolay Kostisin的指标,他不以简单的代码著称)。

首先,最好通过iCustom()调用 来使用指标,并将交易逻辑保留在EA中,这样你会得到一个更容易编写的EA。

kemal44:
亲爱的朋友们。

我是外汇新手,虽然它在编译时没有出现错误,但我没有使它工作,请谁来帮助我,它有什么问题?

谢谢
 

如何编写波动率质量EA的代码

向大家问好!

我是metatrader EA的新手。我如何将VQ指标编码到EA中,以便在M15时间段进行交易,但买入卖出的触发是基于波动率质量指标选定的时间段?

谢谢

附加的文件:
vq7.mq4  8 kb
 

你还需要将Ask改为MarketInfo("EURUSD", MODE_ASK)。

否则交易将不会成功。Ask将是图表中的符号。

还要注意的是,有些经纪商在符号名称前后添加其他字符

如 "EURUSDm"。

罗伯特

al_shore:
int ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0, "专家评论",255,0,CLR_NONE)。

我的问题是这样的。

符号() 部分是否可以改变,使之成为eurusd,这样当我运行买入脚本时,它就会买入eurusd...从我运行的任何图表中?

比如说。

int ticket=OrderSend(eurusd,OP_BUY,1.0,Ask,3,0,0, "专家评论",255,0,CLR_NONE)。

谢谢
 

...

ymkoh

请看这个主题:https://www.mql5.com/en/forum/general

那里有很多使用波动率质量的EA版本。

ymkoh:
向大家问好!

我是metatrader EA的新手。我如何将VQ指标编码到EA中,以便在M15时间段进行交易,但买入卖出的触发基于波动率质量指标选定的时间段?

谢谢
 
mladen:
ymkoh

请查看此主题:https://www.mql5.com/en/forum/general

那里有很多使用波动率质量的EA版本

谢谢你的信息!

我已经尝试了其中的大部分,但没有一个可以工作。

例子:- EA Trading TF H1 VQ input 240.

它只在Trading TF H1 VQ input 0默认情况下工作。

附上的截图显示了由VQ指标H4时间框架触发的交易TF H1买入信号的例子。(没有附上EA)

vq7.mq4

附加的文件:
 

这种关于Hurst指数的指标

我想要这种关于Hurst指数的指标,该代码已被编译器成功编程,但没有图像,你能修复它吗?谢谢你的帮助。

Hurst指数的数值范围在0和1之间。

*Hurst指数值H接近0.5表示随机行走(布朗时间序列)。在随机漫步中,任何元素和未来元素之间都没有相关性,未来的回报值有50%的概率会上升或下降。这种类型的系列是很难预测的。

* 对于具有 "反持久行为 "的时间序列,存在一个介于0和0.5之间的Hurst指数值。这意味着增长之后往往会出现下降(或下降之后会出现增长)。这种行为有时被称为 "均值回归",这意味着未来的价值将有返回到长期均值的趋势。这种均值回归的强度随着H接近0而增加。

* 赫斯特指数值H在0.5和1之间表示 "持续行为",也就是时间序列是有趋势的。如果从时间步骤[t-1]到[t]有一个增长,那么从[t]到[t+1]可能也会有一个增长。减少的情况也是如此,减少的情况将趋向于跟随减少的情况。H值越大,趋势就越强。这种类型的系列比属于其他两类的系列更容易预测。

计算方法如下

Step_A、X= MathLog(Close/Close)

{从单一的R/S的价值H

步骤1、E = (1/n)*[X(0)+X(1)+X(2)+...+X(n-1) ] 。

步骤2、A(0) = X(0) - E

A(1) = X(1) - E

A(2) = X(2) - E

...

A(n-1) = X(n-1) - E

第三步、SUM(0) = A(0)

sum(1) = A(0)+ A(1)

sum(2) = A(0)+A(1)+A(2)

...

SUM(n-1) = A(0)+A(1)+A(2)+...+A(n-1)

第四步、R=最大(SUM,n)。- 最小(SUM,n)。

步骤5、H = log(R/S)/log(n/2) //设为{X(0),X(1),X(2),...}的标准偏差。X(n-1)}的标准差。

}

步骤_B、从{ X(i),X(i+1),X(i+2),...的集合中计算H。X(i+n-1)}。

步骤_C、计算H_SMA,让其平滑,如果H_SMA=0.5,则警告。

编码如下

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

//| #HURST.mq4 !

//| chenairbin.|

//|MetaTrader 4交易平台/MetaQuotes软件公司。|

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

#property copyright "chenairbin." (财产)。

#property link "http://www.metaquotes.net"

#属性 indicator_separate_window

#属性 indicator_minimum 0

#属性 indicator_maximum 1

#属性 indicator_buffers 7

#属性 indicator_color7 黄色

外部int n=21,S_EMA=8;

外置双倍Natural=0.5。

double X[],E[],S[],A[],SUM[],H[],C[];

int init()

{

IndicatorBuffers(7);

SetIndexBuffer(0,X);

SetIndexBuffer(1,E);

SetIndexBuffer(2,S);

SetIndexBuffer(3,A);

SetIndexBuffer(4,SUM);

SetIndexBuffer(5,H);

SetIndexStyle(6,DRAW_LINE);

SetIndexBuffer(6,C)。

返回(0)。

}

int start()

{

int i;

int limit;

int counted_bars=IndicatorCounted()。

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--。

limit=Bars-counted_bars。

for (i=limit-1;i>=0;i--)

{

X= MathLog(Close/Close)。

}

for (i=limit-1;i>=0;i--)

{

E=iMAOnArray(X,0,n,0,MODE_EMA,i)。

S=iStdDevOnArray(X,0,n,0,MODE_EMA,i)。

}

for (i=limit-1;i>=0;i--)

{

A=X-E。

}

for (i=limit-1;i>=0;i--)

{

for (int j=0;j<n;j--)

{

for (i=limit-1;0<=i<=j;i--)

{

double B=0,SUM[];

B=B+A。

SUM[j]=B。

}

}

H=MathLog((SUM[ArrayMaximum(SUM,n,0)]-SUM[ArrayMinimum(SUM,n,0)])/S)/MathLog(n/2)。

}

for (i=limit-1;i>=0;i--)

{

C=iMAOnArray(H,0,S_EMA,0,MODE_EMA,i)。

}

return(0);

}

//-----------------------------------------------------------

 

这一部分:

for (i=limit-1;i>=0;i--)

{

for (int j=0;j<n;j--)

{

for (i=limit-1;0<=i<=j;i--) // you are alrady using "i" variable in in the outer loop

{

double B=0,SUM[]; // Sum is an un-initialized array and shoulde be created out of this loop.

B=B+A;

SUM[j]=B;

}

}

H=MathLog((SUM[ArrayMaximum(SUM,n,0)]-SUM[ArrayMinimum(SUM,n,0)])/S)/MathLog(n/2);

}

注释了错误所在。没有描述,我不能说你想用这段代码达到什么目的,所以我不能改变它。

chenairbin:
你好,谁能帮助我?我想要这种关于Hurst指数的指标。代码被编译器成功编程,但没有图像,你能解决这个问题吗?谢谢你的帮助。

Hurst指数的值在0和1之间。

* 如果Hurst指数值H接近0.5,说明是随机行走(布朗时间序列)。在随机漫步中,任何元素和未来元素之间都没有相关性,未来的回报值有50%的概率会上升或下降。这种类型的系列是很难预测的。

* 对于具有 "反持久行为 "的时间序列,存在一个介于0和0.5之间的Hurst指数值。这意味着增长之后往往会出现下降(或者下降之后会出现增长)。这种行为有时被称为 "均值回归",这意味着未来的数值将有返回到长期均值的趋势。这种均值回归的强度随着H接近0而增加。

* 赫斯特指数值H在0.5和1之间表示 "持续行为",也就是时间序列是有趋势的。如果从时间步骤[t-1]到[t]有一个增加,那么从[t]到[t+1]可能也会有一个增加。减少的情况也是如此,减少的情况将趋向于跟随减少的情况。H值越大,趋势就越强。这种类型的系列比属于其他两类的系列更容易预测。

计算方法如下

Step_A、X= MathLog(Close/Close)

{从单一的R/S的价值H

步骤1、E = (1/n)*[X(0)+X(1)+X(2)+...+X(n-1) ] 。

步骤2、A(0) = X(0) - E

A(1) = X(1) - E

A(2) = X(2) - E

...

A(n-1) = X(n-1) - E

第三步、SUM(0) = A(0)

sum(1) = A(0)+ A(1)

sum(2) = A(0)+A(1)+A(2)

...

SUM(n-1) = A(0)+A(1)+A(2)+...+A(n-1)

第四步、R=最大(SUM,n)。- 最小(SUM,n)。

步骤5、H = log(R/S)/log(n/2) //设为{X(0),X(1),X(2),...}的标准偏差。X(n-1)}的标准差。

}

步骤_B、从{ X(i),X(i+1),X(i+2),...的集合中计算H。X(i+n-1)}。

步骤_C、计算H_SMA,让其平滑,如果H_SMA=0.5,则警告。

编码如下

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

//| #HURST.mq4 !

//| chenairbin.|

//|MetaTrader 4交易平台/MetaQuotes软件公司。|

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

#property copyright "chenairbin." (财产)。

#property link "http://www.metaquotes.net"

#属性 indicator_separate_window

#属性 indicator_minimum 0

#属性 indicator_maximum 1

#属性 indicator_buffers 7

#属性 indicator_color7 黄色

外部int n=21,S_EMA=8;

外置双倍Natural=0.5。

double X[],E[],S[],A[],SUM[],H[],C[];

int init()

{

IndicatorBuffers(7);

SetIndexBuffer(0,X);

SetIndexBuffer(1,E);

SetIndexBuffer(2,S);

SetIndexBuffer(3,A);

SetIndexBuffer(4,SUM);

SetIndexBuffer(5,H);

SetIndexStyle(6,DRAW_LINE);

SetIndexBuffer(6,C)。

返回(0)。

}

int start()

{

int i;

int limit;

int counted_bars=IndicatorCounted()。

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--。

limit=Bars-counted_bars。

for (i=limit-1;i>=0;i--)

{

X= MathLog(Close/Close)。

}

for (i=limit-1;i>=0;i--)

{

E=iMAOnArray(X,0,n,0,MODE_EMA,i)。

S=iStdDevOnArray(X,0,n,0,MODE_EMA,i)。

}

for (i=limit-1;i>=0;i--)

{

A=X-E。

}

for (i=limit-1;i>=0;i--)

{

for (int j=0;j<n;j--)

{

for (i=limit-1;0<=i<=j;i--)

{

double B=0,SUM[];

B=B+A。

SUM[j]=B。

}

}

H=MathLog((SUM[ArrayMaximum(SUM,n,0)]-SUM[ArrayMinimum(SUM,n,0)])/S)/MathLog(n/2)。

}

for (i=limit-1;i>=0;i--)

{

C=iMAOnArray(H,0,S_EMA,0,MODE_EMA,i)。

}

return(0);

}

//-----------------------------------------------------------