mt4基础转自论坛.docx
《mt4基础转自论坛.docx》由会员分享,可在线阅读,更多相关《mt4基础转自论坛.docx(50页珍藏版)》请在冰豆网上搜索。
![mt4基础转自论坛.docx](https://file1.bdocx.com/fileroot1/2023-1/5/5f9ec124-1996-4a12-a3fa-9c70242b4496/5f9ec124-1996-4a12-a3fa-9c70242b44961.gif)
mt4基础转自论坛
∙第一课:
:
了解EA的形式
*以下就是EA的编写形式//
+------------------------------------------------------------------+
//|MT4-EA制作速成班.mq4|
//|Copyright?
2007,MetaQuotesSoftwareCorp.|
//||
//+------------------------------------------------------------------+
#propertycopyright"Copyright?
2007,MetaQuotesSoftwareCorp."
#propertylink.""
//+------------------------------------------------------------------+
//|expertinitializationfunction|
//+------------------------------------------------------------------+
intinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|expertdeinitializationfunction|
//+------------------------------------------------------------------+
intdeinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|expertstartfunction|
//+------------------------------------------------------------------+
intstart()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
*//+------------------------------------------------------------------+
//|MT4-EA制作速成班.mq4|
//|Copyright?
2007,MetaQuotesSoftwareCorp.|
//||
//+------------------------------------------------------------------+
这个是在上面的垃圾
写与不写都无所谓
我们就不用理他
*#propertycopyright"Copyright?
2007,MetaQuotesSoftwareCorp."
#propertylink.""
这个也是在上面的垃圾
写与不写都无所谓
我们也不用理他
*//+------------------------------------------------------------------+
//|expertinitializationfunction|
//+------------------------------------------------------------------+
intinit()
{
//----
//以后可能有用到
//----
return(0);
}
//+------------------------------------------------------------------+
//|expertdeinitializationfunction|
//+------------------------------------------------------------------+
intdeinit()
{
//----
//以后可能有用到
//----
return(0);
}
这两个很少用到。
高高手才会用
速成班的话,这个可以不用理他。
放在一边先,以后才学怎样用它。
*//+------------------------------------------------------------------+
//|expertstartfunction|
//+------------------------------------------------------------------+
intstart()
{
//----
//主程式
//----
return(0);
}
//+------------------------------------------------------------------+
这个就是EA开始操作的重要部分
以上的EA的编写形式我们改成如下:
*//+------------------------------------------------------------------+
//|MT4-EA制作速成班.mq4|
//|Copyright2007,MT4-EA制作速成班.|
//|http:
//www.MT4-EA制作速成班.net|
//+------------------------------------------------------------------+
#propertycopyright"Copyright2007,MT4-EA制作速成班."
#propertylink."http:
//www.MT4-EA制作速成班.net"
//+------------------------------------------------------------------+
//|expertinitializationfunction|
//+------------------------------------------------------------------+
intinit()
{
//----
/以后可能有用到
//----
return(0);
}
//+------------------------------------------------------------------+
//|expertdeinitializationfunction|
//+------------------------------------------------------------------+
intdeinit()
{
//----
/以后可能有用到
//----
return(0);
}
//+------------------------------------------------------------------+
//|expertstartfunction|
//+------------------------------------------------------------------+
intstart()
{
//----
//主程式
//----
return(0);
}
//+------------------------------------------------------------------+
*什么是“.mq4”?
EA制作好了就save成.mq4的文件
这文件是可以修改的
*什么是“.ex4”?
EA制作好了
按“编写”就会自动save成.ex4的文件
这文件是不可以被修改的
这文件是加密的
可以出售的文件。
*有什么问题要问吗?
但是我告诉你
不要问太深的问题,我是不会的。
∙05-25-200908:
59AM
yes810
第二课:
EA重要部分
*回到EA重要部分
//+------------------------------------------------------------------+
//|expertstartfunction|
//+------------------------------------------------------------------+
intstart()
{
//----
//主程式
//----
return(0);
}
//+------------------------------------------------------------------+
*我们要知道EA是由上面往下读的
所以我们在编写方面要有逻辑思考
以下是速成班编写的形式
//+------------------------------------------------------------------+
//|expertstartfunction|
//+------------------------------------------------------------------+
intstart()
{
//----
MoneyManagement();
macd();
ma();
zhangchang();
buyme();
sellme();
xianshi();
//----
return(0);
}
//+------------------------------------------------------------------+
voidMoneyManagement(){
}
//+------------------------------------------------------------------+
voidmacd(){
}
//+------------------------------------------------------------------+
voidma(){
}
//+------------------------------------------------------------------+
voidzhangchang(){
}
//+------------------------------------------------------------------+
voidbuyme(){
}
//+------------------------------------------------------------------+
voidsellme(){
}
//+------------------------------------------------------------------+
voidbuyme(){
}
//+------------------------------------------------------------------+
voidxianshi(){
}
//+------------------------------------------------------------------+
/////end
*//这两划代表右边的不要读
也可以说是注解
注意:
EA不会读中文符号。
比如这个“”
这个就可以""
*我们可以完整他
//+------------------------------------------------------------------+
//|MT4-EA制作速成班.mq4|
//|Copyright2007,MT4-EA制作速成班.|
//|http:
//www.MT4-EA制作速成班.net|
//+------------------------------------------------------------------+
#propertycopyright"Copyright2007,MT4-EA制作速成班."
#propertylink."http:
//www.MT4-EA制作速成班.net"
//+------------------------------------------------------------------+
//|expertinitializationfunction|
//+------------------------------------------------------------------+
intinit()
{
//----
//以后可能有用到
//----
return(0);
}
//+------------------------------------------------------------------+
//|expertdeinitializationfunction|
//+------------------------------------------------------------------+
intdeinit()
{
//----
//以后可能有用到
//----
return(0);
}
//+------------------------------------------------------------------+
//|expertstartfunction|
//+------------------------------------------------------------------+
intstart()
{
//----
//主程式
MoneyManagement();//资金管理
macd();//指标管理
ma();//指标管理
zhangchang();//战场管理
buyme();//买上
sellme();//买下
xianshi();//显示管理
//----
return(0);
}
//+------------------------------------------------------------------+
voidMoneyManagement(){
//子程式
//这边要写一些东西
}
//+------------------------------------------------------------------+
voidmacd(){
//子程式
//这边要写一些东西
}
//+------------------------------------------------------------------+
voidma(){
//子程式
//这边要写一些东西
}
//+------------------------------------------------------------------+
voidzhangchang(){
///子程式
//这边要写一些东西
}
//+------------------------------------------------------------------+
voidbuyme(){
//子程式
//这边要写一些东西
}
//+------------------------------------------------------------------+
voidsellme(){
//子程式
//这边要写一些东西
}
//+------------------------------------------------------------------+
voidbuyme(){
//子程式
//这边要写一些东西
}
//+------------------------------------------------------------------+
voidxianshi(){
//子程式
//这边要写一些东西
}
//+------------------------------------------------------------------+
/////end
*如果你在上面加这个xianshi2();
下面就加这个
//////////////////////////
voidxianshi2(){
//这边要写一些东西
}
////////////////////////////
可以任意无限的加。
。
。
*有什么问题要问吗?
但是我老实告诉你
不要问太深的问题,我是不会回答的。
∙05-25-200909:
03AM
yes810
第三课:
:
加入指标
*//////////////////////////////
voidma()
{
ma1now=iMA(NULL,0,ma1,0,MODE_EMA,PRICE_CLOSE,0);
ma1now2=iMA(NULL,0,ma1,0,MODE_EMA,PRICE_CLOSE,1);
ma2now=iMA(NULL,0,ma2,0,MODE_EMA,PRICE_CLOSE,0);
ma2now2=iMA(NULL,0,ma2,0,MODE_EMA,PRICE_CLOSE,1);
ma1bnow=iMA(NULL,0,ma1,0,MODE_EMA,PRICE_OPEN,0);
ma2bnow=iMA(NULL,0,ma2,0,MODE_EMA,PRICE_OPEN,0);
}
////////////////////////
ma1now是代表的字
你可以写成什么都可以
PRICE_CLOSE是ma最新的参数
PRICE_OPEN是ma开始的参数
ma1now=iMA(NULL,0,ma1,0,MODE_EMA,PRICE_CLOSE,0);
这个整句是死的。
你只要copy&press就可以用了
ma1是ma的参数号码或bar
如果这样写法,他人不能更改参数
doublema1=1,ma2=2;
doublema1now,ma1now2,ma2now,ma2now2,ma1bnow,ma2bnow;
这样写法,他人可以更改参数
externdoublema1=1,ma2=2;
这个是要放在#property上面那边的
*其它指标的写法
macd1now=iMACD(NULL,0,macd1,macd1*2,1,PRICE_CLOSE,MODE_MAIN,0);
zigzag1now=iCustom(NULL,0,"ZigZag",2,deviation,backstep,0,0);
Highest1now=High[iHighest(NULL,0,MODE_HIGH,Highest1,0)];
Lowest1now=Low[iLowest(NULL,0,MODE_LOW,Lowest1,0)];
iTrend1now=iCustom(NULL,0,"iTrend",2,0,0,iTrend1,0,iTrend1,0,0,1);
wpr1now=iWPR(Symbol(),0,wpr1,0);
指标写法是不用记住的
网上可以找到很多指标的写法
*有了指标
我们可以更改我们的EA了
更改如下:
注意看看
刚刚的指标加在什么地方
什么位置
//+------------------------------------------------------------------+
//|MT4-EA制作速成班.mq4|
//|Copyright2007,MT4-EA制作速成班.|
//|http:
//www.MT4-EA制作速成班.net|
//+------------------------------------------------------------------+
#propertycopyright"Copyright2007,MT4-EA制作速成班."
#propertylink."http:
//www.MT4-EA制作速成班.net"
externdoublema1=1,ma2=2;
doublema1now,ma1now2,ma2now,ma2now2,ma1bnow,ma2bnow;
//+------------------------------------------------------------------+
//|expertinitializationfunction|
//+------------------------------------------------------------------+
intinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|expertdeinitializationfunction|
//+------------------------------------------------------------------+
intdeinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|expertstartfunction|
//+---------------------------------------------------------