您需要 登录 才可以下载或查看,没有帐号?注册
本帖最后由 yklt168 于 2012-8-31 14:55 编辑
一直想要一个合适的移动止盈EA怕晚上睡了大涨或大跌,
网上找了几个,一些是代码读不懂,不敢用,一些是不是要想要的,
自己初学MQL4,所以自己试着写了个,新手写的代码,写笑了,有什么不对的地方,请各位提出来我改进!
5位的系统中用!
#property copyright bai
#property link
extern double TP=200;//止盈点
extern double SL=200;//止损点
extern double TPLow=70;//差止盈位x个点就开始重设置止损
extern bool MoveSL=true;//移动止损开关
int MoveSL_Function()
//Ver 1.0.0.0(20120830)
//移动止损函数,反回1就是成功,返回-1就是操作失败或不用止损
{
int cnt, total;
string s;
bool YN=false;
total=OrdersTotal();
for(cnt=total-1;cnt cnt--)
{
s=
if (OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)==false) continue; //如果选重不成功,就跳到下一个次循环
if(OrderSymbol()==Symbol() OrderType()==OP_BUY )// OrderMagicNumber()==MAGICMA 这测试是不是空单
//多单
{
if(
( OrderStopLoss()==0 || OrderTakeProfit()==0 ) || //没有设置止损或止盈价
OrderTakeProfit()-Bid
可以参考我写的根据设置的固定点数对订单进行移动止损
bool moving_stoploss_by_point(int order_ticket, int stoploss_point, color colour=CLR_NONE){
if(!OrderSelect(order_ticket,SELECT_BY_TICKET,MODE_TRADES)) return(false);
double open_price=OrderOpenPrice();
double stop_loss=OrderStopLoss();
if (stop_loss==0.0) stop_loss=OrderOpenPrice();
if(OrderType()==OP_BUY Bid-stop_loss =2.0*stoploss_point*Point){
if(OrderModify(order_ticket,open_price,stop_loss+stoploss_point*Point,OrderTakeProfit(),0,colour)) return(true);
}
if(OrderType()==OP_SELL stop_loss-Ask =2.0*stoploss_point*Point){
if(OrderModify(order_ticket,open_price,stop_loss-stoploss_point*Point,OrderTakeProfit(),0,colour)) return(true);
}
return(false);
}
还有根据某一条移动平均线,对订单进行移动止损,以及移动止损的EA工具,到我网站上去看:www.eanotes.com
外汇交易有很大的风险性,本站所有资源均来自网络,请选择使用,如若出现亏损,本站不承担任何责任!