MQL4 Dərsləri 14 : İlk Ticarət Robotumuz 4 -cü Hissə
Keçən dərslərimizdə yazdığımız bütün kodlar aşağıda göstərilmişdir.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//+------------------------------------------------------------------+ | |
//| Ders11.mq4 | | |
//| AFSHAR | | |
//| www.algotradingfx.blogspot.com | | |
//+------------------------------------------------------------------+ | |
#property copyright "AFSHAR" | |
#property link "www.algotradingfx.blogspot.com" | |
#property version "1.00" | |
#property strict | |
extern double TakeProfit=50; | |
extern double StopLoss=30; | |
extern int magicNumber=3233; | |
extern int Slippage=3; | |
extern color buyColor = clrBlue; | |
extern color sellColor = clrRed; | |
extern string comment="Example"; | |
extern double lotSize=.01; | |
input ENUM_APPLIED_PRICE app=PRICE_CLOSE; | |
input ENUM_MA_METHOD method=MODE_EMA; | |
extern int MA_Period_1=5; | |
extern int MA_Period_2=21; | |
double MA_1,MA_2,PREV_MA_1,PREV_MA_2; | |
double pips=Point; | |
//+------------------------------------------------------------------+ | |
//| Expert initialization function | | |
//+------------------------------------------------------------------+ | |
int OnInit() | |
{ | |
if(Digits==3 || Digits==5) | |
{ | |
pips=pips*10; | |
} | |
return(INIT_SUCCEEDED); | |
} | |
//+------------------------------------------------------------------+ | |
//| Expert deinitialization function | | |
//+------------------------------------------------------------------+ | |
void OnDeinit(const int reason) | |
{ | |
} | |
//+------------------------------------------------------------------+ | |
//| Expert tick function | | |
//+------------------------------------------------------------------+ | |
void OnTick() | |
{ | |
MA_1=iMA(NULL,0,MA_Period_1,0,method,app,1); | |
PREV_MA_1=iMA(NULL,0,MA_Period_1,0,method,app,2); | |
MA_2=iMA(NULL,0,MA_Period_2,0,method,app,1); | |
PREV_MA_2=iMA(NULL,0,MA_Period_2,0,method,app,2); | |
if(OrdersTotal()==0) | |
{ | |
if(MA_1>MA_2 && PREV_MA_1<PREV_MA_2 && isNewCandle()) | |
{ | |
int ticket=OrderSend(Symbol(),OP_BUY,lotSize,Ask,Slippage,Ask-(StopLoss*pips),Ask+TakeProfit*pips,comment,magicNumber,0,buyColor); | |
if(ticket==0)Print("Error buy order ",GetLastError()); | |
} | |
else if(MA_1<MA_2 && PREV_MA_1>PREV_MA_2 && isNewCandle()) | |
{ | |
int ticket=OrderSend(Symbol(),OP_SELL,lotSize,Bid,Slippage,Bid+(StopLoss*pips),Bid-(TakeProfit*pips),comment,magicNumber,0,sellColor); | |
if(ticket==0)Print("Error sell order ",GetLastError()); | |
} | |
} | |
} | |
//+------------------------------------------------------------------+ | |
//+------------------------------------------------------------------+ | |
bool isNewCandle() | |
{ | |
static datetime candletime=0; | |
if(candletime==Time[0]) | |
{ | |
return false; | |
} | |
else | |
{ | |
candletime=Time[0]; | |
} | |
return true; | |
} | |
//+------------------------------------------------------------------+ | |
//+------------------------------------------------------------------+ |
Bu gün isə yazdığmız proqramı Compile edib test edəcəyik. Bu EA proqramı MQL4 proqramlaşdırma dilinə aid vacib metodları öyrənmək məqsədi ilə yazılmışdır. Yazılmış olan bu proqram real hesabda tədbiq edilməsi düzgün deyildir.
Strategy Tester
Strategiya Testini açmaq Platformada aşağıdakı şəkildə göstərilmiş butonu seçin ( və ya qısa yol üçün CRL + R ).
Butonu seçdikdən sonra qarşınıza aşağıdakı kimi bir pəncərə çıxacağdır.
Strategy Testinin istifadəsi üçün bəzi qeydlər :
1. Expert Advisor sözünün qarşısından yazmış olduğunuz proqramın adını tapın.
2. Symbol bölməsində test edəcəyiniz valyuta cütlüyünü seçə bilərsiniz.
2. Symbol bölməsində test edəcəyiniz valyuta cütlüyünü seçə bilərsiniz.
3. Modelin Every Tick olaraq seçilmiş olduğuna diqqət yetirin.
4. Use date bölməsində test edəcəyiniz zaman aralığını qeyd edin.
5. Əgər Sizdə Visual mode görükmürsə qrafiki yuxarı doğru sürüşdürün.
6. Period bölməsində zaman intervalını seçin
7. Spead bölməsində Current yazısı olduğu kimi qalsın.
8. Expert Proporties bölməsində proqramın parametrlərini istəyinizə uyğun dəyişə bilərsiniz.
Bunları etdiyinizdən sonra Start butounu vurub experti test edə bilərsiniz. Göstərdiyiniz zaman intervalı bitdikdən sonra nəticələr haqqında bəzi məlumatlar Sizə göstəriləcəkdir.
Yorumlar
Yorum Gönder