众汇论坛

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

QQ登录

只需一步,快速开始

搜索
查看: 4373|回复: 22

[其他] 直观显示交易记录脚本

[复制链接]

29

主题

1208

积分

1

精华

初级操盘手

金钱
1208 美元
权重
14
发表于 2014-3-10 17:00 | 显示全部楼层 |阅读模式
附含小数点后2-5位数品种交易记录直观显示图标上及移除脚本
显示2位数交易记录脚本代码:

  1. //+------------------------------------------------------------------+
  2. //|                                               displayPostion.mq4 |
  3. //+------------------------------------------------------------------+
  4. #property copyright "Copyright ?2007okw,China."
  5. //+------------------------------------------------------------------+
  6. //| script program start function                                    |
  7. //+------------------------------------------------------------------+
  8. int SignalBS =0;
  9. datetime startTime=NULL, endTime = NULL;
  10. color    SignalPriceBUY = Blue;//Yellow;
  11. color    SignalPriceSELL = Black;//Cyan;//起点的标签
  12. double startPrice, endprice;
  13. int start()
  14.   {
  15. int    orders=HistoryTotal(); Print("Ord=",orders);
  16. int i;
  17. for(i=orders-1;i>=0;i--)
  18. {
  19.     if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)  
  20.     {
  21.       if (OrderType( )==OP_BUY && OrderSymbol()==Symbol())
  22.         {
  23.          SignalBS =1;      
  24.          startTime= OrderOpenTime();endTime = OrderCloseTime ();
  25.          startPrice= OrderOpenPrice(); endprice = OrderClosePrice ();
  26.           SetBS();
  27.         }
  28.         else if (OrderType( )==OP_SELL && OrderSymbol()==Symbol())
  29.         {
  30.           SignalBS =-1;     
  31.           startTime= OrderOpenTime();endTime = OrderCloseTime ();
  32.           startPrice= OrderOpenPrice(); endprice = OrderClosePrice ();
  33.           SetBS();
  34.        }
  35.     }
  36. }  
  37. //----
  38.    return(0);
  39.   }
  40. //+------------------------------------------------------------------+
  41. void SetBS()
  42. {
  43. int BarShift=WindowBarsPerChart()/50;
  44. datetime TimeShift=WindowBarsPerChart()/50*Period()*60;
  45. if (SignalBS == 1)//做多
  46.    {
  47.    ObjectDelete("BUY SIGNAL: " + TimeToStr(startTime));
  48.    ObjectDelete("BUY : " + TimeToStr(endTime));
  49.    ObjectDelete("BUY Close: " + TimeToStr(endTime));
  50.    //删除价格标签
  51.    //ObjectCreate("BUY SIGNAL: " + TimeToStr(startTime),OBJ_ARROW,0,startTime,startPrice);
  52.    //ObjectSet("BUY SIGNAL: " + TimeToStr(startTime),OBJPROP_ARROWCODE,5);
  53.    //ObjectSet("BUY SIGNAL: " + TimeToStr(startTime),OBJPROP_COLOR,SignalPriceBUY);
  54.    //换成文本框
  55.    ObjectCreate("BUY SIGNAL: " + TimeToStr(startTime),OBJ_TEXT,0,startTime-TimeShift,startPrice);
  56.    ObjectSetText("BUY SIGNAL: " + TimeToStr(startTime),DoubleToStr(startPrice,2), 9, "Arial", SignalPriceBUY);
  57.    ObjectSet("BUY SIGNAL: " + TimeToStr(startTime),OBJPROP_COLOR,SignalPriceBUY);
  58.    
  59.    ObjectCreate("BUY : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJ_TREND,0,startTime,startPrice,endTime,endprice);
  60.    ObjectSet("BUY : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_COLOR,SignalPriceBUY);
  61.    ObjectSet("BUY : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_RAY,false);
  62.    ObjectSet("BUY : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_STYLE,STYLE_SOLID);
  63.    ObjectSet("BUY : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_COLOR,Blue);
  64.    ObjectSet("BUY : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_WIDTH,3);//变粗
  65.    //删除价格标签
  66.    //ObjectCreate("BUY Close: " + TimeToStr(endTime),OBJ_ARROW,0,endTime,endprice);
  67.    //ObjectSet("BUY Close: " + TimeToStr(endTime),OBJPROP_ARROWCODE,5);
  68.    //ObjectSet("BUY Close: " + TimeToStr(endTime),OBJPROP_COLOR,SignalPriceBUY);
  69.    //换成文本框
  70.    ObjectCreate("BUY Close: " + TimeToStr(endTime),OBJ_TEXT,0,endTime-TimeShift,endprice);
  71.    ObjectSetText("BUY Close: " + TimeToStr(endTime),DoubleToStr(endprice,2), 9, "Arial", SignalPriceBUY);
  72.    ObjectSet("BUY Close: " + TimeToStr(endTime),OBJPROP_COLOR,SignalPriceBUY);
  73.    }
  74. if (SignalBS == -1)//做空
  75.    {
  76.    ObjectDelete("SELL SIGNAL: " + TimeToStr(startTime));
  77.    ObjectDelete("SELL : " + TimeToStr(endTime));
  78.    ObjectDelete("SELL Close: " + TimeToStr(endTime));   
  79.    //删除价格标签
  80.    //ObjectCreate("SELL SIGNAL: " + TimeToStr(startTime),OBJ_ARROW,0,startTime,startPrice);
  81.    //ObjectSet("SELL SIGNAL: " + TimeToStr(startTime),OBJPROP_ARROWCODE,5);
  82.    //ObjectSet("SELL SIGNAL: " + TimeToStr(startTime),OBJPROP_COLOR,SignalPriceSELL);
  83.    //换成文本框
  84.    ObjectCreate("SELL SIGNAL: " + TimeToStr(startTime),OBJ_TEXT,0,startTime-TimeShift,startPrice);
  85.    ObjectSetText("SELL SIGNAL: " + TimeToStr(startTime),DoubleToStr(startPrice,2), 9, "Arial", SignalPriceSELL);
  86.    ObjectSet("SELL SIGNAL: " + TimeToStr(startTime),OBJPROP_COLOR,SignalPriceSELL);
  87.    
  88.    ObjectCreate("SELL : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJ_TREND,0,startTime,startPrice,endTime,endprice);
  89.    ObjectSet("SELL : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_COLOR,SignalPriceSELL);
  90.    ObjectSet("SELL : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_RAY,false);
  91.    ObjectSet("SELL : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_STYLE,STYLE_SOLID);
  92.    ObjectSet("SELL : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_COLOR,Black);
  93.    ObjectSet("SELL : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_WIDTH,3);//变粗
  94.    
  95.    
  96.    //删除价格标签
  97.    //ObjectCreate("SELL Close: " + TimeToStr(endTime),OBJ_ARROW,0,endTime,endprice);
  98.    //ObjectSet("SELL Close: " + TimeToStr(endTime),OBJPROP_ARROWCODE,5);
  99.    //ObjectSet("SELL Close: " + TimeToStr(endTime),OBJPROP_COLOR,SignalPriceSELL);
  100.    //换成文本框
  101.    ObjectCreate("SELL Close: " + TimeToStr(endTime),OBJ_TEXT,0,endTime-TimeShift,endprice);
  102.    ObjectSetText("SELL Close: " + TimeToStr(endTime),DoubleToStr(endprice,2), 9, "Arial", SignalPriceSELL);
  103.    ObjectSet("SELL Close: " + TimeToStr(endTime),OBJPROP_COLOR,SignalPriceSELL);
  104.    
  105.    }
  106. }
复制代码

显示4位数交易记录脚本代码:

  1. //+------------------------------------------------------------------+
  2. //|                                               displayPostion.mq4 |
  3. //+------------------------------------------------------------------+
  4. #property copyright "Copyright ?2007okw,China."
  5. //+------------------------------------------------------------------+
  6. //| script program start function                                    |
  7. //+------------------------------------------------------------------+
  8. int SignalBS =0;
  9. datetime startTime=NULL, endTime = NULL;
  10. color    SignalPriceBUY = Blue;//Yellow;
  11. color    SignalPriceSELL = Black;//Cyan;//起点的标签
  12. double startPrice, endprice;
  13. int start()
  14.   {
  15. int    orders=HistoryTotal(); Print("Ord=",orders);
  16. int i;
  17. for(i=orders-1;i>=0;i--)
  18. {
  19.     if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)  
  20.     {
  21.       if (OrderType( )==OP_BUY && OrderSymbol()==Symbol())
  22.         {
  23.          SignalBS =1;      
  24.          startTime= OrderOpenTime();endTime = OrderCloseTime ();
  25.          startPrice= OrderOpenPrice(); endprice = OrderClosePrice ();
  26.           SetBS();
  27.         }
  28.         else if (OrderType( )==OP_SELL && OrderSymbol()==Symbol())
  29.         {
  30.           SignalBS =-1;     
  31.           startTime= OrderOpenTime();endTime = OrderCloseTime ();
  32.           startPrice= OrderOpenPrice(); endprice = OrderClosePrice ();
  33.           SetBS();
  34.        }
  35.     }
  36. }  
  37. //----
  38.    return(0);
  39.   }
  40. //+------------------------------------------------------------------+
  41. void SetBS()
  42. {
  43. int BarShift=WindowBarsPerChart()/50;
  44. datetime TimeShift=WindowBarsPerChart()/50*Period()*60;
  45. if (SignalBS == 1)//做多
  46.    {
  47.    ObjectDelete("BUY SIGNAL: " + TimeToStr(startTime));
  48.    ObjectDelete("BUY : " + TimeToStr(endTime));
  49.    ObjectDelete("BUY Close: " + TimeToStr(endTime));
  50.    //删除价格标签
  51.    //ObjectCreate("BUY SIGNAL: " + TimeToStr(startTime),OBJ_ARROW,0,startTime,startPrice);
  52.    //ObjectSet("BUY SIGNAL: " + TimeToStr(startTime),OBJPROP_ARROWCODE,5);
  53.    //ObjectSet("BUY SIGNAL: " + TimeToStr(startTime),OBJPROP_COLOR,SignalPriceBUY);
  54.    //换成文本框
  55.    ObjectCreate("BUY SIGNAL: " + TimeToStr(startTime),OBJ_TEXT,0,startTime-TimeShift,startPrice);
  56.    ObjectSetText("BUY SIGNAL: " + TimeToStr(startTime),DoubleToStr(startPrice,4), 9, "Arial", SignalPriceBUY);
  57.    ObjectSet("BUY SIGNAL: " + TimeToStr(startTime),OBJPROP_COLOR,SignalPriceBUY);
  58.    
  59.    ObjectCreate("BUY : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJ_TREND,0,startTime,startPrice,endTime,endprice);
  60.    ObjectSet("BUY : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_COLOR,SignalPriceBUY);
  61.    ObjectSet("BUY : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_RAY,false);
  62.    ObjectSet("BUY : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_STYLE,STYLE_SOLID);
  63.    ObjectSet("BUY : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_COLOR,Blue);
  64.    ObjectSet("BUY : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_WIDTH,3);//变粗
  65.    //删除价格标签
  66.    //ObjectCreate("BUY Close: " + TimeToStr(endTime),OBJ_ARROW,0,endTime,endprice);
  67.    //ObjectSet("BUY Close: " + TimeToStr(endTime),OBJPROP_ARROWCODE,5);
  68.    //ObjectSet("BUY Close: " + TimeToStr(endTime),OBJPROP_COLOR,SignalPriceBUY);
  69.    //换成文本框
  70.    ObjectCreate("BUY Close: " + TimeToStr(endTime),OBJ_TEXT,0,endTime-TimeShift,endprice);
  71.    ObjectSetText("BUY Close: " + TimeToStr(endTime),DoubleToStr(endprice,4), 9, "Arial", SignalPriceBUY);
  72.    ObjectSet("BUY Close: " + TimeToStr(endTime),OBJPROP_COLOR,SignalPriceBUY);
  73.    }
  74. if (SignalBS == -1)//做空
  75.    {
  76.    ObjectDelete("SELL SIGNAL: " + TimeToStr(startTime));
  77.    ObjectDelete("SELL : " + TimeToStr(endTime));
  78.    ObjectDelete("SELL Close: " + TimeToStr(endTime));   
  79.    //删除价格标签
  80.    //ObjectCreate("SELL SIGNAL: " + TimeToStr(startTime),OBJ_ARROW,0,startTime,startPrice);
  81.    //ObjectSet("SELL SIGNAL: " + TimeToStr(startTime),OBJPROP_ARROWCODE,5);
  82.    //ObjectSet("SELL SIGNAL: " + TimeToStr(startTime),OBJPROP_COLOR,SignalPriceSELL);
  83.    //换成文本框
  84.    ObjectCreate("SELL SIGNAL: " + TimeToStr(startTime),OBJ_TEXT,0,startTime-TimeShift,startPrice);
  85.    ObjectSetText("SELL SIGNAL: " + TimeToStr(startTime),DoubleToStr(startPrice,4), 9, "Arial", SignalPriceSELL);
  86.    ObjectSet("SELL SIGNAL: " + TimeToStr(startTime),OBJPROP_COLOR,SignalPriceSELL);
  87.    
  88.    ObjectCreate("SELL : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJ_TREND,0,startTime,startPrice,endTime,endprice);
  89.    ObjectSet("SELL : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_COLOR,SignalPriceSELL);
  90.    ObjectSet("SELL : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_RAY,false);
  91.    ObjectSet("SELL : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_STYLE,STYLE_SOLID);
  92.    ObjectSet("SELL : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_COLOR,Black);
  93.    ObjectSet("SELL : " + TimeToStr(startTime)+"--"+TimeToStr(endTime),OBJPROP_WIDTH,3);//变粗
  94.    
  95.    
  96.    //删除价格标签
  97.    //ObjectCreate("SELL Close: " + TimeToStr(endTime),OBJ_ARROW,0,endTime,endprice);
  98.    //ObjectSet("SELL Close: " + TimeToStr(endTime),OBJPROP_ARROWCODE,5);
  99.    //ObjectSet("SELL Close: " + TimeToStr(endTime),OBJPROP_COLOR,SignalPriceSELL);
  100.    //换成文本框
  101.    ObjectCreate("SELL Close: " + TimeToStr(endTime),OBJ_TEXT,0,endTime-TimeShift,endprice);
  102.    ObjectSetText("SELL Close: " + TimeToStr(endTime),DoubleToStr(endprice,4), 9, "Arial", SignalPriceSELL);
  103.    ObjectSet("SELL Close: " + TimeToStr(endTime),OBJPROP_COLOR,SignalPriceSELL);
  104.    
  105.    }
  106. }
复制代码

移除交易记录脚本代码:

  1. //+------------------------------------------------------------------+
  2. //|                                             移除交易记录脚本.mq4 |
  3. //|                        Copyright 2012, MetaQuotes Software Corp. |
  4. //+------------------------------------------------------------------+
  5. #property copyright "Copyright 2012, MetaQuotes Software Corp."
  6. //+------------------------------------------------------------------+
  7. //| script program start function                                    |
  8. //+------------------------------------------------------------------+
  9. int start()
  10.   {
  11. //----
  12.    string name="";
  13.    
  14.    for(int i=0;i<ObjectsTotal();i++){
  15.       Comment(i);
  16.       name=ObjectName(i);
  17.       if(StringFind(name,"BUY SIGNAL:",0)>-1){
  18.          ObjectDelete(name);
  19.       }
  20.       if(StringFind(name,"BUY :",0)>-1){
  21.          ObjectDelete(name);
  22.       }
  23.       if(StringFind(name,"BUY Close:",0)>-1){
  24.          ObjectDelete(name);
  25.       }
  26.       if(StringFind(name,"SELL SIGNAL:",0)>-1){
  27.          ObjectDelete(name);
  28.       }
  29.       if(StringFind(name,"SELL :",0)>-1){
  30.          ObjectDelete(name);
  31.       }
  32.       if(StringFind(name,"SELL Close:",0)>-1){
  33.          ObjectDelete(name);
  34.       }
  35.    }
  36. //----
  37.    return(0);
  38.   }
  39. //+------------------------------------------------------------------+
复制代码


直观显示交易记录脚本.zip

2.81 KB, 下载次数: 68, 下载积分: 金钱 -8

8

主题

512

积分

0

精华

初级操盘手

金钱
512 美元
权重
5
发表于 2014-3-28 23:10 | 显示全部楼层
本帖最后由 wccmcd 于 2015-12-4 12:05 编辑

赞一个      ···

点评

一起赞……  发表于 2016-11-3 07:01

9

主题

208

积分

0

精华

见习操盘手

金钱
208 美元
权重
6
发表于 2014-3-31 09:15 | 显示全部楼层
本帖最后由 wccmcd 于 2015-12-4 12:05 编辑

赞一个      ···

7

主题

258

积分

0

精华

见习操盘手

金钱
258 美元
权重
0
发表于 2014-3-31 10:47 | 显示全部楼层
本帖最后由 wccmcd 于 2015-12-4 12:05 编辑

好东西~!

点评

还有个是指标的,比这个直观  发表于 2016-11-3 07:01
万物美好,我在中央

0

主题

34

积分

0

精华

外汇入门

金钱
34 美元
权重
0
发表于 2014-9-20 10:57 | 显示全部楼层
本帖最后由 wccmcd 于 2015-12-4 12:05 编辑

什么好东东,下了再说。

0

主题

19

积分

0

精华

见习期-审核

金钱
39 美元
权重
0
发表于 2015-1-31 17:51 | 显示全部楼层
本帖最后由 wccmcd 于 2015-12-4 12:05 编辑

好东东,感谢分享

点评

值得试试,  发表于 2016-11-3 07:01

0

主题

36

积分

0

精华

外汇入门

金钱
36 美元
权重
0
发表于 2015-5-3 17:43 | 显示全部楼层
本帖最后由 wccmcd 于 2015-12-4 12:05 编辑

谢谢分享!!

0

主题

34

积分

0

精华

外汇入门

金钱
34 美元
权重
0
发表于 2016-1-12 19:06 | 显示全部楼层
多谢分享!

0

主题

1222

积分

0

精华

初级操盘手

金钱
1222 美元
权重
0
发表于 2016-6-29 19:41 | 显示全部楼层
楼主这个太厉害了!

26

主题

9024

积分

0

精华

操盘专家

金钱
9024 美元
权重
1
发表于 2016-10-18 16:25 | 显示全部楼层
这个比较利害……方便学习了!

26

主题

9024

积分

0

精华

操盘专家

金钱
9024 美元
权重
1
发表于 2016-10-29 23:16 | 显示全部楼层
1908021sg4iy47si5c1s7g.gif
这个可以显示价格,等有时间改成指标……

26

主题

9024

积分

0

精华

操盘专家

金钱
9024 美元
权重
1
发表于 2016-11-3 07:03 | 显示全部楼层
是可以显示进出场时的价格,如果可以调整价格或符号显示就好了

0

主题

0

积分

0

精华

见习期-审核

金钱
20 美元
权重
0
发表于 2017-2-11 23:17 | 显示全部楼层
判断多少位用这个就可以了。
MarketInfo(Symbol(),MODE_DIGITS)

@tianye0328

2

主题

246

积分

0

精华

见习操盘手

金钱
246 美元
权重
0
发表于 2017-2-15 00:03 | 显示全部楼层
水一点经验!   勿怪!

1

主题

16

积分

0

精华

见习期-审核

金钱
36 美元
权重
0
发表于 2017-4-22 08:37 | 显示全部楼层
这个真是太好了

0

主题

40

积分

0

精华

外汇入门

金钱
40 美元
权重
0
发表于 2017-4-23 18:42 | 显示全部楼层
下载看看,谢谢

8

主题

698

积分

0

精华

初级操盘手

金钱
698 美元
权重
0
发表于 2018-12-18 06:34 | 显示全部楼层
好东西啊

0

主题

185

积分

0

精华

见习操盘手

金钱
185 美元
权重
0
发表于 2019-3-27 15:02 | 显示全部楼层
这个不错

0

主题

81

积分

0

精华

外汇入门

金钱
81 美元
权重
0
发表于 2019-4-15 11:32 | 显示全部楼层
大神 分享 厉害 厉害  
您需要登录后才可以回帖 登录 | 快捷注册(禁q号)

本版积分规则

QQ|黄金吧|黄金论坛|手机版|指标下载|非农|目录|众汇论坛

版权所有: ©2014-2019 fx3q.com Powered by Discuz! X3
浙ICP备: ICP14039028

浙公网安备 33010302000502号

风险提示:杠杆风险高,交易要谨慎
若有侵权请联系fx3q@qq.com删除

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