f8ouw5h9llavxmd8_tg15n3usuurv

Author: Copyright � 2010, ������� ������� ����������
Price Data Components
Series array that contains close prices for each bar
Orders Execution
It automatically opens orders when conditions are reachedChecks for the total of open ordersIt Closes Orders by itself
Indicators Used
MACD Histogram
0 Views
0 Downloads
0 Favorites
f8ouw5h9llavxmd8_tg15n3usuurv
//+------------------------------------------------------------------+
//|                                              Òîðãîâëÿ ôóíòîì.mq4 |
//|                     Copyright © 2010, Äåìåõèí Âèòàëèé Åâãåíüåâè÷ |
//|                                             Vitalya_1983@list.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Äåìåõèí Âèòàëèé Åâãåíüåâè÷"
#property link      "Vitalya_1983@list.ru"

//---- input parameters
extern string    symbol="GBPUSD";
extern int       filter_mode=0;//ôèëüòðàöèÿ MACD. 1 - ïî òðåíäó, 2 - ïðîòèâ òðåíäà, 0 - îòêë
extern int       hour_for_open=6; // âðåìÿ ðàñ÷åòà íàïðàâëåíèÿ è îòêðûòèÿ îðäåðà
extern int       order_life=0; // â ÷àñàõ. 0 - îðäåðà çàêðûâàòüñÿ ïðèíóäèòåëüíî íå áóäóò (òîëüêî ñòîï èëè òåéê).
extern double    stoploss=190; //äóìàþ, îáúÿñíÿòü íå íàäî ))
extern double    takeprofit=370;
extern bool      enable_MM = false;//âêëþ÷àåòñÿ ìàíèìåíåäæìåíò (ðàçìåð ëîòà ñîðàçìåðåí îáúåìó ñâîáîäíîé ìàðæè
extern double    risk=0.001;//çíà÷åíèÿ ðèñêà (â ñîâîêóïíîñòè ñ êðåäèòíûì ïëå÷îì)

extern int       MACD_fast = 24; //çíà÷åíèÿ ñêîëüçÿùèõ äëÿ ðàñ÷åòà MACD
extern int       MACD_slow = 40;
extern int       magic     = 555;
double SL,TP,lot;
int current_time;
int hour_for_close;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   current_time = Hour();   
   hour_for_close = hour_for_open + order_life;
   if (hour_for_close > 23)
      {
      hour_for_close = hour_for_close - 24;
      }
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   if (current_time != Hour()&&Hour() == hour_for_open)
      {
      if (enable_MM)
         {
         lot = NormalizeDouble((risk*AccountFreeMargin())/AccountLeverage(),2);
         }
      else
         {
         lot = 0.1;
         }
      RefreshRates();
      double MACD = iMACD(symbol,60,MACD_fast,MACD_slow,1,0,0,0);
      double price_ask = NormalizeDouble(MarketInfo(symbol,MODE_ASK),Digits);
      double price_bid = NormalizeDouble(MarketInfo(symbol,MODE_BID),Digits);
      SL = stoploss;
      TP = takeprofit;
      if (Digits == 3 || Digits == 5)//ïîäãîíêà ïîä ïÿòèçíàê
         {
         SL = stoploss * 10;
         TP = takeprofit * 10;
         }
      if (price_ask>iClose(symbol,1440,1)&& ((MACD>0&&filter_mode==1)||(MACD<0&&filter_mode==2)||filter_mode==0))
         {
         OrderSend(symbol,OP_SELL, lot, price_bid , 100, price_ask + stoploss*Point, price_ask - takeprofit*Point ,0,magic,0,0);
         }
      if (Bid<iClose(symbol,1440,1)&& ((MACD<0&&filter_mode==1)||(MACD>0&&filter_mode==2)||filter_mode==0))
         {
         OrderSend(symbol,OP_BUY, lot, price_ask,100, price_bid - stoploss*Point, price_bid + takeprofit*Point ,0,magic,0,0);
         }
      }
   if (Hour() >= hour_for_close&&order_life !=0)
      {
      RefreshRates();
      MACD = iMACD(symbol,60,12,24,1,0,0,0);
      price_ask = NormalizeDouble(MarketInfo(symbol,MODE_ASK),Digits);
      price_bid = NormalizeDouble(MarketInfo(symbol,MODE_BID),Digits);
      for (int i = OrdersTotal()-1; i>=0; i--)
         {
         OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
         if(OrderType () == OP_SELL&&OrderSymbol()==symbol&&OrderMagicNumber() == magic)
            {
            OrderClose(OrderTicket(),OrderLots(),price_ask ,100,0);
            }
         if(OrderType () == OP_BUY&&OrderSymbol()==symbol&&OrderMagicNumber() == magic)
            {
            OrderClose(OrderTicket(),OrderLots(),price_bid ,100,0);
            }
         }
      }
   current_time = Hour();
//----
   return(0);
  }
//+------------------------------------------------------------------+

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---