顺水外汇EA交易网MT4
标题:
分享一个均线策略EA,但不够完善,有没有高手可以参考一下
[打印本页]
作者:
lianww123
时间:
2016-8-22 18:12
标题:
分享一个均线策略EA,但不够完善,有没有高手可以参考一下
均线策略EA源码:
可做1分钟和5分钟,主要以波动大的品种为主,如GBPUSD,USDJPY等,一天信号不少,但如果设置止损,止损太小容易被扫,止损大太,就容易一单大亏损就把原来做的盈利给赔进去,有高手可以参详一下不?
extern double 仓位资金=100;
extern int 止损=150;
extern int 止盈1=350;
extern int 止盈2=500;
extern int 均线1=20;
extern int 均线2=60;
extern int 点差=20;
enum leixing{
SMA=0,
EMA=1,
SMMA=2,
LWMA=3,
};
input leixing 均线1类型=1;
input leixing 均线2类型=1;
extern string 开始交易时间="00:10";
extern string 结束交易时间="23:00";
extern int magic=9899;
string 止盈时间="20:00";
int time=200;
int OnInit()
{
return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason)
{
}
void OnTick()
{
double shoushu;
shoushu=(int)(AccountBalance()/仓位资金)+1;
shoushu=shoushu*0.01;
double Bands1_U;
double Bands1_L;
double Bands2_U;
double Bands2_L;
double ma1_1,ma2_1,ma1_2,ma2_2;
ma1_1=iMA(NULL,0,均线1,0,(int)均线1类型,PRICE_CLOSE,1);
ma2_1=iMA(NULL,0,均线2,0,(int)均线2类型,PRICE_CLOSE,1);
ma1_2=iMA(NULL,0,均线1,0,(int)均线1类型,PRICE_CLOSE,2);
ma2_2=iMA(NULL,0,均线2,0,(int)均线2类型,PRICE_CLOSE,2);
Bands1_U = iBands(Symbol(), PERIOD_M30,20,2, 0, PRICE_CLOSE, MODE_UPPER, 1);
Bands1_L = iBands(Symbol(), PERIOD_M30, 20,2, 0, PRICE_CLOSE, MODE_LOWER, 1);
Bands2_U = iBands(Symbol(), PERIOD_M15,20,2, 0, PRICE_CLOSE, MODE_UPPER, 2);
Bands2_L = iBands(Symbol(), PERIOD_M15, 20,2, 0, PRICE_CLOSE, MODE_LOWER, 2);
bool buy,sell;
if(ma1_1>ma2_1 && ma1_2ma2_2)
{
sell=true;
}
bool mabuy,masell;
if(ma1_1>ma2_1 && Close[1]-ma1_1iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0)
&& iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)>0)
{
macdorder = 1;
}
else if(iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)[i]StrToTime(止盈时间)) {
if(止盈2==0 )
{
stk_b=0;
stk_s=0;
}
else
{
stk_b=Ask+止盈2*Point;
stk_s=Bid-止盈2*Point;
}
}
bool shijian;
if( StrToTime(结束交易时间)>StrToTime(开始交易时间) && TimeLocal()>StrToTime(开始交易时间) && TimeLocal()StrToTime(开始交易时间) || TimeLocal() 0.0) gd_400 = gd_384;
if (gd_392 > 0.0) gd_408 = gd_392;
res5= OrderSend(Symbol(),OP_BUY,shoushu,Ask,30, stp_b, stk_b, "1",magic,0,Red);
if(res5>0)
{
open_time=Time[0];
}
if (res50)
{
open_time=Time[0];
}
if (res5 0 )
{
for(i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if( OrderType()==OP_SELL && OrderSymbol()==Symbol() )
if (OrderMagicNumber()==magic )
{
order_switch=false;
}
}
}
return(order_switch);
}
bool cheakorders_buy()
{int i; //OrderClose
bool order_switch=true;
if (OrdersTotal( ) > 0 )
{
for(i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if( OrderType()==OP_BUY && OrderSymbol()==Symbol() )
if (OrderMagicNumber()==magic )
{
order_switch=false;
}
}
}
return(order_switch);
}
void mstoploss_1(int stoploss)
{
bool modifys = false;
for (int i=0; i stoploss*MarketInfo(OrderSymbol(), MODE_POINT) ) //开仓价格 当前止损和当前价格比较判断是否要修改跟踪止赢设置
{
if ( (OrderStopLoss() (stoploss*MarketInfo(OrderSymbol(), MODE_POINT))) //开仓价格 当前止损和当前价格比较判断是否要修改跟踪止赢设置
{
if ((OrderStopLoss()) > (Ask + stoploss*MarketInfo(OrderSymbol(), MODE_POINT)) || (OrderStopLoss()==0))
{
modifys = OrderModify(OrderTicket(),
OrderOpenPrice(),
Ask + stoploss*MarketInfo(OrderSymbol(),MODE_POINT),
OrderTakeProfit(),
0,
clrNONE);
}
}
}
}
}
void closebuy()
{
int res=1;
int i;
if (OrdersTotal() > 0 )
{
for(i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber()==magic )
{
res=OrderClose(OrderTicket(),OrderLots(),Bid,30,White);
if (res 0 )
{
for(i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderType()==OP_SELL&& OrderSymbol()==Symbol() && OrderMagicNumber()==magic )
{
res=OrderClose(OrderTicket(),OrderLots(),Ask,30,White);
if (res 0 )
{
for(i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if( OrderType()==OP_SELL || OrderType()==OP_BUY )
if (OrderMagicNumber()==magic&& OrderSymbol()==Symbol())
{
order_switch=false;
}
}
}
return(order_switch);
}
作者:
davicyap
时间:
2016-8-22 18:30
谢谢分享
作者:
lianww123
时间:
2016-8-22 22:06
RSI过滤效果还是没什么效果
作者:
lianww123
时间:
2016-8-22 22:06
有没有加一些过滤信号的参考或是判断方法,改进一下,求高手
作者:
简练
时间:
2016-8-22 22:19
谢谢分享
作者:
d13568758
时间:
2016-8-23 15:47
学习学习学习学习学习学习
作者:
开心就好
时间:
2016-8-23 21:48
用RSI指标过滤下试试,大于50(或55)多,小于50(或45)空,效果应该不错的
作者:
lianww123
时间:
2016-8-23 21:48
感谢,我测试一下看看
作者:
一湾秋水
时间:
2016-8-23 22:33
没用的东西
作者:
jiayee85
时间:
2016-8-24 17:41
if (gd_384 > 0.0) gd_400 = gd_384;
if (gd_392 > 0.0) gd_408 = gd_392;
源码中这几个量没定义
作者:
tay101755
时间:
2016-8-27 22:19
谢谢分享
作者:
老糊涂
时间:
2016-9-2 20:49
谢谢分享
作者:
szzgb
时间:
2016-9-5 00:01
遇到震荡行情就把盈利全吐掉了
作者:
股神82014
时间:
2016-9-20 10:40
惨符合法规的鬼地方公司
欢迎光临 顺水外汇EA交易网MT4 (http://waterforex.com/)
Powered by Discuz! X3.2