int MAGIC=35207814;
extern double lots=1;
//+------------------------------------------------------------------+
//| 下面定義start函數(shù),函數(shù)會在價格每次波動的時候運行。
//+------------------------------------------------------------------+
int start()
{
if(CalculateCurrentOrders(Symbol())==0)
//當前帳戶訂單為0時,繼續(xù)下面的代碼,也就是說,如果已經(jīng)成交了,即使出現(xiàn)信號也不會再次成交。
{
double
StopLoss;
double
TakeProft;
if(Signal()==-1)//賣出信號出現(xiàn)
{
StopLoss=Open[3];//設(shè)定止損第三根k線的開盤價
TakeProft=2*(Open[1]-Close[1]+Open[2]-Close[2]+Open[3]-Close[3])/Point;//設(shè)定止盈為前面三根k線總和的2倍
if(OrderSend(Symbol(),OP_SELL,lots,Bid,3,StopLoss,Bid-TakeProft*Point,0,MAGIC,0,Blue)<0)//如果賣出失敗
Alert("auto sell is
failed!---"+GetLastError());//彈窗報警并且顯示失敗代碼
else return(0);//交易成功就返回不執(zhí)行下面的代碼。
}
if(Signal()==1)//買入信號出現(xiàn)
{
StopLoss=Open[3];//設(shè)定止損第三根k線的開盤價
TakeProft=2*(Close[1]-Open[1]+Close[2]-Open[2]+Close[3]-Open[3])/Point;//設(shè)定止盈為前面三根k線總和的2倍
if(OrderSend(Symbol(),OP_BUY,lots,Ask,3,StopLoss,Ask+TakeProft*Point,0,MAGIC,0,Red)<0)//如果買入失敗
Alert("auto buy is failed!---"+GetLastError());//彈窗報警并且顯示失敗代碼
else
return(0);//交易成功就返回不執(zhí)行下面的代碼。
}
}
//----
return(0);
} |