如何编码? - 页 28 1...212223242526272829303132333435...347 新评论 iscuba11 2007.07.10 20:18 #271 需要简单的代码帮助! 我可以在我的EA中加入什么代码,使其在当前条形图上只交易一次,作为2条移动平均线 交叉的结果? 我在一分钟内进行交易,有时条形图的值会先到高点,然后到低点,再到高点。如果EA在两条移动平均线交叉时开仓交易,条形值可能在同一分钟内低于交叉点,如果交易值暂时变低,EA将退出交易。因此,EA可以在同一分钟的条形图上开仓和平仓!!请 提供建议!! 谢谢你的建议! 戴夫 <<< Willis11of12 2007.07.10 20:56 #272 我以前也遇到过这个问题,我是这样做的。 在顶部声明你的变量的地方放上 static bool ITradedOnThisBar; 然后在你发送订单的地方放上 if(your critera && ITradedOnThisBar!=Bars) { ticket=OrderSend(Symbol(),OP_BUY,...); ITradedOnThisBar = Bars; } 这样做可以防止你在已经开仓的同一条上开仓,但更重要的是 你要防止它在同一条上平仓,所以我也会在你平仓的地方添加这段代码,比如说。 if(Your Criteria && ITradedOnThisBar != Bars) { OrderClose(OrderTicket(),...); // 关闭头寸 } 这可能是做你想做的事情的最简单方法。 fxbs 2007.07.11 00:51 #273 刷新缓冲区代码 拉夫有4个多时间框架(MTF)指标的代码(补丁、修正、升级),运行得很好。 有什么类似的代码可以添加到常规(非MTF)指标中? 如果可能的话,请举例说明 谢谢你 //---- Refresh buffers +++++++++++++++++++++ upgrade by Raff 如果(TimeFrame>Period()) { int PerINT=TimeFrame/Period()+1; datetime TimeArr[]; ArrayResize(TimeArr,PerINT); ArrayCopySeries(TimeArr,MODE_TIME,Symbol(),Period())。 for(i=0;i=TimeArray[0]) { //---- /***************************************************** 刷新缓冲区: buffer = buffer[0]; ******************************************************/ Buffer1= Buffer1[0]; Buffer2= Buffer2[0]; Buffer3= Buffer3[0]; //---- }}} //+++++++++++++++++++++++++++++++++++++++++ Raff ++++++ How to code? 多时间框架指标 Multi Timeframe Indicators iscuba11 2007.07.11 01:18 #274 Willis11of12: 我以前也遇到过这个问题,我是这样做的。在顶部声明你的变量的地方放上static bool ITradedOnThisBar;然后在你发送订单的地方放上如果(你的标准 && ITradedOnThisBar!=Bars){ticket=OrderSend(Symbol(),OP_BUY,...);ITradedOnThisBar = Bars;}这样做可以防止你在已经开仓的同一条上开仓,但更重要的是你要防止它在同一条上平仓,所以我也会在你平仓的地方添加这段代码,比如说。if(Your Criteria && ITradedOnThisBar != Bars){OrderClose(OrderTicket(),...); // 关闭头寸} 这可能是做你想做的事的最简单方法。 谢谢你的编码。我已经把它安装在我的EA中(希望是在正确的位置),一旦移动平均线 交叉,就会发现它是否能发挥作用。 谢谢! 戴夫 MadAero 2007.07.12 16:58 #275 我不知道如何编码,但我已经使用专家顾问生成器制作了几个与你描述的类似的EA。我不确定这是否是你要找的东西,但如果你还没有,你可以去看看。 MetaTrader 4的专家顾问生成器 Garhardt 2007.07.12 17:31 #276 我会去 看看的,谢谢。 Garhardt 2007.07.12 18:24 #277 有这样的代码吗? 我想知道是否有这样的代码(包括以下描述)。 基本代码是什么,包括以下参数?(我们的理解是,任何带有数值的指标都可以被插入其中) (开盘交易) 1.当一个指标的当前值高于前一栏的收盘值时,将进行多头交易。(条内,不是收盘) 2.2.当一个指标的当前值低于前一个条形图的收盘值时,将进行空头交易。(interrabar, not close) (收盘交易) 1.多头交易在空头交易打开时被关闭。 2.2.多头交易开仓时,空头交易将被关闭。 谢谢 95032792 2007.07.13 00:43 #278 试试其中的一些 /_MT4_Experts的索引 Garhardt 2007.07.13 16:46 #279 谢谢你,AJK。这是个相当大的清单! islandrock 2007.07.15 16:13 #280 代码帮助 我相信有人已经问过这个问题了,但我在搜索线程时找不到它。 我想知道如何编写EA的代码,使其仅在价格处于两级之间时进行交易--即 如果(价格=>1.0000 &&价格<1.0050)卖出 1...212223242526272829303132333435...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
需要简单的代码帮助!
我可以在我的EA中加入什么代码,使其在当前条形图上只交易一次,作为2条移动平均线 交叉的结果?
我在一分钟内进行交易,有时条形图的值会先到高点,然后到低点,再到高点。如果EA在两条移动平均线交叉时开仓交易,条形值可能在同一分钟内低于交叉点,如果交易值暂时变低,EA将退出交易。因此,EA可以在同一分钟的条形图上开仓和平仓!!请 提供建议!!
谢谢你的建议!
戴夫
<<<
我以前也遇到过这个问题,我是这样做的。
在顶部声明你的变量的地方放上
static bool ITradedOnThisBar;
然后在你发送订单的地方放上
if(your critera && ITradedOnThisBar!=Bars)
{
ticket=OrderSend(Symbol(),OP_BUY,...);
ITradedOnThisBar = Bars;
}
这样做可以防止你在已经开仓的同一条上开仓,但更重要的是 你要防止它在同一条上平仓,所以我也会在你平仓的地方添加这段代码,比如说。
if(Your Criteria && ITradedOnThisBar != Bars)
{
OrderClose(OrderTicket(),...); // 关闭头寸
}
这可能是做你想做的事情的最简单方法。
刷新缓冲区代码
拉夫有4个多时间框架(MTF)指标的代码(补丁、修正、升级),运行得很好。
有什么类似的代码可以添加到常规(非MTF)指标中?
如果可能的话,请举例说明
谢谢你
//---- Refresh buffers +++++++++++++++++++++ upgrade by Raff
如果(TimeFrame>Period()) {
int PerINT=TimeFrame/Period()+1;
datetime TimeArr[]; ArrayResize(TimeArr,PerINT);
ArrayCopySeries(TimeArr,MODE_TIME,Symbol(),Period())。
for(i=0;i=TimeArray[0]) {
//----
/*****************************************************
刷新缓冲区: buffer = buffer[0];
******************************************************/
Buffer1= Buffer1[0];
Buffer2= Buffer2[0];
Buffer3= Buffer3[0];
//----
}}}
//+++++++++++++++++++++++++++++++++++++++++ Raff ++++++
我以前也遇到过这个问题,我是这样做的。
在顶部声明你的变量的地方放上
static bool ITradedOnThisBar;
然后在你发送订单的地方放上
如果(你的标准 && ITradedOnThisBar!=Bars)
{
ticket=OrderSend(Symbol(),OP_BUY,...);
ITradedOnThisBar = Bars;
}
这样做可以防止你在已经开仓的同一条上开仓,但更重要的是你要防止它在同一条上平仓,所以我也会在你平仓的地方添加这段代码,比如说。
if(Your Criteria && ITradedOnThisBar != Bars)
{
OrderClose(OrderTicket(),...); // 关闭头寸
}
这可能是做你想做的事的最简单方法。谢谢你的编码。我已经把它安装在我的EA中(希望是在正确的位置),一旦移动平均线 交叉,就会发现它是否能发挥作用。
谢谢!
戴夫
我不知道如何编码,但我已经使用专家顾问生成器制作了几个与你描述的类似的EA。我不确定这是否是你要找的东西,但如果你还没有,你可以去看看。
MetaTrader 4的专家顾问生成器
我会去 看看的,谢谢。
有这样的代码吗?
我想知道是否有这样的代码(包括以下描述)。
基本代码是什么,包括以下参数?(我们的理解是,任何带有数值的指标都可以被插入其中)
(开盘交易)
1.当一个指标的当前值高于前一栏的收盘值时,将进行多头交易。(条内,不是收盘)
2.2.当一个指标的当前值低于前一个条形图的收盘值时,将进行空头交易。(interrabar, not close)
(收盘交易)
1.多头交易在空头交易打开时被关闭。
2.2.多头交易开仓时,空头交易将被关闭。
谢谢
试试其中的一些
/_MT4_Experts的索引
谢谢你,AJK。这是个相当大的清单!
代码帮助
我相信有人已经问过这个问题了,但我在搜索线程时找不到它。
我想知道如何编写EA的代码,使其仅在价格处于两级之间时进行交易--即
如果(价格=>1.0000 &&价格<1.0050)卖出