QQ_544DE4 发表于 2012-11-15 17:22:11

七拼八凑修改出来的EA

根据自己的思路七拼八凑修改出来的EA,2楼是源代码。大家看看有什么可以优化的。

在开仓条件方面,原来是设想读取已平仓单子总数,每变化一次,扫描返回货币和开仓价,然后按原来开仓价重新挂单。

因为函数不了解改成读取挂单和持仓总和,和总持仓对比,少了1单,就补一单(现在担心EA会不会补错货币)

另外EA是不是在本地端计算后,出结果后上传到服务器端的?(发现相近的时间平掉2个不同货币,EA会按最后的货币补2仓,该怎么修改)平仓后EA补仓好像要间隔30秒以上,正常么?还是我机子计算不够快。

请大家斧正!

QQ_544DE4 发表于 2012-11-15 17:22:45

//+------------------------------------------------------------------+
//| 实验室001.mq4 |
//+------------------------------------------------------------------+
#property show_inputs

#include <Stdlib.mqh>

extern double Lots = 0.1;
extern int AllCount = 50;
int Slippage = 0;
extern double StopLoss = 50;
extern double TakeProfit = 50;
string Comments = "BatchOpen Auto Generated";
extern int Delay = 0;
datetime Expiration = 0;

#define BATCH_OPEN_MAGIC 06021610

//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int init()
{ return(0); }
int deinit()
{ return(0); }
int start()
{
int NowTotal = OrdersTotal();
double _RangeStart ;
double _StopLoss=StopLoss*Point ;
double _TakeProfit=TakeProfit*Point;

if (NowTotal >= AllCount)
{return (-1); }
else
OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS,MODE_HISTORY);
if(OrderOpenPrice()>0 && OrderSymbol()==Symbol()) _RangeStart=OrderOpenPrice();

double sl ;
double tp ;
int cmd;
//inputs checking

if (_RangeStart<Bid)
{ sl = _RangeStart - _StopLoss;
tp = _RangeStart + _TakeProfit;
cmd = OP_BUYLIMIT;
OrderSend(Symbol() , cmd , Lots , _RangeStart , Slippage , sl , tp,Comments, BATCH_OPEN_MAGIC, Expiration, CLR_NONE); }
if (_RangeStart>Bid)
{ sl = _RangeStart - _StopLoss;
tp = _RangeStart + _TakeProfit;
cmd = OP_BUYSTOP;
OrderSend(Symbol() , cmd , Lots , _RangeStart , Slippage , sl , tp,Comments, BATCH_OPEN_MAGIC, Expiration, CLR_NONE); }


//----
//Print(cnt + " orders placed, " + AllCount + " requested, " + failed + " failed");
return(0);
}
//+------------------------------------------------------------------+

admin 发表于 2012-11-16 09:04:28

测试了下,发现在黄金和白银中不能正常补仓,一直循环显示 XAUUSD,M5: invalid stoploss for OrderSend function
,是否EA不支持黄金和白银,或者说黄金白银的代码并不一样

引章小姐 发表于 2012-11-22 00:12:46

不错!

kevinyang88 发表于 2012-11-22 00:12:46

说的不错

和其正 发表于 2012-11-22 00:12:46

很棒的 EA

K线 发表于 2012-11-22 00:12:46

楼主QQ多少

q826418559 发表于 2012-11-22 00:12:46

留个脚印```````

衣冠禽兽 发表于 2012-11-22 00:12:46

嘿嘿......哈哈......呵呵.....哟~呼

金道贵金属GTS 发表于 2014-10-31 20:24:11

看看是什么东西啊
页: [1] 2 3
查看完整版本: 七拼八凑修改出来的EA