EA和自动交易 - 页 22

思路是用历史最高价/Point()得到数组的长度,然后把成交量的变化存放到价格数组里,分段保存到文件中,再随时提取,实时更新. 但是在黄金中,这个长度是207431, 并且在使用以下两段代码得到的数值hhv,并不是月线级别的最大值,而是"184", CopyHigh(Symbol(),PERIOD_MN1,0,iBars(Symbol(),PERIOD_MN1),hh); hhv=ArrayMaximum(hh,WHOLE_ARRAY,0); 最关键的问题是找不到创建文件的函数,使用文件函数读取和写入的时候根本无效, 等待大神指点
我用的是MT5,是Hedging(锁仓模式),已经有一个仓位,想直接平掉这个仓位,不想再反向开一个新的仓位,怎么编写EA,请指教! 官方的示例好像只是针对有双向仓位的情况
需要一个EA自动交易,当单根K线收盘后,MACD的DIF大于0,开多单,再次小于0时,平仓多单,并且开空单。并且系统附带止损,止损点数可以自己调。小弟是交易新手,希望大佬们多多帮助,谢谢。
也不是每个挂单会出现这个错误,据我观察,一开始我以为是挂单距离现价太近, 但是下图完全不是,行情比较激烈的时候的挂单成交就会报错OrderSend error 130。。 请教大神
比如我在30分钟时间框架下一根蜡烛上结算了一张订单然后价格走了10根蜡烛,我怎么去获取这10根蜡烛呢?有想过用OrderCloseTime与当前时间相减然后整除时间框架单位做,但是感觉不准确,希望有朋友能提供更准确的方法,谢谢了。
EA回测的时候,无法启动。提示:127.0.0.1 prepare for shutdown 请大家看看是哪里的错误? 下面是完整的日志文件: GQ 0 09:05:49.742 Startup MetaTester 5 x64 build 2735 (10 Dec 2020) PD 0 09:05:49.983 Server MetaTester 5 started on 127.0.0.1:3000 HO 0 09:05:49.992 Startup initialization finished PM 0 09:05:50.516 127.0.0.1 login (build 2735)
请问ea无法开单,但是回测是有开最新订单的,是怎么回事,购买ea后ea回测他在11日14日17日等都开启了订单,但是我一直处于未开单状态,这是为什么,而且他要有最近三周的历史记录,我是有的,请问挂vps上是不是会重新更新图表只有几天的历史记录,所以无法开单?
用 HistoryDealGetDouble(HistoryDealGetTicket(i),DEAL_VOLUME) 查询历史查询历史订单交易量不正确,查出来都是最后一笔历史交易量, 有没有知道这个是什么原因。
EA已经正常运行了 半年 单从前天开始发现 日志里显示 开单不成功 超时 ,短信提示也发送不成功 请教是什么原因 有什么解决办法
ticket_xau = pos_xau[ 0 ][ 0 ] pos_xau = pos_xau[ 0 ][ 5 ] # 如果有持仓,判断是什么仓位,并尝试更新止损 sl = find_sl(df , pos_xau) request = { "action" : mt5.TRADE_ACTION_SLTP , "position" : ticket_xau , "symbol" : "XAUUSD" , "sl" : sl , } result = mt5.order_send(request) print (result) 这order_send貌似没效果
//一根k线的高点比前后两个k线高点都高 ,称之为短期高点。具备功能是(短期高点也可以像k线那样具备顺序,可以进行顺序的比较,比如短期高点>前期高点) double shorthigh(double &shigh) { sj.getrates(rate,300); bool bFind = true; int i=0; double shigh= rate[i].high; for( i=1; i<160; i++) { if(rate[i].high >= rate[i-1].high && rate[i].high >=
int OnInit() { // 判断交易品种是否符合 if(true) return (INIT_FAILED); return (INIT_SUCCEEDED); } 就这么最简单的一句话 Internal compiler error a.mq5 1 1 编辑器build2761
请问,MT5在持仓的情况下,怎么获取平台手续费?MT5没有OrderCommission()这个函数吗?历史交易记录里获取手续费不实用啊! Excuse me, how do I get platform service fees when holding positions on MT5? Is there no OrderCommission() function in MT5
最近我想开发一个gui界面的工具栏EA,用的是easyandfast库,有没有朋友也在使用这个库,互相交流一下,最好是本身懂编程的。。。
通用数据集有人用过吗?官方没有更多相关的资料,谁有相关的资料或Demo https://www.mql5.com/zh/docs/standardlibrary/generic
菜鸟请教:Allbright 操作界面中如何添加自选品种?刚进界面只有默认的几个, 现在找不到从哪里可以添加自选品种。 谢谢了
关于环形缓存: https://www.mql5.com/zh/articles/3047 我测得大概每隔100个bar 会有10E-18误差。来个几万bar 误差就明显了 bar越少越好。
大神求助: 在MT5中用MQL5代码怎么判断历史单是止盈止损平仓,手动平仓, EA自动平仓呢,用代码怎么判断呢,
string sname; ENUM_TIMEFRAMES pname; sname=Symbol(); pname=Period(); int allBarCount; allBarCount=Bars(sname,pname); if(allBarCount<0) return; static datetime ti2[],tmp[1]; long vol[]; //datetime ti[]; int res=0; if(allBarCount<=0) return; static int start=0,nowbar=999; int codd; for(int i=start;
发现论坛似乎不止一个人对这个函数有疑惑,总结一下分享给大家,供大家参考: 这个 Bars(……)函数应该没什么问题,需要注意下面的“规则”; Max bars in chart设置肯定是一个限定参数,它会限定图表的最大K线数量(内容不断更新的那种); Bars函数在 Max bars in chart t参数之后起作用(注意:设置之后是需要重启的); 3之后 Bars函数一样会增加严格说就是随着新K线的产生向右移动;
想要在注释这里区分单子的类型,有时候手动开仓点快了,没有添加注释,请问是否有大神知道怎么修改,或者有更好的办法解决?
斐波那契回调线水平位价格获取用哪个函数,只能计算不能直接获取吗
mql5如何获得绘制的趋势线的两个价格?谢谢 ObjectGetDouble(0,趋势线,OBJPROP_PRICE,0); 这个好像只能获得起点的价格,也没有 OBJPROP_PRICE1, OBJPROP_PRICE2
//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnTick () { int allBarCount; allBarCount= Bars ( _Symbol , _Period );
写了个EA,回测运行时总是报 requote 4756 重新报价的错误。 这是下单代码: ulong spread = 5; request.action= TRADE_ACTION_DEAL ; // 设置挂单 request.magic=magicNum; // ORDER_MAGIC request.symbol=symbol; // 交易品种 request.volume=lots; //
T1:=BARSLAST(H=HHV(H,5)); T2:=BARSLAST(L=LLV(L,5)); BUY1:=CROSS(T1,T2); SELL1:=CROSS(T2,T1); BUY1,BPK; SELL1,SPK; 因为只有这些,是自动反手交易,麻烦把样例品种代码也加上吧!谢谢!
MT4版: double TodayProfit() { int i; double yl=0,hyl=0; if(OrdersTotal()>0) //当前持仓订单浮盈亏 { for(i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if(TimeDay(OrderOpenTime())==TimeDay(CurTime()) &&
(我的帖子突然没了,可能是我的网络时断时续造成刷新不畅,写了很多内容却被我在着急刷新的过程中点错删除了) void CheckBarNumber() { double c[]; int allBarCount; allBarCount= Bars ( Symbol (), Period ()); Print (""); Print ("------------------------------------------------------------"); CopyClose ( Symbol (), Period (), 0 ,allBarCount,c);
版主你好! 当建立EA新产品草稿时,过一段时间,如果想重新建立新草稿,旧的草稿如何删除,仅仅有隐藏功能