如何编码? - 页 53 1...464748495051525354555657585960...347 新评论 Erman Ardianto 2007.11.30 07:12 #521 试试这个。 把 double ma_cross;[/CODE] as a global variable. In the start function : [CODE] double ma1=NormalizeDouble(first_ma,Digits); double ma2=NormalizeDouble(second_ma,Digits); if(ma1=ma2) { ma_cross=ma1; } int spread=MarketInfo(Symbol(), MODE_SPREAD); SLbuy=ma1+spread-SL*Point; SLsell=ma1+SL*Point; 希望这有帮助 [删除] 2007.11.30 07:52 #522 在反转信号下平仓/开仓交易 我有一个小问题。 在我的EA中,我有一个BuyCondition和Sell Condition,以及一个针对反向信号的平仓指令。为了防止在同一根柱子内打开和关闭交易,我有以下代码。 如果(OneEntryPerBar==true) { if(CheckEntryTime==iTime(NULL,PERIOD_H1,0)) return(0); else CheckEntryTime = iTime(NULL,PERIOD_H1,0); } 一切正常。但是现在,如果他在一个开放的买入交易中发现一个卖出条件,他就关闭买入,这是好的。但他没有打开卖出,因为上面的代码阻止了这一点。 有什么办法能让他在一个柱子内平仓和开仓......但每个柱子只做一次? 我希望我能够理解。 谢谢 Hisashi 2007.12.05 01:54 #523 在某个时间关闭和取消? 谁能帮助我建立EA,在某个时间关闭所有未结订单并取消所有挂单,即UTC+1上午5:15? 是否也可以不仅指定时间,而且指定日期? antone 2007.12.05 04:15 #524 dxtrade: 我这里有一个小问题。在我的EA中,我有一个BuyCondition和Sell Condition,还有一个用于反转信号的关闭指令。为了防止在同一根柱子内打开和关闭交易,我有以下代码。 if(OneEntryPerBar==true) { if(CheckEntryTime==iTime(NULL,PERIOD_H1,0)) return(0); else CheckEntryTime = iTime(NULL,PERIOD_H1,0); } 一切正常。但是现在,如果他在一个开放的买入交易中发现一个卖出条件,他就关闭买入,这是好的。但他没有打开卖出,因为上面的代码阻止了这一点。 有什么办法能让他在一个柱子内平仓和开仓......但每个柱子只做一次? 我希望我说得明白。 谢谢 由于你使用的上述代码,它不会打开,直到下一个小时...。 你可以试试这个... 如果(OrderOpenTime() >= iTime(NULL, PERIOD_H1, 0)) order++; 如果(order < 1) { 订单条件 } 希望这有帮助......不是专家......但这段代码不能阻止它做一次以上。 wasanmyza 2007.12.05 23:20 #525 帮助我 我不会说英语,我想加入Maxtrade和Risk,你能帮助我吗? 谢谢你 附加的文件: zero.mq4 10 kb Stranta 2007.12.06 00:16 #526 wasanmyza: 我不会说英语,我想添加Maxtrade和Risk,你能帮助我吗 谢谢 你好。 你对这个EA还有其他问题。你说你想在VAR1、VAR2或VAR3达到或超过某些数值时进行买入或卖出。 你必须首先定义什么是VAR1、2和3?一些具有特定设置的指标? 谢谢。 陌生的人 MangoBoy 2007.12.06 07:10 #527 获取利润,取消所有其他订单 有没有人知道如何编码,一旦开仓订单达到盈利目标,其余的挂单将被删除?这与OCO不同。我已经检查了精英部分,但那里什么都没有。 nakata79087 2007.12.06 17:47 #528 问题 我不明白两个程序的区别,但会教它吗? int limit = Bars-IndicatorCounted(); int i ; for( i=limit-1; i>=0; i--) int counted_bars=IndicatorCounted()。 //----,检查 可能的错误 if(counted_bars<0) return(-1); //---- 最后一个被计算的柱子将被重新计算。 如果(counted_bars>0) counted_bars--; limit=Bars-counted_bars。 for(i = 0; i <= limit; i++) Michel 2007.12.06 19:28 #529 nakata79087: 我不明白这两个程序的区别,但可以教给我吗? int limit = Bars-IndicatorCounted()。int i ;for( i=limit-1; i>=0; i--)int counted_bars=IndicatorCounted()。//----,检查可能的错误if(counted_bars<0) return(-1);//---- 最后一个被计算的柱子将被重新计算。如果(counted_bars>0) counted_bars--;limit=Bars-counted_bars。 for(i = 0; i <= limit; i++) 最重要的 区别是 "for "循环的方向。 第一个循环按照自然时间扫描条形,即从最早的条形到最新的条形。 第二个循环以相反的方向扫描条形图:如果一个条形图的计算不涉及前一个条形图的结果,它就可以工作。 一般来说,最好是使用与时间相同的方向:它总是有效的,而且没有错误的可能性。 nakata79087 2007.12.07 05:11 #530 谢谢你 谢谢你的好意,Michel! 我困扰了很久,为什么它开始了不同的签名,虽然这两个签名有细微差别。 1...464748495051525354555657585960...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
试试这个。
把
In the start function :
[CODE]
double ma1=NormalizeDouble(first_ma,Digits);
double ma2=NormalizeDouble(second_ma,Digits);
if(ma1=ma2)
{
ma_cross=ma1;
}
int spread=MarketInfo(Symbol(), MODE_SPREAD);
SLbuy=ma1+spread-SL*Point;
SLsell=ma1+SL*Point;
希望这有帮助
在反转信号下平仓/开仓交易
我有一个小问题。
在我的EA中,我有一个BuyCondition和Sell Condition,以及一个针对反向信号的平仓指令。为了防止在同一根柱子内打开和关闭交易,我有以下代码。
如果(OneEntryPerBar==true)
{
if(CheckEntryTime==iTime(NULL,PERIOD_H1,0)) return(0); else CheckEntryTime = iTime(NULL,PERIOD_H1,0);
}
一切正常。但是现在,如果他在一个开放的买入交易中发现一个卖出条件,他就关闭买入,这是好的。但他没有打开卖出,因为上面的代码阻止了这一点。
有什么办法能让他在一个柱子内平仓和开仓......但每个柱子只做一次?
我希望我能够理解。![](https://c.mql5.com/forextsd/smiles/teeth_smile.png)
谢谢
在某个时间关闭和取消?
谁能帮助我建立EA,在某个时间关闭所有未结订单并取消所有挂单,即UTC+1上午5:15?
是否也可以不仅指定时间,而且指定日期?
我这里有一个小问题。
在我的EA中,我有一个BuyCondition和Sell Condition,还有一个用于反转信号的关闭指令。为了防止在同一根柱子内打开和关闭交易,我有以下代码。
if(OneEntryPerBar==true)
{
if(CheckEntryTime==iTime(NULL,PERIOD_H1,0)) return(0); else CheckEntryTime = iTime(NULL,PERIOD_H1,0);
}
一切正常。但是现在,如果他在一个开放的买入交易中发现一个卖出条件,他就关闭买入,这是好的。但他没有打开卖出,因为上面的代码阻止了这一点。
有什么办法能让他在一个柱子内平仓和开仓......但每个柱子只做一次?
我希望我说得明白。![](https://c.mql5.com/forextsd/smiles/teeth_smile.png)
谢谢由于你使用的上述代码,它不会打开,直到下一个小时...。
你可以试试这个...
如果(OrderOpenTime() >= iTime(NULL, PERIOD_H1, 0)) order++;
如果(order < 1)
{
订单条件
}
希望这有帮助......不是专家......但这段代码不能阻止它做一次以上。
帮助我
我不会说英语,我想加入Maxtrade和Risk,你能帮助我吗?
谢谢你
![](https://c.mql5.com/forextsd/smiles/cry_smile.png)
我不会说英语,我想添加Maxtrade和Risk,你能帮助我吗 谢谢
你好。
你对这个EA还有其他问题。你说你想在VAR1、VAR2或VAR3达到或超过某些数值时进行买入或卖出。
你必须首先定义什么是VAR1、2和3?一些具有特定设置的指标?
谢谢。
陌生的人
获取利润,取消所有其他订单
有没有人知道如何编码,一旦开仓订单达到盈利目标,其余的挂单将被删除?这与OCO不同。我已经检查了精英部分,但那里什么都没有。
问题
我不明白两个程序的区别,但会教它吗?
int limit = Bars-IndicatorCounted();
int i ;
for( i=limit-1; i>=0; i--)
int counted_bars=IndicatorCounted()。
//----,检查 可能的错误
if(counted_bars<0) return(-1);
//---- 最后一个被计算的柱子将被重新计算。
如果(counted_bars>0) counted_bars--;
limit=Bars-counted_bars。
for(i = 0; i <= limit; i++)
我不明白这两个程序的区别,但可以教给我吗?
int limit = Bars-IndicatorCounted()。
int i ;
for( i=limit-1; i>=0; i--)
int counted_bars=IndicatorCounted()。
//----,检查可能的错误
if(counted_bars<0) return(-1);
//---- 最后一个被计算的柱子将被重新计算。
如果(counted_bars>0) counted_bars--;
limit=Bars-counted_bars。
for(i = 0; i <= limit; i++)最重要的 区别是 "for "循环的方向。
第一个循环按照自然时间扫描条形,即从最早的条形到最新的条形。
第二个循环以相反的方向扫描条形图:如果一个条形图的计算不涉及前一个条形图的结果,它就可以工作。
一般来说,最好是使用与时间相同的方向:它总是有效的,而且没有错误的可能性。
谢谢你
谢谢你的好意,Michel!
我困扰了很久,为什么它开始了不同的签名,虽然这两个签名有细微差别。