如何编码? - 页 166 1...159160161162163164165166167168169170171172173...347 新评论 jan100 2009.03.19 16:35 #1651 谢谢你的回答。 但是,如果在平仓时有滑点,这就不起作用了,对吗? chazzmoney 2009.03.19 16:39 #1652 codersview: 大家好。我得到了一个关于RSI和MA的EA的问题... 我得到的指标工作正常...我只想把它转换为EA... 我试着做了几件事。IndicatorCounted()在EA中不起作用,所以我尝试对for循环的数值进行硬编码(bar=0; bar<15; bar++),我得到了正确的RSI,但SMA没有给出正确的数值...... 我附上了SMA与RSI交叉的代码...。 所以,谁能帮助我把这个指标转换为EA。 *************************************************************************************************************************************** #属性 indicator_separate_window #属性 indicator_buffers 2 #属性 indicator_color1 草坪绿 #属性 indicator_color2 DarkBlue double ExtMapBuffer1[]; double ExtMapBuffer2[]。 int init() { IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS))。 SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2); SetIndexBuffer(1,ExtMapBuffer2)。 返回(0)。 } int deinit() { return(0); } int start() { int bar, limit; int counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); 如果(counted_bars>0) counted_bars--。 limit=Bars-IndicatorCounted()。 for(bar=0; bar<limit; bar++) ExtMapBuffer1 = iRSI(NULL,0,14,PRICE_TYPICAL,bar)。 for(bar=0; bar<limit; bar++) ExtMapBuffer2=iMAOnArray(ExtMapBuffer1,Bars,14,0,MODE_SMA,bar)。 返回(0)。 } *************************************************************************************************************************************** 谢谢你,谢谢你。 加内什 加内什。 试着按时间顺序做条形图。 不要用for(bar=0; bar<limit; bar++) 使用for(bar=limit-1; bar>=0; bar--) 查兹莫尼 [删除] 2009.03.19 17:02 #1653 你好 谢谢你的快速回复...我试过了,但没有任何区别......。 如果我们在循环中使用Bars,它必须计算每一个tick 的全部数值(所有的bars)......而且可能会有延迟。此外,SMA值也是零。 在指标中,我们将通过使用IndicatorCounted()只计算新条的RSI和EMA,但我们不能在EA中使用它。 问题的确切点在于第二个for循环和iMAOnArray的值。 第一个for循环工作得很好,即使我们对它进行硬编码...... Roger09 2009.03.19 17:18 #1654 jan100: 谢谢你的回答。但如果在平仓时有滑点,这就不起作用了,对吗? 有些经纪人在评论区写上[sl]和[tp]。你也可以使用它。 jan100 2009.03.19 17:40 #1655 谢谢,我会试试的。 怎样才能选择具有正确魔力数字的最后一个关闭的订单? Roger09 2009.03.19 19:07 #1656 jan100: 谢谢。我会试试的。怎么可能用正确的数字来选择最后一个关闭的订单呢? 如果你在历史列表中找到它,这是一个已关闭的订单,如果在总列表中 - 尚未打开。 [删除] 2009.03.20 21:00 #1657 Ea代码请求。在开立新的头寸时关闭之前的订单 你好,我想申请一个代码,当新的头寸打开时,之前的订单将自动关闭,意思是我不想使用止盈 或追踪。 例子。 当买入订单打开时,之前的卖出订单将被关闭。 当卖出订单打开时,之前的买入订单将被关闭。 我发现代码是OrderCloseBy(),但我不知道到底该把这段代码放在哪里。 谢谢 [删除] 2009.03.21 04:56 #1658 darkkiller: 你好,我想申请一个代码,当新的头寸打开时,之前的订单会自动关闭。我不希望使用止盈或追踪。例子。 当买入订单打开时,先前的卖出订单将关闭。 当卖出订单打开时,之前的买入订单将被关闭。 我发现代码是OrderCloseBy(),但我不知道到底该把这段代码放在哪里。 谢谢 问题解决 在订单发送买入后放上{ OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // 关闭头寸 } 放在OrderSend SELL之后 { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // 平仓 } 我从ForexFactory获得的其他代码,感谢(Fulltime247,magnumfreak) 外部int MAGICTerminal=101;extern double LOTSize=0.10; extern string ORDERComment="Order Comment Text"; //TOTAL数... int btotal=0; int stotal=0; int ticket=0; double closelots=0; bool xbool; for( int cnt=OrdersTotal()-1;cnt>=0;cnt--) { xbool=OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。 如果(OrderType()==OP_BUY && OrderMagicNumber()==MAGICTerminal && OrderSymbol()==Symbol()){btotal++; ticket=OrderTicket(); closelots=OrderLots(); } if(OrderType()==OP_SELL &&OrderMagicNumber()==MAGICTerminal &&OrderSymbol()==Symbol()){total++; ticket=OrderTicket(); closelots=OrderLots(); } }//结束总数计数。 if(WHATEVER YOUR CONDITION FOR A BUY) { if(btotal>0){OrderClose(ticket,closelots,Bid,3,CLR_NONE); } ticket=OrderSend(Symbol(),OP_BUY,LOTSize,Ask,3,0,0,ORDERComment,MAGICTerminal,0,Magenta)。 } if(WHATEVER YOUR CONDITION FOR A SELL) { if(stotal>0){OrderClose(ticket,closelots,Ask,3,CLR_NONE); } ticket=OrderSend(Symbol(),OP_SELL,LOTSize,Bid,3,0,0,ORDERComment,MAGICTerminal,0,Lime) 。 } Guilhermesalgado 2009.03.23 04:47 #1659 darvasboxes 2009.03.23 09:59 #1660 我是MT4的新手。 我想计算shortMA越过longMA后的条数,有谁知道如何编码这个功能? 谢谢。 1...159160161162163164165166167168169170171172173...347 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谢谢你的回答。
但是,如果在平仓时有滑点,这就不起作用了,对吗?
大家好。
我得到了一个关于RSI和MA的EA的问题...
我得到的指标工作正常...我只想把它转换为EA...
我试着做了几件事。IndicatorCounted()在EA中不起作用,所以我尝试对for循环的数值进行硬编码(bar=0; bar<15; bar++),我得到了正确的RSI,但SMA没有给出正确的数值......
我附上了SMA与RSI交叉的代码...。
所以,谁能帮助我把这个指标转换为EA。
***************************************************************************************************************************************
#属性 indicator_separate_window
#属性 indicator_buffers 2
#属性 indicator_color1 草坪绿
#属性 indicator_color2 DarkBlue
double ExtMapBuffer1[];
double ExtMapBuffer2[]。
int init()
{
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS))。
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(1,ExtMapBuffer2)。
返回(0)。
}
int deinit()
{
return(0);
}
int start()
{
int bar, limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
如果(counted_bars>0) counted_bars--。
limit=Bars-IndicatorCounted()。
for(bar=0; bar<limit; bar++)
ExtMapBuffer1 = iRSI(NULL,0,14,PRICE_TYPICAL,bar)。
for(bar=0; bar<limit; bar++)
ExtMapBuffer2=iMAOnArray(ExtMapBuffer1,Bars,14,0,MODE_SMA,bar)。
返回(0)。
}
***************************************************************************************************************************************
谢谢你,谢谢你。
加内什加内什。
试着按时间顺序做条形图。
不要用for(bar=0; bar<limit; bar++)
使用for(bar=limit-1; bar>=0; bar--)
查兹莫尼
你好
谢谢你的快速回复...我试过了,但没有任何区别......。
如果我们在循环中使用Bars,它必须计算每一个tick 的全部数值(所有的bars)......而且可能会有延迟。此外,SMA值也是零。
在指标中,我们将通过使用IndicatorCounted()只计算新条的RSI和EMA,但我们不能在EA中使用它。
问题的确切点在于第二个for循环和iMAOnArray的值。
第一个for循环工作得很好,即使我们对它进行硬编码......
谢谢你的回答。但如果在平仓时有滑点,这就不起作用了,对吗?
有些经纪人在评论区写上[sl]和[tp]。你也可以使用它。
谢谢,我会试试的。
怎样才能选择具有正确魔力数字的最后一个关闭的订单?
谢谢。我会试试的。怎么可能用正确的数字来选择最后一个关闭的订单呢?
如果你在历史列表中找到它,这是一个已关闭的订单,如果在总列表中 - 尚未打开。
Ea代码请求。在开立新的头寸时关闭之前的订单
你好,我想申请一个代码,当新的头寸打开时,之前的订单将自动关闭,意思是我不想使用止盈 或追踪。
例子。
当买入订单打开时,之前的卖出订单将被关闭。
当卖出订单打开时,之前的买入订单将被关闭。
我发现代码是OrderCloseBy(),但我不知道到底该把这段代码放在哪里。
谢谢
你好,我想申请一个代码,当新的头寸打开时,之前的订单会自动关闭。我不希望使用止盈或追踪。
例子。
当买入订单打开时,先前的卖出订单将关闭。
当卖出订单打开时,之前的买入订单将被关闭。
我发现代码是OrderCloseBy(),但我不知道到底该把这段代码放在哪里。
谢谢问题解决
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // 关闭头寸
}
放在OrderSend SELL之后
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // 平仓
}我从ForexFactory获得的其他代码,感谢(Fulltime247,magnumfreak)
extern double LOTSize=0.10;
extern string ORDERComment="Order Comment Text";
//TOTAL数...
int btotal=0; int stotal=0; int ticket=0; double closelots=0; bool xbool;
for( int cnt=OrdersTotal()-1;cnt>=0;cnt--)
{
xbool=OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。
如果(OrderType()==OP_BUY && OrderMagicNumber()==MAGICTerminal && OrderSymbol()==Symbol()){btotal++; ticket=OrderTicket(); closelots=OrderLots(); }
if(OrderType()==OP_SELL &&OrderMagicNumber()==MAGICTerminal &&OrderSymbol()==Symbol()){total++; ticket=OrderTicket(); closelots=OrderLots(); }
}//结束总数计数。
if(WHATEVER YOUR CONDITION FOR A BUY)
{
if(btotal>0){OrderClose(ticket,closelots,Bid,3,CLR_NONE); }
ticket=OrderSend(Symbol(),OP_BUY,LOTSize,Ask,3,0,0,ORDERComment,MAGICTerminal,0,Magenta)。
}
if(WHATEVER YOUR CONDITION FOR A SELL)
{
if(stotal>0){OrderClose(ticket,closelots,Ask,3,CLR_NONE); }
ticket=OrderSend(Symbol(),OP_SELL,LOTSize,Bid,3,0,0,ORDERComment,MAGICTerminal,0,Lime) 。
}我是MT4的新手。
我想计算shortMA越过longMA后的条数,有谁知道如何编码这个功能?
谢谢。