交易危机

 找回密码
 快捷注册(禁q号)

QQ登录

只需一步,快速开始

搜索
广告位
查看: 4848|回复: 34
打印 上一主题 下一主题

[探讨] 谁知道如何把MT4交易记录从外部文件导入软件中

[复制链接]

48

主题

2715

积分

3

精华

中级操盘手

金钱
2715 美元
权重
0
跳转到指定楼层
楼主
发表于 2017-12-9 10:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
谁知道如何把MT4交易记录从外部导入软件中?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 保留保留

2128

主题

6万

积分

157

精华

大型投行

金钱
61414 美元
权重
640
沙发
发表于 2017-12-9 11:00 来自手机 | 只看该作者
别人都在等你研究出来

48

主题

2715

积分

3

精华

中级操盘手

金钱
2715 美元
权重
0
板凳
 楼主| 发表于 2017-12-9 11:07 | 只看该作者
frlin2003 发表于 2017-12-9 11:00
别人都在等你研究出来


好像我记得你有一个一键显示的指标?把源代码给我看下,说不定可以自己实现?

之前你贴过一键删除的了

2128

主题

6万

积分

157

精华

大型投行

金钱
61414 美元
权重
640
地板
发表于 2017-12-9 11:12 | 只看该作者
#property copyright "Copyright ?2007okw,China."
int SignalBS =0;
datetime startTime=NULL, endTime = NULL;
color    SignalPriceBUY = Blue;//Yellow;
color    SignalPriceSELL = Black;//Cyan;//起点的标签
double startPrice, endprice;
int TicketNumber;  //定单号:为了防止挂单/取消的时间间隔太小以至于无法区分识别定单而新添加的参数

int start()
  {
int    orders=HistoryTotal(); Print("Ord=",orders);
int i;
for(i=orders-1;i>=0;i--)
{
    if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)  
    {
      if ((OrderType( )==OP_BUYSTOP || OrderType( )==OP_BUY) && OrderSymbol()==Symbol())   //过滤出本货币的OP_BUYLIMIT以及OP_BUYSTOP的单子
      {
         SignalBS =1;      
         startTime= OrderOpenTime();endTime = OrderCloseTime ();
         startPrice= OrderOpenPrice(); endprice = OrderClosePrice ();
         TicketNumber = OrderTicket();
         SetBS();
      }
      else if (( OrderType( )==OP_SELLSTOP  || OrderType( )==OP_SELL) && OrderSymbol()==Symbol())
      {
         SignalBS =-1;     
         startTime= OrderOpenTime();endTime = OrderCloseTime ();
         startPrice= OrderOpenPrice(); endprice = OrderClosePrice ();
         TicketNumber = OrderTicket();
         SetBS();
      }
    }
}  
   return(0);
  }
void SetBS()
{
int BarShift=WindowBarsPerChart()/50;
datetime TimeShift=WindowBarsPerChart()/50*Period()*60;
if (SignalBS == 1)//做多
   {
   ObjectDelete("BUY SIGNAL: " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime));      //在以下所有的标签中都添加了唯一的DoubleToStr(TicketNumber,0)<--定单号,可区分识别所有定单
   ObjectDelete("BUY : " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(endTime));
   ObjectDelete("BUY Close: " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(endTime));
      //ObjectCreate("BUY SIGNAL: " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime),OBJ_TEXT,0,startTime-TimeShift,startPrice);
   //ObjectSetText("BUY SIGNAL: " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime),DoubleToStr(startPrice,2), 9, "Arial", SignalPriceBUY);
   ObjectSet("BUY SIGNAL: " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime),OBJPROP_COLOR,SignalPriceBUY);
   ObjectCreate("BUY : " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJ_TREND,0,startTime,startPrice,endTime,endprice);
   ObjectSet("BUY : " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_COLOR,SignalPriceBUY);
   ObjectSet("BUY : " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_RAY,false);
   ObjectSet("BUY : " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_STYLE,STYLE_SOLID);
   ObjectSet("BUY : " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_COLOR,Blue);
   ObjectSet("BUY : " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_WIDTH,2);//变粗
     // ObjectCreate("BUY Close: " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(endTime),OBJ_TEXT,0,endTime-TimeShift,endprice);
   //ObjectSetText("BUY Close: " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(endTime),DoubleToStr(endprice,2), 9, "Arial", SignalPriceBUY);
   ObjectSet("BUY Close: " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(endTime),OBJPROP_COLOR,SignalPriceBUY);
   }
if (SignalBS == -1)//做空
   {
   ObjectDelete("SELL SIGNAL: " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime));
   ObjectDelete("SELL : " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(endTime));
   ObjectDelete("SELL Close: " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(endTime));   
    //  ObjectCreate("SELL SIGNAL: " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime),OBJ_TEXT,0,startTime-TimeShift,startPrice);
   //ObjectSetText("SELL SIGNAL: " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime),DoubleToStr(startPrice,2), 9, "Arial", SignalPriceSELL);
   ObjectSet("SELL SIGNAL: " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime),OBJPROP_COLOR,SignalPriceSELL);
   ObjectCreate("SELL : " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJ_TREND,0,startTime,startPrice,endTime,endprice);
   ObjectSet("SELL : " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_COLOR,SignalPriceSELL);
   ObjectSet("SELL : " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_RAY,false);
   ObjectSet("SELL : " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_STYLE,STYLE_SOLID);
   ObjectSet("SELL : " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_COLOR,Black);
   ObjectSet("SELL : " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_WIDTH,2);//变粗
   //   ObjectCreate("SELL Close: " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(endTime),OBJ_TEXT,0,endTime-TimeShift,endprice);
   //ObjectSetText("SELL Close: " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(endTime),DoubleToStr(endprice,2), 9, "Arial", SignalPriceSELL);
   ObjectSet("SELL Close: " + DoubleToStr(TicketNumber,0) + " : " + TimeToStr(endTime),OBJPROP_COLOR,SignalPriceSELL);
   }
}

48

主题

2715

积分

3

精华

中级操盘手

金钱
2715 美元
权重
0
5
 楼主| 发表于 2017-12-9 11:29 | 只看该作者
frlin2003 发表于 2017-12-9 11:12
#property copyright "Copyright ?2007okw,China."
int SignalBS =0;
datetime startTime=NULL, endTime  ...

可能可以实现呢,研究下

2128

主题

6万

积分

157

精华

大型投行

金钱
61414 美元
权重
640
6
发表于 2017-12-9 11:30 | 只看该作者
bhzcs 发表于 2017-12-9 11:29
可能可以实现呢,研究下

           

48

主题

2715

积分

3

精华

中级操盘手

金钱
2715 美元
权重
0
7
 楼主| 发表于 2017-12-9 19:05 | 只看该作者
本帖最后由 bhzcs 于 2017-12-9 19:07 编辑


经过半天的研究,可以确定能做到,
比如把嘉盛平台的记录导入到ex平台的图表中,或者相反;

针对不同的MT4平台的交易记录要对代码做一些修改。

具体开发出能用的代码可能还要几天

另外,因为平台的差异,最大只能做到把同一个平台的账户交易导入,跨平台的需要修改。


2

主题

258

积分

0

精华

见习操盘手

金钱
258 美元
权重
0
8
发表于 2017-12-9 19:16 来自手机 | 只看该作者
知识面窄,是个硬伤

2128

主题

6万

积分

157

精华

大型投行

金钱
61414 美元
权重
640
9
发表于 2017-12-9 19:47 | 只看该作者
期待!极其期待

34

主题

4648

积分

2

精华

高级操盘手

金钱
4648 美元
权重
1
10
发表于 2017-12-9 21:32 | 只看该作者
想过手动的办法,每周一条一条的把记录写在一个模板上,选定一个平台作为长期记录使用。
这样无论使用几个平台,都总结到一个平台上。
还没进行
知道自己懂的太少了,才是知道的开始。

48

主题

2715

积分

3

精华

中级操盘手

金钱
2715 美元
权重
0
11
 楼主| 发表于 2017-12-9 22:18 | 只看该作者
平衡 发表于 2017-12-9 21:32
想过手动的办法,每周一条一条的把记录写在一个模板上,选定一个平台作为长期记录使用。
这样无论使用几个 ...

现在做法是把交易记录导出到文本文件
然后mt4从文件读取内容,在转换成某个平台可以识别的,然后画线,整个流程是可以实现的。

不需要手动

48

主题

2715

积分

3

精华

中级操盘手

金钱
2715 美元
权重
0
12
 楼主| 发表于 2017-12-9 22:18 | 只看该作者
现在麻烦的是我手头的2013年的交易记录是嘉盛的,EX的黄金日线记录只能下载到2014年1月底!!

48

主题

2715

积分

3

精华

中级操盘手

金钱
2715 美元
权重
0
13
 楼主| 发表于 2017-12-9 22:31 | 只看该作者

成功了!!

我嘉盛2013年的交易记录,可以在万达平台上面显示出来,
因为EX的黄金记录最早的只从2014年2月开始,所以无法显示

但是因为平台时间不一致,所以在万达上显示的记录跟K线位置不匹配,而且平台的商品价格还是有小差别的,所以最理想的是在交易本身的平台去显示。


截图是2013年11月份我的大黄记录。红圈的地方可以看出2013年oct是10月

评分

参与人数 1金钱 +88 收起 理由
frlin2003 + 88 我是你的粉丝!

查看全部评分

2128

主题

6万

积分

157

精华

大型投行

金钱
61414 美元
权重
640
14
发表于 2017-12-9 22:34 | 只看该作者
回复

使用道具 举报

2128

主题

6万

积分

157

精华

大型投行

金钱
61414 美元
权重
640
15
发表于 2017-12-9 22:38 | 只看该作者
bhzcs 发表于 2017-12-9 22:31
成功了!!

我嘉盛2013年的交易记录,可以在万达平台上面显示出来,

ex2014如果要添加记录,直接把 xauusd的数据,替换,或者增加你嘉盛的数据。
(补足1分钟到一个月的数据。)

48

主题

2715

积分

3

精华

中级操盘手

金钱
2715 美元
权重
0
16
 楼主| 发表于 2017-12-9 22:38 | 只看该作者
终于可以有机会静心去好好研究一下那个影响我命运至深的月份究竟发生了什么事情了。

那个月,前半月,盈利快40万人民币,把之前两月亏的10多万赚回来了,然而也正是那个月的下半月盈利全部返还还倒亏了20万,接着2013年的最后那段时光,心态彻底失衡,亏完积蓄,累计亏损50万以上,倒欠十多万信用卡。 只能狠心远离市场,苟且偷生。

看看这些紊乱的线段,想想当年疯狂的自己。

有感而发,看官见笑。

48

主题

2715

积分

3

精华

中级操盘手

金钱
2715 美元
权重
0
17
 楼主| 发表于 2017-12-9 22:41 | 只看该作者
frlin2003 发表于 2017-12-9 22:38
ex2014如果要添加记录,直接把 xauusd的数据,替换,或者增加你嘉盛的数据。
(补足1分钟到一个月的数据 ...

我改天注册一个嘉盛的模拟账户,还是去他们平台看比较好。
因为每个平台的价格其实有微小差别的。 我比较较真

2128

主题

6万

积分

157

精华

大型投行

金钱
61414 美元
权重
640
18
发表于 2017-12-9 22:41 | 只看该作者
bhzcs 发表于 2017-12-9 22:31
成功了!!

我嘉盛2013年的交易记录,可以在万达平台上面显示出来,

用你研究的代码实现的,还是没用代码实现的?

48

主题

2715

积分

3

精华

中级操盘手

金钱
2715 美元
权重
0
19
 楼主| 发表于 2017-12-9 22:45 | 只看该作者
frlin2003 发表于 2017-12-9 22:41
用你研究的代码实现的,还是没用代码实现的?

在你提供的代码上修改的,修改成从文件读取交易记录,然后把每笔交易的每个字段的值取出,再循环赋值给显示的变量,然后就ok了,代码还不成熟,如果你有需要的我可以根据你的要求修改了给你源码。

2128

主题

6万

积分

157

精华

大型投行

金钱
61414 美元
权重
640
20
发表于 2017-12-9 22:47 | 只看该作者
bhzcs 发表于 2017-12-9 22:45
在你提供的代码上修改的,修改成从文件读取交易记录,然后把每笔交易的每个字段的值取出,再循环赋值给显 ...

很NB,很高端。等你成熟了小明再来。

小明都是手动的,不过这是很久之前的事
您需要登录后才可以回帖 登录 | 快捷注册(禁q号)

本版积分规则

QQ|黄金吧|黄金论坛|手机版|指标下载|非农|目录|交易危机

版权所有: ©2014-2021 fx3q.com Powered by Discuz! X3
皖ICP备: 2024050410号-2

风险提示:杠杆风险高,交易要谨慎 声明:坛友发言和回复均为个人观点,不代表论坛立场。
若有侵权请联系fx3q@qq.com删除

快速回复 返回顶部 返回列表