Orders Execution
Indicators Used
0
Views
0
Downloads
0
Favorites
ytg_2MA_4Level
//+------------------------------------------------------------------+
//| ytg_2MA_4Level.mq4 |
//| Yuriy Tokman |
//| yuriytokman@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Yuriy Tokman"
#property link "yuriytokman@gmail.com"
/*
2 SMA ïåðâàÿ ñ ïàðàìåòðàìè 14 âòîðàÿ ñ 180
òàêæå åñòü ïàðàëëåëüíûå ëèíèè:
SMA 180 + 250 ïóíêòîâ ïî Y
SMA 180 + 500 ïóíêòîâ ïî Y
SMA 180 - 250 ïóíêòîâ ïî Y
SMA 180 - 500 ïóíêòîâ ïî Y
Ðàáîòàåò âîò òàê: ïðè ïåðåñå÷åíèå MA14 ëþáóþ ëèíèþ ïðîèñõîäèò ëèáî ïîêóïêà, ëèáî ïðîäàæà*/
extern string _____1_____ = "Òîðãîâûå íàñòðîéêè ";
extern int òåéê_ïðîôèò = 130;
extern int ñòîï_ëîññ = 1000;
extern int ëîòû = 1;
extern string _____2_____ = "Íàñòðîéêè èíäèêàòîðîâ ";
extern int ðàñ÷¸òíûé_áàð = 1;
extern int ïåðèîä_áûñòðîé_ÌÀ = 14;
extern int ìåòîä_áûñòðîé_ÌÀ = 2;//0-3
extern int öåíîâ_êîíñò_áûñòðîé_ÌÀ = 4;//0-6
extern int ïåðèîä_ìåäëí_ÌÀ =180;
extern int ìåòîä_ìåäëí_ÌÀ =2;//0-3
extern int öåíîâ_êîíñò_ìåäëí_ÌÀ =4;//0-6
extern string _____3_____ = "Íàñòðîéêè óðîâíåé ";
extern int âåðõíèé_1 = 500;
extern int âåðõíèé_2 = 250;
extern int íèæíèé_1 = 500;
extern int íèæíèé_2 = 250;
#include <stdlib.mqh> // Ñòàíäàðòíàÿ áèáëèîòåêà ÌÒ4
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
if(!IsDemo())
{
Comment("Âåðñèÿ òîëüêî äëÿ òåñòîâ");
return(0);
}
else Comment("Òåñòîâàÿ âåðñèÿ");
if(!ExistPositions())
{
if( GetSignal()==1)OpenPosition("",OP_BUY,ëîòû,Bid-ñòîï_ëîññ*Point,Ask+òåéê_ïðîôèò*Point);
if( GetSignal()==-1)OpenPosition("",OP_SELL,ëîòû,Ask+ñòîï_ëîññ*Point,Bid-òåéê_ïðîôèò*Point);
}
//----
return(0);
}
//+------------------------------------------------------------------+
int GetSignal()
{
double MA_1_0=iMA(Symbol(),0,ïåðèîä_áûñòðîé_ÌÀ,0,ìåòîä_áûñòðîé_ÌÀ,öåíîâ_êîíñò_áûñòðîé_ÌÀ,ðàñ÷¸òíûé_áàð);
double MA_1_1=iMA(Symbol(),0,ïåðèîä_áûñòðîé_ÌÀ,0,ìåòîä_áûñòðîé_ÌÀ,öåíîâ_êîíñò_áûñòðîé_ÌÀ,ðàñ÷¸òíûé_áàð+1);
double MA_2_0=iMA(Symbol(),0,ïåðèîä_ìåäëí_ÌÀ,0,ìåòîä_ìåäëí_ÌÀ,öåíîâ_êîíñò_ìåäëí_ÌÀ,ðàñ÷¸òíûé_áàð);
double MA_2_1=iMA(Symbol(),0,ïåðèîä_ìåäëí_ÌÀ,0,ìåòîä_ìåäëí_ÌÀ,öåíîâ_êîíñò_ìåäëí_ÌÀ,ðàñ÷¸òíûé_áàð+1);
int vSignal = 0;
if(MA_1_1<=MA_2_1&&MA_1_0>MA_2_0)vSignal = 1;//up
else
if(MA_1_1<=MA_2_1+âåðõíèé_1*Point&&MA_1_0>MA_2_0+âåðõíèé_1*Point)vSignal = 1;//up
else
if(MA_1_1<=MA_2_1+âåðõíèé_2*Point&&MA_1_0>MA_2_0+âåðõíèé_2*Point)vSignal = 1;//up
else
if(MA_1_1<=MA_2_1-íèæíèé_1*Point&&MA_1_0>MA_2_0-íèæíèé_1*Point)vSignal = 1;//up
else
if(MA_1_1<=MA_2_1-íèæíèé_2*Point&&MA_1_0>MA_2_0-íèæíèé_2*Point)vSignal = 1;//up
else
if(MA_1_1>=MA_2_1&&MA_1_0<MA_2_0) vSignal =-1;//down
else
if(MA_1_1>=MA_2_1+âåðõíèé_1*Point&&MA_1_0<MA_2_0+âåðõíèé_1*Point) vSignal =-1;//down
else
if(MA_1_1>=MA_2_1+âåðõíèé_2*Point&&MA_1_0<MA_2_0+âåðõíèé_2*Point) vSignal =-1;//down
else
if(MA_1_1>=MA_2_1-íèæíèé_1*Point&&MA_1_0<MA_2_0-íèæíèé_1*Point) vSignal =-1;//down
else
if(MA_1_1>=MA_2_1-íèæíèé_2*Point&&MA_1_0<MA_2_0-íèæíèé_2*Point) vSignal =-1;//down
return (vSignal);
}
//+----------------------------------------------------------------------------+
//| Àâòîð : Êèì Èãîðü Â. aka KimIV, http://www.kimiv.ru |
//+----------------------------------------------------------------------------+
//| Âåðñèÿ : 06.03.2008 |
//| Îïèñàíèå : Âîçâðàùàåò ôëàã ñóùåñòâîâàíèÿ ïîçèöèé |
//+----------------------------------------------------------------------------+
//| Ïàðàìåòðû: |
//| sy - íàèìåíîâàíèå èíñòðóìåíòà ("" - ëþáîé ñèìâîë, |
//| NULL - òåêóùèé ñèìâîë) |
//| op - îïåðàöèÿ (-1 - ëþáàÿ ïîçèöèÿ) |
//| mn - MagicNumber (-1 - ëþáîé ìàãèê) |
//| ot - âðåìÿ îòêðûòèÿ ( 0 - ëþáîå âðåìÿ îòêðûòèÿ) |
//+----------------------------------------------------------------------------+
bool ExistPositions(string sy="", int op=-1, int mn=-1, datetime ot=0) {
int i, k=OrdersTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (ot<=OrderOpenTime()) return(True);
}
}
}
}
}
}
return(False);
}
//+----------------------------------------------------------------------------+
//| Àâòîð : Êèì Èãîðü Â. aka KimIV, http://www.kimiv.ru |
//+----------------------------------------------------------------------------+
//| Âåðñèÿ : 13.06.2007 |
//| Îïèñàíèå : Îòêðûòèå ïîçèöèè. Âåðñèÿ ôóíêöèè äëÿ òåñòîâ íà èñòîðèè. |
//+----------------------------------------------------------------------------+
//| Ïàðàìåòðû: |
//| sy - íàèìåíîâàíèå èíñòðóìåíòà ("" - òåêóùèé ñèìâîë) |
//| op - îïåðàöèÿ |
//| ll - ëîò |
//| sl - óðîâåíü ñòîï |
//| tp - óðîâåíü òåéê |
//| mn - MagicNumber |
//+----------------------------------------------------------------------------+
void OpenPosition(string sy, int op, double ll, double sl=0, double tp=0, int mn=0) {
color clOpen;
double pp;
int err, ticket;
if (sy=="") sy=Symbol();
if (op==OP_BUY) {
pp=MarketInfo(sy, MODE_ASK); clOpen=Green;
} else {
pp=MarketInfo(sy, MODE_BID); clOpen=Red;
}
ticket=OrderSend(sy, op, ll, pp,5, sl, tp, "", mn, 0, clOpen);
if (ticket<0) {
err=GetLastError();
Print("Error(",err,") open ",GetNameOP(op),": ",ErrorDescription(err));
Print("Ask=",Ask," Bid=",Bid," sy=",sy," ll=",ll,
" pp=",pp," sl=",sl," tp=",tp," mn=",mn);
}
}
//+----------------------------------------------------------------------------+
//| Àâòîð : Êèì Èãîðü Â. aka KimIV, http://www.kimiv.ru |
//+----------------------------------------------------------------------------+
//| Âåðñèÿ : 01.09.2005 |
//| Îïèñàíèå : Âîçâðàùàåò íàèìåíîâàíèå òîðãîâîé îïåðàöèè |
//+----------------------------------------------------------------------------+
//| Ïàðàìåòðû: |
//| op - èäåíòèôèêàòîð òîðãîâîé îïåðàöèè |
//+----------------------------------------------------------------------------+
string GetNameOP(int op) {
switch (op) {
case OP_BUY : return("Buy");
case OP_SELL : return("Sell");
case OP_BUYLIMIT : return("Buy Limit");
case OP_SELLLIMIT: return("Sell Limit");
case OP_BUYSTOP : return("Buy Stop");
case OP_SELLSTOP : return("Sell Stop");
default : return("Unknown Operation");
}
}
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---