發表 外匯mt4 程式交易程式碼. for EURUSD. - 外匯
By Delia
at 2010-01-29T12:05
at 2010-01-29T12:05
Table of Contents
※ [本文轉錄自 Trading 看板]
作者: walking (巫龍王之說) 看板: Trading
標題: [心得]發表 外匯mt4 程式交易程式碼. for EURUSD.
時間: Fri Jan 29 12:03:30 2010
前幾天逛到的,抓來研究看看,
前1~2,用mt4跑測試,標的是 EURUSD ,績效卻是本金不斷遞減,
隨便改一些參數,以及小部分程式碼後,發現竟然是能穩定遞增.
測試數據小節,固定下 0.1 手. 時間範圍的選項:不打勾.
用H1跑,下單次數 150 多次,獲利約 500 左右.
用M5跑,下單次數約 100多次,獲利約300左右.
有些細節我還不是很清楚,算是拋磚引玉,有興趣的歡迎切磋.
// 改自網友 "聖杯" 的範例 by Andrew Chen ,於 高雄.台灣.
// [email protected]
// 2010/1/29
// 原文網址 http://articles.mql4.com/cn/570
// 原作者資訊 Sergey Kovalyov, Dnepropetrovsk (Ukraine),[email protected],ICQ 64015987, http://autograf.dp.ua/
extern int TakeP =11; // 獲利
extern int StopL = 66; // 止損
extern int Distan = 12;
extern int Cls = 25;
extern int period_MA=16;
extern int Prots = 0;
//--------------------------------------------------------------------------------------------
int
Nom_bl,
Nom_sl,
total,
bl = 0,
sl = 0,
b = 0,
s = 0;
//--------------------------------------------------------------------------------------------
double
OP,
SL,
TP,
dist,
Level,
OP_bl,
OP_sl,
cls,
MA,
spred,
Lot;
int init()
{
Level=MarketInfo(Symbol(),MODE_STOPLEVEL);
Level=(Level+1)*Point;
SL=StopL*Point;
TP=Takep*Point;
dist=Distan*Point;
cls=Cls*Point;
spred=Ask-Bid;
return;
}
int start()
{
//============================================================================================
total=OrdersTotal();
bl=0;
sl=0;
b=0;
s=0;
//--------------------------------------------------------------------------------------------
for (int i=total; i>=0; i--)
{
if (OrderSelect(i,SELECT_BY_POS)==true &&
OrderSymbol()==Symbol())
{
//--------------------------------------------------------------------------------------------
if (OrderType()==OP_BUY)
{
b =1;
Close_B(OrderTicket(),OrderLots());
}
//--------------------------------------------------------------------------------------------
if (OrderType()==OP_SELL)
{
s =1;
Close_S(OrderTicket(),OrderLots());
}
//--------------------------------------------------------------------------------------------
if (OrderType()==OP_BUYLIMIT)
{
OP_bl=NormalizeDouble(OrderOpenPrice(),Digits);
Nom_bl=OrderTicket();
bl=1;
}
//--------------------------------------------------------------------------------------------
if (OrderType()==OP_SELLLIMIT)
{
OP_sl=NormalizeDouble(OrderOpenPrice(),Digits);
Nom_sl=OrderTicket();
sl=1;
}
//--------------------------------------------------------------------------------------------
}
}
//--------------------------------------------------------------------------------------------
MA = iMA(NULL,0, period_MA, 0,MODE_LWMA, PRICE_TYPICAL, 0);
Open_order() ;
//============================================================================================
return;
}
void Close_B(int Nomber, double lots)
{
if (NormalizeDouble(Bid-OrderOpenPrice(),Digits)>=cls)
{
OrderClose( Nomber, lots, Bid, 1, Yellow);
b = 0;
}
return;
}
void Close_S(int Nomber, double lots)
{
if (NormalizeDouble(OrderOpenPrice()-Ask,Digits)>=cls)
{
OrderClose( Nomber, lots, Ask, 1, Yellow);
s = 0;
}
return;
}
void Open_order()
{
if (b==0 && bl==0)
{
OP=MA-dist;
if(OP>Ask-Level) OP=Ask-Level;
OP=NormalizeDouble(OP,Digits);
OrderSend(Symbol(),OP_BUYLIMIT, Lots(),OP,3,OP-SL,OP+TP,"",0,0,Blue);// Open
bl=1;
}
if (s==0 && sl==0)
{
OP=MA+spred+dist;
if(OP<Bid+Level) OP=Bid+Level;
OP=NormalizeDouble(OP,Digits);
OrderSend(Symbol(),OP_SELLLIMIT,Lots(),OP,3,OP+SL,OP-TP,"",0,0,Red);
sl=1;
}
return;
}
double Lots()
{
Lot=0.11;
return(Lot);
}
--
如果要看 有語法亮度的版本,可到
http://groups.google.com/group/forex_base/web/%E8%81%96%E6%9D%AF+a1
作者: walking (巫龍王之說) 看板: Trading
標題: [心得]發表 外匯mt4 程式交易程式碼. for EURUSD.
時間: Fri Jan 29 12:03:30 2010
前幾天逛到的,抓來研究看看,
前1~2,用mt4跑測試,標的是 EURUSD ,績效卻是本金不斷遞減,
隨便改一些參數,以及小部分程式碼後,發現竟然是能穩定遞增.
測試數據小節,固定下 0.1 手. 時間範圍的選項:不打勾.
用H1跑,下單次數 150 多次,獲利約 500 左右.
用M5跑,下單次數約 100多次,獲利約300左右.
有些細節我還不是很清楚,算是拋磚引玉,有興趣的歡迎切磋.
// 改自網友 "聖杯" 的範例 by Andrew Chen ,於 高雄.台灣.
// [email protected]
// 2010/1/29
// 原文網址 http://articles.mql4.com/cn/570
// 原作者資訊 Sergey Kovalyov, Dnepropetrovsk (Ukraine),[email protected],ICQ 64015987, http://autograf.dp.ua/
extern int TakeP =11; // 獲利
extern int StopL = 66; // 止損
extern int Distan = 12;
extern int Cls = 25;
extern int period_MA=16;
extern int Prots = 0;
//--------------------------------------------------------------------------------------------
int
Nom_bl,
Nom_sl,
total,
bl = 0,
sl = 0,
b = 0,
s = 0;
//--------------------------------------------------------------------------------------------
double
OP,
SL,
TP,
dist,
Level,
OP_bl,
OP_sl,
cls,
MA,
spred,
Lot;
int init()
{
Level=MarketInfo(Symbol(),MODE_STOPLEVEL);
Level=(Level+1)*Point;
SL=StopL*Point;
TP=Takep*Point;
dist=Distan*Point;
cls=Cls*Point;
spred=Ask-Bid;
return;
}
int start()
{
//============================================================================================
total=OrdersTotal();
bl=0;
sl=0;
b=0;
s=0;
//--------------------------------------------------------------------------------------------
for (int i=total; i>=0; i--)
{
if (OrderSelect(i,SELECT_BY_POS)==true &&
OrderSymbol()==Symbol())
{
//--------------------------------------------------------------------------------------------
if (OrderType()==OP_BUY)
{
b =1;
Close_B(OrderTicket(),OrderLots());
}
//--------------------------------------------------------------------------------------------
if (OrderType()==OP_SELL)
{
s =1;
Close_S(OrderTicket(),OrderLots());
}
//--------------------------------------------------------------------------------------------
if (OrderType()==OP_BUYLIMIT)
{
OP_bl=NormalizeDouble(OrderOpenPrice(),Digits);
Nom_bl=OrderTicket();
bl=1;
}
//--------------------------------------------------------------------------------------------
if (OrderType()==OP_SELLLIMIT)
{
OP_sl=NormalizeDouble(OrderOpenPrice(),Digits);
Nom_sl=OrderTicket();
sl=1;
}
//--------------------------------------------------------------------------------------------
}
}
//--------------------------------------------------------------------------------------------
MA = iMA(NULL,0, period_MA, 0,MODE_LWMA, PRICE_TYPICAL, 0);
Open_order() ;
//============================================================================================
return;
}
void Close_B(int Nomber, double lots)
{
if (NormalizeDouble(Bid-OrderOpenPrice(),Digits)>=cls)
{
OrderClose( Nomber, lots, Bid, 1, Yellow);
b = 0;
}
return;
}
void Close_S(int Nomber, double lots)
{
if (NormalizeDouble(OrderOpenPrice()-Ask,Digits)>=cls)
{
OrderClose( Nomber, lots, Ask, 1, Yellow);
s = 0;
}
return;
}
void Open_order()
{
if (b==0 && bl==0)
{
OP=MA-dist;
if(OP>Ask-Level) OP=Ask-Level;
OP=NormalizeDouble(OP,Digits);
OrderSend(Symbol(),OP_BUYLIMIT, Lots(),OP,3,OP-SL,OP+TP,"",0,0,Blue);// Open
bl=1;
}
if (s==0 && sl==0)
{
OP=MA+spred+dist;
if(OP<Bid+Level) OP=Bid+Level;
OP=NormalizeDouble(OP,Digits);
OrderSend(Symbol(),OP_SELLLIMIT,Lots(),OP,3,OP+SL,OP-TP,"",0,0,Red);
sl=1;
}
return;
}
double Lots()
{
Lot=0.11;
return(Lot);
}
--
如果要看 有語法亮度的版本,可到
http://groups.google.com/group/forex_base/web/%E8%81%96%E6%9D%AF+a1
Tags:
外匯
All Comments
By Donna
at 2010-02-02T20:33
at 2010-02-02T20:33
By Dinah
at 2010-02-07T00:31
at 2010-02-07T00:31
By Xanthe
at 2010-02-09T00:19
at 2010-02-09T00:19
By Christine
at 2010-02-12T01:55
at 2010-02-12T01:55
Related Posts
01/29 盤勢閒聊
By Cara
at 2010-01-29T07:45
at 2010-01-29T07:45
Re: 台灣有人用 基因規劃(GP/類似GA) 作外匯預測的嗎?
By Eden
at 2010-01-28T18:41
at 2010-01-28T18:41
01/28 盤勢閒聊
By Todd Johnson
at 2010-01-28T07:11
at 2010-01-28T07:11
台灣有人用 基因規劃(GP/類似GA) 作外匯預測的嗎?
By Agnes
at 2010-01-27T17:56
at 2010-01-27T17:56
01/27 盤勢閒聊
By Hardy
at 2010-01-27T07:34
at 2010-01-27T07:34