文章目录
1、EA思路 11
1.1、2021.4.14
- EA_dsd:不管是设置为sell还是buy,在震荡行情都可以盈利,但是在单边行情时,比如设置为sell,而行情一直上升,或者设置为buy,行情一直下跌,会很容易爆仓。
- 新思路:行情一般为三种走势,上升,下跌和震荡。假设预测未来走势为下跌,可把dsd设置为sell,只要出现震荡或下跌则盈利,假设预测未来走势为上升,可把dsd设置为buy,只要出现上升和震荡则盈利,胜率为2/3。
2、基本常识
2.1、外汇市场的最佳交易时间
- ----早上5-14点,行情一般较清淡。
这主要是由于亚洲市场的推动力量较小所致。一般震荡幅度在30点以内,多为调整或回调行情。多数情况下与当天的方向走势相反,如:若当天走势上涨,则这段时间多为小幅震荡的下跌。这一时段,保证金交易者可以在早上6-8点左右观察一下,若行情为上下波浪震荡形态(看15分钟或是5分钟的图形),可以在行情震荡到两端时作5-15点的操作。若到11点后还不能挣钱出来,则要及时平仓止损。这种做法称之为5点法,适合操作技巧不高的投资者,最终止损可放30-40点左右。 - ----午间14-18点为欧洲上午市场,15点后一般有一次行情。
欧洲开始交易后资金就会增加,外汇市场是一个金钱堆积的市场,所以哪里的资金量大,就会在哪里呈现大的波动。且此时段也会伴随着一些对欧洲货币有影响力的数据公布。一般震荡幅度在40-80点左右。这一段时间一般会在15:30后开始真正的行情,此次行情多会伴随着背离或突破,所以是一段比较好抓机会的时段。 - ----傍晚18-20点 为欧洲的中午休息和美洲市场的清晨,较清淡。
- ----20点–24点为欧洲市场的下午盘和美洲市场的上午盘。这段时间是行情波动最大的时候,也是资金量和参与人数最多的时段。一般为80点以上的行情。这段时间则是会完全按照今天的方向去行动,所以判断这次行情就要跟大势了,它可以和欧洲是同方向的,也可以和欧洲是反方向的,总之,应和大势一致。
- ----24点后到清晨,为美国的下午盘,一般此时已经走出了较大的行情,这段时间多为对前面行情的技术调整。
其实在中国的外汇交易者拥有别的时区不能比拟的时间优势,就是能够抓住15点到24点这个波动最大的时间段。对于国内的投资者而言都是从事非外汇专业的工作,下午5点下班到24点这段时间恰好是自由时间,正好可以用来做外汇投资,不必为工作的事情分心。比如:下午15-18点下单进场设好止损,止赢则看具体的技术图形,如背离和阻力位等等。也不用一直盯盘17:00、17:30-18:00、20:15-21:00其后每20-30分钟看一次即可。
赶不上下午的投资者当然就要等到晚上再交易了,但最好还是等到20:30以后,这一般是第二次行情开始的时间,也就是等到欧洲中午休息完了,美洲开市为止。要是有重要数据公布则要十分小心,此时由于波动巨大,会常出现骗线的情况,不要盲目入市。可以说上帝为中国时区的人们创造了不可比拟的交易时间,让我们可以在尽量专心的情况下交易。
更进一步,如果你是一个智能系统交易者的话,将这些规律写入交易策略中,那就连盯盘都不用了,一切交给系统打理就行了。
3、EA常识
3.1、如何找出属于你程序的订单
- 和识别订单关系密切的有3个属性
1. Ticket 这是订单的唯一身份号码,也是下单后由服务器生成的唯一订单号。当你想使用程序操作这个订单的时候,必须首先找到这个号码。(当然还有按照顺序操作订单的方法,这里先不说)。这个号码是服务器生成的,不允许程序指定。
2. Magic 这个是程序发出入场命令订单的时候可以赋值的属性,是整数类型。也就是说你可以指定一个订单的Magic属性。一但发出命令,这个属性就不可以更改了。
3. Comment 这个属性和上面意思相近,不过是字符串类型,你也可以指定他的内容。不过需要注意的是当订单设置了目标或者止损,并且触发了目标或者止损,则Comment会自动变成[t/p] 或者 [s/l]。 - 上面3个订单标识有什麽用呢?
1. Ticket用于提前找到订单,然后才可以通过"选择这个Ticket"的方式指定当前被操作订单。然后才可以操作订单。
2. Magic的作用主要是用于区别其他程序的订单。防止混淆。一般的方式是这样:让同一个程序下的订单都使用相同的Magic数字。这样在查找订单的时候就可以使用:商品相同+Magic相同的方式准确定位你自己程序下的订单。
3. Comment的作用比较灵活,如果你不使用Stop Loss 和 Target Point的方式,则可以将它完全当作一个记录状态的容器。用于任何需要记录入场当时情况的容器。这就给你的程序带来了很大的灵活性。
4、常用代码
4.1、同一个货币对同时开仓的代码(可区分不同EA)
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
#property version "1.00"
#property strict
extern int magic=3456;//区分不同的EA
void OnTick()//每个价格波动 就执行一次
{
if(Close[0]<Open[0])//开单条件,可以更换
{
//buy(0.1,Ask-100*Point,Ask+100*Point,"duo",magic); //开第一张买单
//buy(0.1,Ask-100*Point,Ask+100*Point,"duo1",magic);//开第二张买单
//sell(0.1,Bib+100*Point,Bid-100*Point,"mai",magic); //开第一张卖单
//sell(0.1,Bib+100*Point,Bid-100*Point,"mai1",magic);//开第二张卖单
sell(0.1,200,300,"mai",magic);//通过不同的注释区分不同的单子,注意必须设置止损止盈
sell(0.1,200,300,"mai1",magic);
buy(0.1,200,300,"buy",magic);
buy(0.1,200,300,"buy1",magic);
}
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
int ti=OrderTicket();
double op=OrderOpenPrice();
double sl=OrderStopLoss();
double lots=OrderLots();
string zhushi=OrderComment();
int ma=OrderMagicNumber();
}
}
}
//====================================================买单
int buy(double lots,double sl,double tp,string com,int buymagic)
{
int a=0;
bool zhaodan=false;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
string zhushi=OrderComment();
int ma=OrderMagicNumber();
if(zhushi==com && ma==buymagic)
{
zhaodan=true;
break;
}
}
}
if(zhaodan==false)
{
a=OrderSend(Symbol(),OP_BUY,lots,Ask,50,Ask-sl*Point,Ask+tp*Point,com,buymagic,0,White);
}
return(a);
}
//====================================================卖单
int sell(double lots,double sl,double tp,string com,int sellmagic)
{
int a=0;
bool zhaodan=false;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
string zhushi=OrderComment();
int ma=OrderMagicNumber();
if(zhushi==com && ma==sellmagic)
{
zhaodan=true;
break;
}
}
}
if(