如何编码? - 页 77 1...707172737475767778798081828384...347 新评论 mach_one_man 2008.03.11 21:40 #761 一目了然的锦绣十字星只开买盘! 大家好。 在过去的几周里,我一直在编程,并且进展得相当不错。但是我遇到了一个问题,我最近试图编写的相当简单的系统不能为我工作。我已经重写了大约五次,使用不同的代码,尝试了专家顾问构建器和改变其他交叉策略等,但该系统只能打开买入交易。(在我遇到的其他问题中)任何帮助都将是非常感激的,因为它似乎是一个有利可图的系统。(好吧,每个人在编程时似乎都是这么想的,但手动逐条回测显示出积极的结果。) 系统:图表设置 一目了然的Kinko Hyo指标,默认设置为9、26、52。只显示Tenkan-Sen和Kijun-Sen,隐藏Senkou和Chikou线。 第一个入口(解释为长线/买入--同样适用于卖出的操作方向) Tenkan-Sen与Kijun-Sen交叉,并且价格在Kijun-Sen之上。 止损为Tenkan-Sen以下的货币对价差。 在Kijun-Sen处止损--价差点数,除非出现反向信号(你在那里关闭)。 重返市场(有时一些交易在赶上 "大行情 "之前就被止损了 如果止损被击中,在Tenkan-Sen和Kijun-Sen交叉之前,如果价格收于Tenkan-Sen之上,并且Tenkan-Sen仍然在Kijun-Sen之上,则可以重新开仓。 止损同前。 摘要 当Tenkan-Sen交叉于Kijun-Sen之上时进场做多,止损在Kijun-Sen之下一定距离。 如果在交叉之前止损并发生反转,如果价格上升到Tenkan-Sen之上,可以重新进场做多。 没有止盈,只是跟踪Kijun-Sen的止损。 这个系统确实倾向于喜欢趋势,但在区间波动的市场中损失不应该太大。我计划在日线上进行交易,但当我的专家系统运行时,也可能进行其他交易。事实上,在我测试过的一些市场上,该EA目前是盈利的,甚至在其正常工作之前就已经盈利了 如果有人能解读出我的错误所在,请附上MQ4。 谢谢。 霍华德 P.S. 如果能在这方面得到一些帮助就更好了,因为明天是我的生日,如果能得到一些帮助就更好了! 我也向所有认为一目连不应该自动化的从业者道歉,因为它是为了 "一目了然 "地交易市场。然而,我觉得这个指标是如此美妙,尤其是Kijun-Sen,它在许多长期趋势中的回调之外进行交易,因此它非常适合于自动化 附加的文件: ikh_pro.mq4 5 kb Michel 2008.03.11 22:31 #762 gmax111: 我在写一个买入和卖出EMA值的EA。我想通过在买入前检查最后10个柱状体的收盘价是否高于EMA来过滤它......有人能帮助我吗? bool OkToBuy() { for(int j = 1, j < 11, j ++) if(Close[j] < EMA) return(false); return(true); } gmax111 2008.03.12 05:24 #763 Michel: bool OkToBuy() { for(int j = 1, j < 11, j ++) if(Close[j] < EMA) return(false); return(true); } 谢谢你,米歇尔。 这是那些让我感到困惑的事情之一,但现在我觉得自己像个傻瓜一样想太多了,哈哈......。再次感谢!!!。 mr_boney 2008.03.12 08:02 #764 如何编码!? 我认为这个Ea非常好...... 但只在一对中打开一个订单...为什么? BigBe 2008.03.12 20:03 #765 致阿德里亚 阿德里亚 我对你的问题产生了兴趣,并进行了操作。 看起来你需要做的事情是这样的。 首先,全局声明Var1、Var2。 然后尝试这样做。 if (Hour() == 12) Var1 = iHigh(NULL,0,1)。 如果(Hour() == 12) Var2 = iLow(NULL,0,1)。 Metaeditor导航器给出了Hour()的解释。 在TSD中搜索 "交易时间 "可以得到更多的例子。 如果你的EA显示出前景,你能给我一份副本吗? 大贝 adria 2008.03.13 11:31 #766 致大贝 我创建了类似的EA。你必须根据你的图表时间来改变TIME值。 图表时间。 附加的文件: daily_11h_gbpusd_m15.mq4 13 kb hedge4x 2008.03.14 04:59 #767 需要帮助解决这个功能closealltrades 我注意到经纪人有时会重新报价,导致EA无法关闭 订单。 我怎样才能防止EA继续下去,直到所有的订单根据其神奇的数字被关闭。 顺序继续下去,也许可以设置一个5秒钟的睡眠函数 和一个while循环来检查并关闭订单,然后再继续。 循环来检查并在继续之前关闭订单。 下面是 closealltrades函数。 谢谢你的帮助,并提前感谢。 void CloseAllTrades() { int rc; int cnt; for(cnt=OrdersTotal()-1;cnt>=0;cnt--) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。 如果(OrderMagicNumber()==GetMagicNumber() { rc= OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), MarketInfo(OrderSymbol(), MODE_SPREAD), Yellow) 。 if(!rc) Log("Close error="+GetLastError())。 } } } How to code? 10点3.mq4 求助!谢谢了 Michel 2008.03.14 07:44 #768 hedge4x: 我注意到经纪人有时会重新报价,导致EA无法关闭的订单。 我怎样才能防止EA继续下去,直到所有的订单根据其神奇的数字被关闭。 暂停,也许可以设置一个5秒钟的睡眠功能和一个while循环来检查和关闭订单。 一个while循环来检查并在继续之前关闭订单。 下面是 closealltrades函数。 谢谢你的帮助,并提前感谢。 void CloseAllTrades() { int rc; int cnt; for(cnt=OrdersTotal()-1;cnt>=0;cnt--) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。 如果(OrderMagicNumber()==GetMagicNumber() { rc= OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), MarketInfo(OrderSymbol(), MODE_SPREAD), Yellow) 。 if(!rc) Log("Close error="+GetLastError())。 } } } bool IsAllClosed ; //Global variable void CloseAllTrades() { int cnt; IsAllClosed = true; for(cnt=OrdersTotal()-1;cnt>=0;cnt--) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber()==GetMagicNumber()) IsAllClosed = IsAllClosed && OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), MarketInfo(OrderSymbol(), MODE_SPREAD), Yellow); } } void start() { while(!IsAllClosed) {CloseAllTrades(); return;} ... How to code? 10点3.mq4 求助!谢谢了 hedge4x 2008.03.14 11:21 #769 谢谢 谢谢你,米歇尔,谢谢你的帮助。 我将试一试。 hedge4x 2008.03.14 11:30 #770 这一行 while(!IsAllClosed) {CloseAllTrades(); return;}。 在主程序中的这句话将关闭所有未结头寸,如果MT下跌 而我又启动了它。 是否有办法将这一行 在closealltrades函数 中,这样它就不会在MT4重启后关闭所有未结头寸了。 在MT4重新启动后不关闭所有未结头寸? 谢谢。 1...707172737475767778798081828384...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
一目了然的锦绣十字星只开买盘!
大家好。
在过去的几周里,我一直在编程,并且进展得相当不错。但是我遇到了一个问题,我最近试图编写的相当简单的系统不能为我工作。我已经重写了大约五次,使用不同的代码,尝试了专家顾问构建器和改变其他交叉策略等,但该系统只能打开买入交易。(在我遇到的其他问题中)任何帮助都将是非常感激的,因为它似乎是一个有利可图的系统。(好吧,每个人在编程时似乎都是这么想的,但手动逐条回测显示出积极的结果。)
系统:图表设置
一目了然的Kinko Hyo指标,默认设置为9、26、52。只显示Tenkan-Sen和Kijun-Sen,隐藏Senkou和Chikou线。
第一个入口(解释为长线/买入--同样适用于卖出的操作方向)
Tenkan-Sen与Kijun-Sen交叉,并且价格在Kijun-Sen之上。 止损为Tenkan-Sen以下的货币对价差。 在Kijun-Sen处止损--价差点数,除非出现反向信号(你在那里关闭)。
重返市场(有时一些交易在赶上 "大行情 "之前就被止损了
如果止损被击中,在Tenkan-Sen和Kijun-Sen交叉之前,如果价格收于Tenkan-Sen之上,并且Tenkan-Sen仍然在Kijun-Sen之上,则可以重新开仓。 止损同前。
摘要
当Tenkan-Sen交叉于Kijun-Sen之上时进场做多,止损在Kijun-Sen之下一定距离。 如果在交叉之前止损并发生反转,如果价格上升到Tenkan-Sen之上,可以重新进场做多。 没有止盈,只是跟踪Kijun-Sen的止损。
这个系统确实倾向于喜欢趋势,但在区间波动的市场中损失不应该太大。我计划在日线上进行交易,但当我的专家系统运行时,也可能进行其他交易。事实上,在我测试过的一些市场上,该EA目前是盈利的,甚至在其正常工作之前就已经盈利了
如果有人能解读出我的错误所在,请附上MQ4。
谢谢。
霍华德
P.S. 如果能在这方面得到一些帮助就更好了,因为明天是我的生日,如果能得到一些帮助就更好了!
我也向所有认为一目连不应该自动化的从业者道歉,因为它是为了 "一目了然 "地交易市场。然而,我觉得这个指标是如此美妙,尤其是Kijun-Sen,它在许多长期趋势中的回调之外进行交易,因此它非常适合于自动化
我在写一个买入和卖出EMA值的EA。我想通过在买入前检查最后10个柱状体的收盘价是否高于EMA来过滤它......有人能帮助我吗?
bool OkToBuy()
{
for(int j = 1, j < 11, j ++) if(Close[j] < EMA) return(false);
return(true);
}
bool OkToBuy()
{
for(int j = 1, j < 11, j ++) if(Close[j] < EMA) return(false);
return(true);
}
谢谢你,米歇尔。
这是那些让我感到困惑的事情之一,但现在我觉得自己像个傻瓜一样想太多了,哈哈......。再次感谢!!!。
如何编码!?
我认为这个Ea非常好......
但只在一对中打开一个订单...为什么?
致阿德里亚
阿德里亚
我对你的问题产生了兴趣,并进行了操作。
看起来你需要做的事情是这样的。
首先,全局声明Var1、Var2。
然后尝试这样做。
if (Hour() == 12) Var1 = iHigh(NULL,0,1)。
如果(Hour() == 12) Var2 = iLow(NULL,0,1)。
Metaeditor导航器给出了Hour()的解释。
在TSD中搜索 "交易时间 "可以得到更多的例子。
如果你的EA显示出前景,你能给我一份副本吗?
大贝
致大贝
我创建了类似的EA。你必须根据你的图表时间来改变TIME值。
图表时间。
需要帮助解决这个功能closealltrades
我注意到经纪人有时会重新报价,导致EA无法关闭
订单。 我怎样才能防止EA继续下去,直到所有的订单根据其神奇的数字被关闭。
顺序继续下去,也许可以设置一个5秒钟的睡眠函数 和一个while循环来检查并关闭订单,然后再继续。
循环来检查并在继续之前关闭订单。 下面是
closealltrades函数。 谢谢你的帮助,并提前感谢。
void CloseAllTrades()
{
int rc;
int cnt;
for(cnt=OrdersTotal()-1;cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。
如果(OrderMagicNumber()==GetMagicNumber()
{
rc= OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), MarketInfo(OrderSymbol(), MODE_SPREAD), Yellow) 。
if(!rc)
Log("Close error="+GetLastError())。
}
}
}
我注意到经纪人有时会重新报价,导致EA无法关闭
的订单。 我怎样才能防止EA继续下去,直到所有的订单根据其神奇的数字被关闭。
暂停,也许可以设置一个5秒钟的睡眠功能和一个while循环来检查和关闭订单。
一个while循环来检查并在继续之前关闭订单。 下面是
closealltrades函数。 谢谢你的帮助,并提前感谢。
void CloseAllTrades()
{
int rc;
int cnt;
for(cnt=OrdersTotal()-1;cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。
如果(OrderMagicNumber()==GetMagicNumber()
{
rc= OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), MarketInfo(OrderSymbol(), MODE_SPREAD), Yellow) 。
if(!rc)
Log("Close error="+GetLastError())。
}
}
}bool IsAllClosed ; //Global variable
void CloseAllTrades()
{
int cnt;
IsAllClosed = true;
for(cnt=OrdersTotal()-1;cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderMagicNumber()==GetMagicNumber())
IsAllClosed = IsAllClosed && OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), MarketInfo(OrderSymbol(), MODE_SPREAD), Yellow);
}
}
void start()
{
while(!IsAllClosed) {CloseAllTrades(); return;}
...
谢谢
谢谢你,米歇尔,谢谢你的帮助。
我将试一试。
这一行 while(!IsAllClosed) {CloseAllTrades(); return;}。
在主程序中的这句话将关闭所有未结头寸,如果MT下跌
而我又启动了它。 是否有办法将这一行
在closealltrades函数 中,这样它就不会在MT4重启后关闭所有未结头寸了。
在MT4重新启动后不关闭所有未结头寸?
谢谢。