//+------------------------------------------------------------------+
//| Haiken Ashi-2.mq4 |
//| Copyright © 2009, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
extern int Okrug = 2; // Îêðóãëåíèå ÷èñëà ñ ïëàâàþùåé çàïÿòîé äî óêàçàííîé òî÷íîñòè
extern int ProcentOtSvobDepo = 1; // ïðîöåíò ðèñêà îò äåïîçèòà
extern double MinLot = 0.10; // ìèíèìàëüíûé ëîò äëÿ òîðãîâëè, åñëè ðàñ÷åòíûé ìåíüøå ìèíèìàëüíîãî ëîòà (çàâèñèò îò ñ÷åòà)
extern int MagicNumber = 888; // Ïî ýòîìó íîìåðó î4ðåíòèðóåòñÿ ýêñïåðò,
// êàæäûé ýêñïåðò îòêðûâàåò, ìîäèôèöèðóåò, óäàëÿåò ñâîè îðäåðà ñî ñâîèì MagicNumber
extern double Porog = 0.00050; // Ïîðîã íå áëèæå êîòîðîãî ìîæíî âûñòàâèòü îòëîæåííûé îðäåð
extern double SL = 0.00050; // StopLoss
extern double TP = 0.00100; // TakeProfit
extern double P = 0.00020; // Êîëè÷åñòâî ïóíêòîâ íà ïðîðûâ
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int ticket;
int err;
int q=0;
double L=iLow(NULL,NULL,1);
double H=iHigh(NULL,NULL,1);
double C=iClose(NULL,NULL,0);
double O=iOpen(NULL,NULL,0);
double Spred=MarketInfo(Symbol(),MODE_SPREAD)*Point;
double SvobDepo=NormalizeDouble(AccountBalance()-AccountMargin(),Okrug);
double Risk=NormalizeDouble((SvobDepo*ProcentOtSvobDepo/100),Okrug);
double Lot=NormalizeDouble(Risk/(SL/0.0001)*0.1,Okrug);
double Proverka1=H-C;
double Proverka2=C-L;
//===================== Îïðåäåëåíèÿ ëîòà è ðèñêà ===================================
if ( Lot < MinLot )
{
Lot=MinLot;
}
Comment( "\n","Äîïóñòèìûé ðèñê ",ProcentOtSvobDepo, "% = ",Risk," îò ñâîáîäíûõ ñðåäñòâ ",SvobDepo," â ëîòàõ = ",Lot);
//====================== ïðîâåðÿåì îðäåðà íà îòêðûòèå
for( q=0;q<OrdersTotal();q++)
{
if (OrderSelect(q, SELECT_BY_POS, MODE_TRADES) && OrderSymbol()==Symbol())
{
// ïðîâåðÿåì ïîçèöèè åñëè åñòü îòêðûòûå îðäåðà è ñðàâíèâàåì ïîêàçàòåëè ñ èíäèêàòîðîì
if (OrderType()==OP_BUYSTOP)
{
return(0);
}
if (OrderType()==OP_SELLSTOP)
{
return(0);
}
}
}
//======================= óñëîâèå íà ORDER BUY ===============================
if (Proverka1 >= Porog && Proverka2 >= Porog && O<H)
{
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,H+P+Spred,0,H+P-SL+Spred,H+P+TP+Spred,NULL,0,iTime( Symbol(), PERIOD_D1, 0 ) + 86400);
if (ticket==-1)
{
err=GetLastError();
Print("error(",err,")");
}
}
else
{
Comment("\n","Íå âîçìîæíî âûñòàâèòü OP_BUYSTOP",
"\n","Öåíà íå ñîîòâåòñòâóåò óñëîâèþ âõîäà â ðûíîê");
}
//================================ óñëîâèå íà ORDER SELL ====================
if (Proverka1 >= Porog && Proverka2 >= Porog && O>L)
{
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,L-P,0,L-P+SL,L-P-TP,NULL,0,iTime( Symbol(), PERIOD_D1, 0 ) + 86400);
if (ticket==-1)
{
err=GetLastError();
Print("error(",err,")");
}
}
else
{
Comment("\n","Íå âîçìîæíî âûñòàâèòü OP_SELLSTOP",
"\n","Öåíà íå ñîîòâåòñòâóåò óñëîâèþ âõîäà â ðûíîê");
}
}
//+------------------------------------------------------------------+
Comments