不存在完美的EA - 页 3 1234 新评论 James.LH 2023.05.11 13:33 #21 lapcheung #: 是第二个选项“每个点基于实时”? 一直是选第一项“每次报价”。 是的,选择了会从服务器上下载真实的tick数据用于回测 “ 每次报价 ”是模拟生成的数据 客户端最好用英文版的,中文的语言包有很多误解,包括chm手册上也是 lap cheung 2023.05.12 10:13 #22 我决定停止研究 EA,它的复杂程度超出我知识范围。但我也在过程中,对行情有了更多认识。 同样策略,在不同时间段,会有完全相反的结果。 有时价格突破后继续走,这段时间是获利。有时价格突破后反转,这段时间是亏损。无法用代码进行区分。 附加的文件: faf94f.PNG 21 kb lap cheung 2023.05.12 11:56 #23 最后,送上一段代码,用于将商品价格实时转换成人民币价格。 这段代码不进行任何交易,只是利用 EA 模式运行。 //+------------------------------------------------------------------+ //| Price_of_usdcnh.mq5 | //| Copyright 2023, lap cheung. | //| 1280868155@qq.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2023, lap cheung." #property link "1280868155@qq.com" #property version "1.00" #property description "将商品价格转换成人民币价格,带重量单位转换。" //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ enum TICK_TIME { a0=0,a1=1,a2=2,a3=3,a5=5,a7=7,a11=11,a13=13, a17=17,a23=23,a29=29,a37=37,a53=53,a71=71,a89=89, a101=101,a131=131,a179=179,a293=293,a397=397, a599=599,a797=797,a997=997,a3331=3331,a9973=9973 }; const double KGOZ=31.1034807/1000; const double OZKG=1000/31.1034807; const double KGLB=0.4535924; const double LBKG=2.2046226; enum RMB_SET { nonMessage,timeOnly,usd2rmb, usd_oz2rmb_kg,usd_oz2rmb_g, usdxxx2rmb,xxxusd2rmb, usd_lb2rmb_kg }; input RMB_SET RMBconver=nonMessage; input TICK_TIME UpdateTick=5; int myTick; //+------------------------------------------------------------------+ int OnInit() { //--- create timer EventSetTimer(UpdateTick); myTick=UpdateTick; //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- destroy timer EventKillTimer(); Comment(""); // clear all. } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- myTick++; // when makrt on hot, tick is go up fast. if (myTick>UpdateTick) { myTick=0; CommentRMB(); } } //+------------------------------------------------------------------+ //| Timer function | //+------------------------------------------------------------------+ void OnTimer() { //--- myTick=0; CommentRMB(); } //+------------------------------------------------------------------+ //| Trade function | //+------------------------------------------------------------------+ void OnTrade() { //--- CommentRMB(); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ void CommentRMB(void) { //--- 从人民币兑美元汇率,计算金银的人民币参考价格。 double rmbBuf[]; double RMB; string rmbstr, tstr; double symPrice; if (RMBconver==nonMessage) return; if (1!=CopyClose(Symbol(),PERIOD_CURRENT,0,1,rmbBuf)) return; symPrice=rmbBuf[0]; tstr=" Time:"+TimeToString(TimeCurrent(),TIME_SECONDS); if (RMBconver==timeOnly) { Comment(tstr,tstr,tstr,tstr); return; } if (1==CopyClose("USDCNH",PERIOD_CURRENT,0,1,rmbBuf)) { switch (RMBconver) { // 换算人民币价格、盎司到公斤。 case usd_oz2rmb_kg: RMB=rmbBuf[0]*symPrice; RMB*=OZKG; rmbstr=" RMB KG:"+DoubleToString(RMB,0); break; case usd_oz2rmb_g: RMB=rmbBuf[0]*symPrice; RMB*=OZKG/1000; rmbstr=" RMB G:"+DoubleToString(RMB,2); break; // 货币汇率转换 case usdxxx2rmb: RMB=symPrice/rmbBuf[0]; rmbstr=" 1 RMB:"+DoubleToString(RMB,4); break; // 货币汇率转换 case xxxusd2rmb: RMB=rmbBuf[0]*symPrice; rmbstr=" RMB:"+DoubleToString(RMB,4); break; case usd2rmb: RMB=rmbBuf[0]*symPrice; rmbstr=" RMB:"+DoubleToString(RMB,2); break; case usd_lb2rmb_kg: RMB=rmbBuf[0]*symPrice; RMB*=LBKG; rmbstr=" RMB KG:"+DoubleToString(RMB,2); break; default: break; } Comment(rmbstr,tstr,rmbstr,tstr,rmbstr,tstr); } } //+------------------------------------------------------------------+ crt6789 2023.07.03 14:37 #24 lapcheung: 基本上,写开仓、平仓、的代码没多少含金量,就是检查持仓,设追踪止损。 最难的是决定何时开仓、何时平仓,我把策略改了不下十次,依然找不到完美的策略。 例如 策略一、震荡不开仓,这个策略减去了90%的止损。 策略二、减速不开仓,这个策略对于回调也不开仓 ,全天只会开出三几张单 。事实上这是策略一的变形,包含了策略一。但依然不完美,缺点是突破反转时,总会伴随着一张止损单,因为不知道何时会反转。 难点应该就是不知道何时会进入震荡,何时震荡结束转为趋势?确定趋势震荡这两种状态的分界点就是难点。多大的幅度定义为震荡每个人标准也不一样,不过一般只要按开单扣除各项费用不能赚钱,并且按照趋势策略下单的规则会来回开单不赚钱就可以定为震荡。其他的都可以看作为趋势行情。 Qingquan Cao 2023.07.05 15:00 #25 lapcheung #: 市场运行并不完美,主要是震荡时刻存在。 令到反转不是一下子,而是反复多次,最后还不一定反转。 可以说,目前还没人能解决震荡。 震荡我解决了,呵呵 crt6789 2023.07.06 09:40 #26 Qingquan Cao #: 震荡我解决了,呵呵 你是怎么解决震荡过滤的 盈谷WG 2023.07.19 07:56 #27 确实没有完美的EA 都还是需要人工干预 lap cheung 2023.07.27 02:19 #28 盈谷WG #: 确实没有完美的EA 都还是需要人工干预 EA相当于人脑的百分之一,因为EA不能学习。 [删除] 2023.07.29 16:49 #29 lapcheung #: 我决定停止研究 EA,它的复杂程度超出我知识范围。但我也在过程中,对行情有了更多认识。 同样策略,在不同时间段,会有完全相反的结果。 有时价格突破后继续走,这段时间是获利。有时价格突破后反转,这段时间是亏损。无法用代码进行区分。 可以区分时段,有美盘行情活跃时段容易出单边。 lap cheung 2023.07.31 05:28 #30 Zhi Peng Pei #: 可以区分时段,有美盘行情活跃时段容易出单边。 美盘成交额全天最高,波幅最大,但趋势稳定性并未增加,甚至由于每隔一小时发布一次数据,反转概率也上升了。 1234 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
是第二个选项“每个点基于实时”?
一直是选第一项“每次报价”。
是的,选择了会从服务器上下载真实的tick数据用于回测
“ 每次报价 ”是模拟生成的数据
客户端最好用英文版的,中文的语言包有很多误解,包括chm手册上也是
我决定停止研究 EA,它的复杂程度超出我知识范围。但我也在过程中,对行情有了更多认识。
同样策略,在不同时间段,会有完全相反的结果。
有时价格突破后继续走,这段时间是获利。有时价格突破后反转,这段时间是亏损。无法用代码进行区分。
最后,送上一段代码,用于将商品价格实时转换成人民币价格。
这段代码不进行任何交易,只是利用 EA 模式运行。
基本上,写开仓、平仓、的代码没多少含金量,就是检查持仓,设追踪止损。
最难的是决定何时开仓、何时平仓,我把策略改了不下十次,依然找不到完美的策略。
例如
策略一、震荡不开仓,这个策略减去了90%的止损。
策略二、减速不开仓,这个策略对于回调也不开仓 ,全天只会开出三几张单 。事实上这是策略一的变形,包含了策略一。但依然不完美,缺点是突破反转时,总会伴随着一张止损单,因为不知道何时会反转。
难点应该就是不知道何时会进入震荡,何时震荡结束转为趋势?确定趋势震荡这两种状态的分界点就是难点。多大的幅度定义为震荡每个人标准也不一样,不过一般只要按开单扣除各项费用不能赚钱,并且按照趋势策略下单的规则会来回开单不赚钱就可以定为震荡。其他的都可以看作为趋势行情。
市场运行并不完美,主要是震荡时刻存在。
令到反转不是一下子,而是反复多次,最后还不一定反转。
可以说,目前还没人能解决震荡。
震荡我解决了,呵呵
震荡我解决了,呵呵
你是怎么解决震荡过滤的
确实没有完美的EA 都还是需要人工干预
确实没有完美的EA 都还是需要人工干预
EA相当于人脑的百分之一,因为EA不能学习。
我决定停止研究 EA,它的复杂程度超出我知识范围。但我也在过程中,对行情有了更多认识。
同样策略,在不同时间段,会有完全相反的结果。
有时价格突破后继续走,这段时间是获利。有时价格突破后反转,这段时间是亏损。无法用代码进行区分。
可以区分时段,有美盘行情活跃时段容易出单边。
可以区分时段,有美盘行情活跃时段容易出单边。
美盘成交额全天最高,波幅最大,但趋势稳定性并未增加,甚至由于每隔一小时发布一次数据,反转概率也上升了。