如何编码? - 页 70 1...636465666768697071727374757677...347 新评论 k3iroll 2008.02.14 10:34 #691 需要帮助 ................ latotona 2008.02.14 10:42 #692 SIDDESH: 你好。能否请您提供前一栏的代码。 这可以在EA中使用,当前一个条形图超过一定高度时限制下单。 请注意。 尊敬的女士们、先生们,你们好!我是SIDDESH。 Siddesh和其他能提供帮助的人。 前一栏的代码如下。 //买入 double indicatorpast = icustom(....................,1); double indicatornow = icustom(....................,0); 如果(close[1]indicatornow)OpenBUY()。 如果(close[1]>indicatorpast && close[0]<indicatornow)OpenSELL()。 但在这种情况下,专家不仅在价格越过指标时开仓,而且还在指标之上开仓。我希望专家只在价格越过指标时开仓,所以我试着这样做。 //买入 double indicatorpast = icustom(....................,1); double indicatornow = icustom(....................,0); 如果(close[1]<indicatorpast && close[0]==indicatornow)OpenBUY()。 如果(close[1]>indicatorpast && close[0]==indicatornow)OpenSELL()。 但是这个语句没有执行。 你知道发生了什么吗?因为我认为语句中没有错误。 问题是,当close[0]== Indicatornow时,为什么没有在准确的交叉点开仓?如果函数 是==,我们将防止在指标和本栏收盘之间的交叉点以上开仓,但在变量之间的这种关系下,没有发挥作用。 Aver4Sto+Postzigzag.mq4下载买卖单的问题???????? 将指标代码转移至 Expert Advisor 代码。总结 MQL5 简介(第 3 部分):掌握 latotona 2008.02.14 10:44 #693 可以帮助的人。 前面一栏的代码如下。 //要买入 double indicatorpast = icustom(....................,1); double indicatornow = icustom(....................,0); 如果(close[1]indicatornow)OpenBUY()。 如果(close[1]>indicatorpast && close[0]<indicatornow)OpenSELL()。 但在这种情况下,专家不仅在价格越过指标时开仓,而且还在指标之上开仓。我希望专家只在价格越过指标时开仓,所以我试着这样做。 //买入 double indicatorpast = icustom(....................,1); double indicatornow = icustom(....................,0); 如果(close[1]<indicatorpast && close[0]== indicatornow)OpenBUY()。 如果(close[1]>indicatorpast && close[0]== indicatornow)OpenSELL()。 但是这个语句没有执行。 你知道发生了什么吗?因为我认为语句中没有错误。 问题是,当close[0]== Indicatornow时,为什么没有在准确的交叉点开仓?如果函数 是==,我们将防止在指标和当前条形图的收盘价之间的交叉点以上开仓,但在变量之间的这种关系下却不起作用。 你有没有试验过同样的问题?有谁知道如何解决这个问题? 谢谢,再次感谢。 如何利用 MQL5 创建简单的多币种智能交易系统(第 1 如何利用 MQL5 创建简单的多币种智能交易系统(第 2 开发 EA 构造函数的一次尝试 omelette 2008.02.14 11:07 #694 la totona: 可以帮助的人。前一栏的代码如下。 //要买入 double indicatorpast = icustom(....................,1); double indicatornow = icustom(....................,0); 如果(close[1]indicatornow)OpenBUY()。 如果(close[1]>indicatorpast && close[0]<indicatornow)OpenSELL()。 但在这种情况下,专家不仅在价格越过指标时开仓,而且还在指标之上开仓。我希望专家只在价格越过指标时开仓,所以我试着这样做。 //买入 double indicatorpast = icustom(....................,1); double indicatornow = icustom(....................,0); 如果(close[1]<indicatorpast && close[0]== indicatornow)OpenBUY()。 如果(close[1]>indicatorpast && close[0]== indicatornow)OpenSELL()。 但是这个语句没有执行。 你知道发生了什么吗?因为我认为语句中没有错误。 问题是,当close[0]== Indicatornow时,为什么没有在准确的交叉点开仓?如果函数是==,我们将防止在指标和当前条形图的收盘价之间的交叉点以上开仓,但在变量之间的这种关系下却不起作用。 你有没有试验过同样的问题?有谁知道如何解决这个问题? 谢谢,再次感谢。 因为你正在寻找返回的8位数浮点值 和价格之间的精确匹配--在这样的决议下,它们几乎不会相等。 只要检查一下大于或小于的条件。 bobo10 2008.02.15 08:52 #695 证券交易软件 嗨,伙计们,我需要把这个指标或交易相对系统变成语言mql,因为这是在metatrader 4上的功能。我正在更换经纪人和软件,有人能帮助我吗? {扩大回归移动平均线的计算方法}。 {BeginNING} {"-HShift" - BARS FORWARDS}. DataBars:=Ref(Price,-HShift); e1:= Mov(DataBars,PeriodMA,TypeMA); e2:= Mov(e1,PeriodMA,TypeMA); e3:=Mov(e2,PeriodMA,TypeMA); e4:= Mov(e3,PeriodMA,TypeMA); e5:=Mov(e4,PeriodMA,TypeMA); e6:=Mov(e5,PeriodMA,TypeMA)。 c1:= -b*b*b; c2:= 3*b*b+3*b*b*b; c3:= -6*b*b-3*b-3*b*b。 c4:=1+3*b+b*b*b+3*b*b。 MV:= c1*e6+c2*e5+c3*e4+c4*e3。 {计算生命时间MV 用于消除初始值的失真}。 {T3移动平均值} e1:=Mov(Pr,PeriodMA1,TypeMA1)。 e2:=Mov(e1,PeriodMA1,TypeMA1)。 e3:=Mov(e2,PeriodMA1,TypeMA1); e4:= Mov(e3,PeriodMA1,TypeMA1); e5:= Mov(e4,PeriodMA1,TypeMA1); e6:=Mov(e5,PeriodMA1,TypeMA1)。 c1:= -b1*b1*b1; c2:=3*b1*b1+3*b1*b1*b1。 c3:=-6*b1*b1-3*b1-3*b1*b1*b1。 c4:=1+3*b1+b1*b1*b1+3*b1*b1。 MA1:= c1*e6+c2*e5+c3*e4+c4*e3。 {涨跌趋势}。 UpTrend:=Mv>=MA1; DownTrend:=MA1>=Mv; {多头和空头信号}多头:=cross(Mv,), 空头:=Mv>=Mv; 空头:=Mv>=Mv; 空头:=Mv>=Mv 多头:= cross(Mv,MA1) and Mv>=MA1; 空头:= cross(MA1,Mv) and MA1>=Mv; {开盘买入和收盘买入} OpenBuy:= cross(Mv,MA1) and Mv>=MA1; CloseBuy:= cross(MA1,Mv) and MA1>=Mv; {开盘卖出和收盘卖出} OpenSell:= cross(MA1,Mv) and MA1>=Mv; CloseSell:= cross(Mv,MA1) and Mv>=MA1; How to code? T3 T3 Linuxser 2008.02.15 11:28 #696 bobo10: 嗨,伙计们,我需要把这个指标或交易相对系统变成语言mql,因为它在metatrader 4上起作用。我正在更换经纪人和软件,有人能帮助我吗?{T3移动平均线}。 e1:=Mov(Pr,PeriodMA1,TypeMA1)。 e2:=Mov(e1,PeriodMA1,TypeMA1); e3:=Mov(e2,PeriodMA1,TypeMA1); e4:= Mov(e3,PeriodMA1,TypeMA1); e5:= Mov(e4,PeriodMA1,TypeMA1); e6:=Mov(e5,PeriodMA1,TypeMA1)。 c1:= -b1*b1*b1; c2:=3*b1*b1+3*b1*b1*b1。 c3:=-6*b1*b1-3*b1-3*b1*b1*b1。 c4:=1+3*b1+b1*b1*b1+3*b1*b1。 MA1:= c1*e6+c2*e5+c3*e4+c4*e3。 所有这些代码都是相似的,你可以从T3代码 开始看起 wolfe 2008.02.16 01:21 #697 nittany1: 全局,把这个放在init()之前datetime PreviousBar;[/CODE] In the order placement and/or order close stuff, wrap it in this: if(NewBar() == true) { if blah blah blah, gimme pips // not actual functions but you get the idea if blah blah blah, close orders // um } Common function outside main loop: [CODE]//--- returns true if current bar just formed bool NewBar() { if(PreviousBar<Time[0]) { PreviousBar = Time[0]; return(true); } else { return(false); } return(false); } 谢谢nitty1的帮助。 我将尝试一下。 也感谢waltini和devil2000。 我现在应该能搞清楚了。 fxgrm 2008.02.18 12:11 #698 在演示版上自由运行的账户代码 你好。 谁能告诉我,可以插入什么代码,让有账户安全代码的EA也能在模拟账户 上自由运行,这样用户就可以在上线前测试它? 这有可能吗? 谢谢 Erman Ardianto 2008.02.18 13:20 #699 fxgrm: 你好。谁能告诉我,可以插入什么代码,让有账户安全代码的EA也能在模拟账户上自由运行,这样用户就可以在上线前测试它? 这有可能吗? 谢谢 从元编辑器上看。 bool IsDemo() 如果专家在模拟账户 上运行,返回TRUE,否则返回FALSE。 kat 2008.02.18 14:15 #700 用StepMA对 "趋势条件 "进行编码 买入条件。 StepMA(颜色模式:2)为 "长"。 随机指数 从下到上越过20 卖出条件。 StepMA(颜色模式:2)为 "空" 随机指数从上到下越过80 double StochCurrent = iStochastic(NULL, 0, 21, 3, 8, MODE_SMA, 0, MODE_MAIN, Bar + 0); double StochPrevious = iStochastic(NULL, 0, 21, 3, 8, MODE_SMA, 0, MODE_MAIN, Bar + 1); double TrendLong = iCustom(NULL, 0, "stepma_v7ea", 1, 1.0, 0, 0, 0.0, false, 2, 0, 1, Bar + 0); double TrendShort = iCustom(NULL, 0, "stepma_v7ea", 1, 1.0, 0, 0, 0.0, false, 2, 0, 2, Bar + 0); 如果买入。 TrendLong && StochCurrent > 20 && StochPrevious < 20 卖出,如果。 趋势空头 && StochCurrent 80 谁能帮我看看上述例子中的 "趋势条件 "的代码,它不起作用。我试着为多头和空头模式调用缓冲区1和缓冲区2,但我不明白这个指标的代码。谢谢你的帮助。 How to code? 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. 1...636465666768697071727374757677...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
需要帮助
................
你好。
能否请您提供前一栏的代码。
这可以在EA中使用,当前一个条形图超过一定高度时限制下单。
请注意。
尊敬的女士们、先生们,你们好!我是SIDDESH。Siddesh和其他能提供帮助的人。
前一栏的代码如下。
//买入
double indicatorpast = icustom(....................,1);
double indicatornow = icustom(....................,0);
如果(close[1]indicatornow)OpenBUY()。
如果(close[1]>indicatorpast && close[0]<indicatornow)OpenSELL()。
但在这种情况下,专家不仅在价格越过指标时开仓,而且还在指标之上开仓。我希望专家只在价格越过指标时开仓,所以我试着这样做。
//买入
double indicatorpast = icustom(....................,1);
double indicatornow = icustom(....................,0);
如果(close[1]<indicatorpast && close[0]==indicatornow)OpenBUY()。
如果(close[1]>indicatorpast && close[0]==indicatornow)OpenSELL()。
但是这个语句没有执行。
你知道发生了什么吗?因为我认为语句中没有错误。
问题是,当close[0]== Indicatornow时,为什么没有在准确的交叉点开仓?如果函数 是==,我们将防止在指标和本栏收盘之间的交叉点以上开仓,但在变量之间的这种关系下,没有发挥作用。
可以帮助的人。
前面一栏的代码如下。
//要买入
double indicatorpast = icustom(....................,1);
double indicatornow = icustom(....................,0);
如果(close[1]indicatornow)OpenBUY()。
如果(close[1]>indicatorpast && close[0]<indicatornow)OpenSELL()。
但在这种情况下,专家不仅在价格越过指标时开仓,而且还在指标之上开仓。我希望专家只在价格越过指标时开仓,所以我试着这样做。
//买入
double indicatorpast = icustom(....................,1);
double indicatornow = icustom(....................,0);
如果(close[1]<indicatorpast && close[0]== indicatornow)OpenBUY()。
如果(close[1]>indicatorpast && close[0]== indicatornow)OpenSELL()。
但是这个语句没有执行。
你知道发生了什么吗?因为我认为语句中没有错误。
问题是,当close[0]== Indicatornow时,为什么没有在准确的交叉点开仓?如果函数 是==,我们将防止在指标和当前条形图的收盘价之间的交叉点以上开仓,但在变量之间的这种关系下却不起作用。
你有没有试验过同样的问题?有谁知道如何解决这个问题?
谢谢,再次感谢。
可以帮助的人。
前一栏的代码如下。
//要买入
double indicatorpast = icustom(....................,1);
double indicatornow = icustom(....................,0);
如果(close[1]indicatornow)OpenBUY()。
如果(close[1]>indicatorpast && close[0]<indicatornow)OpenSELL()。
但在这种情况下,专家不仅在价格越过指标时开仓,而且还在指标之上开仓。我希望专家只在价格越过指标时开仓,所以我试着这样做。
//买入
double indicatorpast = icustom(....................,1);
double indicatornow = icustom(....................,0);
如果(close[1]<indicatorpast && close[0]== indicatornow)OpenBUY()。
如果(close[1]>indicatorpast && close[0]== indicatornow)OpenSELL()。
但是这个语句没有执行。
你知道发生了什么吗?因为我认为语句中没有错误。
问题是,当close[0]== Indicatornow时,为什么没有在准确的交叉点开仓?如果函数是==,我们将防止在指标和当前条形图的收盘价之间的交叉点以上开仓,但在变量之间的这种关系下却不起作用。
你有没有试验过同样的问题?有谁知道如何解决这个问题?
谢谢,再次感谢。因为你正在寻找返回的8位数浮点值 和价格之间的精确匹配--在这样的决议下,它们几乎不会相等。 只要检查一下大于或小于的条件。
证券交易软件
嗨,伙计们,我需要把这个指标或交易相对系统变成语言mql,因为这是在metatrader 4上的功能。我正在更换经纪人和软件,有人能帮助我吗?
{扩大回归移动平均线的计算方法}。
{BeginNING}
{"-HShift" - BARS FORWARDS}.
DataBars:=Ref(Price,-HShift);
e1:= Mov(DataBars,PeriodMA,TypeMA);
e2:= Mov(e1,PeriodMA,TypeMA);
e3:=Mov(e2,PeriodMA,TypeMA);
e4:= Mov(e3,PeriodMA,TypeMA);
e5:=Mov(e4,PeriodMA,TypeMA);
e6:=Mov(e5,PeriodMA,TypeMA)。
c1:= -b*b*b;
c2:= 3*b*b+3*b*b*b;
c3:= -6*b*b-3*b-3*b*b。
c4:=1+3*b+b*b*b+3*b*b。
MV:= c1*e6+c2*e5+c3*e4+c4*e3。
{计算生命时间MV
用于消除初始值的失真}。
{T3移动平均值}
e1:=Mov(Pr,PeriodMA1,TypeMA1)。
e2:=Mov(e1,PeriodMA1,TypeMA1)。
e3:=Mov(e2,PeriodMA1,TypeMA1);
e4:= Mov(e3,PeriodMA1,TypeMA1);
e5:= Mov(e4,PeriodMA1,TypeMA1);
e6:=Mov(e5,PeriodMA1,TypeMA1)。
c1:= -b1*b1*b1;
c2:=3*b1*b1+3*b1*b1*b1。
c3:=-6*b1*b1-3*b1-3*b1*b1*b1。
c4:=1+3*b1+b1*b1*b1+3*b1*b1。
MA1:= c1*e6+c2*e5+c3*e4+c4*e3。
{涨跌趋势}。
UpTrend:=Mv>=MA1;
DownTrend:=MA1>=Mv;
{多头和空头信号}多头:=cross(Mv,), 空头:=Mv>=Mv; 空头:=Mv>=Mv; 空头:=Mv>=Mv
多头:= cross(Mv,MA1) and Mv>=MA1;
空头:= cross(MA1,Mv) and MA1>=Mv;
{开盘买入和收盘买入}
OpenBuy:= cross(Mv,MA1) and Mv>=MA1;
CloseBuy:= cross(MA1,Mv) and MA1>=Mv;
{开盘卖出和收盘卖出}
OpenSell:= cross(MA1,Mv) and MA1>=Mv;
CloseSell:= cross(Mv,MA1) and Mv>=MA1;
嗨,伙计们,我需要把这个指标或交易相对系统变成语言mql,因为它在metatrader 4上起作用。我正在更换经纪人和软件,有人能帮助我吗?
{T3移动平均线}。
e1:=Mov(Pr,PeriodMA1,TypeMA1)。
e2:=Mov(e1,PeriodMA1,TypeMA1);
e3:=Mov(e2,PeriodMA1,TypeMA1);
e4:= Mov(e3,PeriodMA1,TypeMA1);
e5:= Mov(e4,PeriodMA1,TypeMA1);
e6:=Mov(e5,PeriodMA1,TypeMA1)。
c1:= -b1*b1*b1;
c2:=3*b1*b1+3*b1*b1*b1。
c3:=-6*b1*b1-3*b1-3*b1*b1*b1。
c4:=1+3*b1+b1*b1*b1+3*b1*b1。
MA1:= c1*e6+c2*e5+c3*e4+c4*e3。
所有这些代码都是相似的,你可以从T3代码 开始看起
全局,把这个放在init()之前
In the order placement and/or order close stuff, wrap it in this:
{
if blah blah blah, gimme pips // not actual functions but you get the idea
if blah blah blah, close orders // um
}Common function outside main loop:
[CODE]//--- returns true if current bar just formed
bool NewBar()
{
if(PreviousBar<Time[0])
{
PreviousBar = Time[0];
return(true);
}
else
{
return(false);
}
return(false);
}谢谢nitty1的帮助。 我将尝试一下。
也感谢waltini和devil2000。 我现在应该能搞清楚了。
在演示版上自由运行的账户代码
你好。
谁能告诉我,可以插入什么代码,让有账户安全代码的EA也能在模拟账户 上自由运行,这样用户就可以在上线前测试它?
这有可能吗?
谢谢
你好。
谁能告诉我,可以插入什么代码,让有账户安全代码的EA也能在模拟账户上自由运行,这样用户就可以在上线前测试它?
这有可能吗?
谢谢从元编辑器上看。
如果专家在模拟账户 上运行,返回TRUE,否则返回FALSE。
用StepMA对 "趋势条件 "进行编码
买入条件。
StepMA(颜色模式:2)为 "长"。
随机指数 从下到上越过20
卖出条件。
StepMA(颜色模式:2)为 "空"
随机指数从上到下越过80
double StochCurrent = iStochastic(NULL, 0, 21, 3, 8, MODE_SMA, 0, MODE_MAIN, Bar + 0);
double StochPrevious = iStochastic(NULL, 0, 21, 3, 8, MODE_SMA, 0, MODE_MAIN, Bar + 1);
double TrendLong = iCustom(NULL, 0, "stepma_v7ea", 1, 1.0, 0, 0, 0.0, false, 2, 0, 1, Bar + 0);
double TrendShort = iCustom(NULL, 0, "stepma_v7ea", 1, 1.0, 0, 0, 0.0, false, 2, 0, 2, Bar + 0);
如果买入。
TrendLong && StochCurrent > 20 && StochPrevious < 20
卖出,如果。
趋势空头 && StochCurrent 80
谁能帮我看看上述例子中的 "趋势条件 "的代码,它不起作用。我试着为多头和空头模式调用缓冲区1和缓冲区2,但我不明白这个指标的代码。谢谢你的帮助。