beton2011

 
Уровень 14

  Моя торговля


График торгового счета beton2011


Группа "Стол заказов MQL"

Рейтинг 2146



РЕКОМЕНДУЮ



Изменить советник MAExp

Можно попросить в этом советнике исправить направление открытие ордеров, просто надо что бы советник открывал ордера наоборот, если цена выше индикатора МА — продажи, если цена ниже индикатора МА — покупки.

Советник

MAExp-1.mq4 (4 Kb)
  • 0
  • Просмотров: 3063
  • 16 мая 2015, 11:00
  • beton2011
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
можно ли сделать советник по этому индикатору
Следующая запись в группе  
бу и трал
15 мая 2015
16 мая 2015

Брокер для ваших роботов, 15 лет на рынке

Комментарии (6)

+
0
Поменяю сегодня вечером или завтра утром
avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 16 мая 2015, 14:47
+
0
Не удержался поменял :) 




//+------------------------------------------------------------------+
//|                                                        MAExp.mq4 |
//|                                              Copyright 2014, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property description "Moving Average sample expert advisor"

#define MAGICMA  20131111
//--- Inputs
input double Lots          =0.1;
input int    MovingPeriod  =12;
input int    MovingShift   =6;
input int    Delta         =6;
input int    Slip          =30;
input int    Count         =100;
//+------------------------------------------------------------------+
//| Calculate open positions                                         |
//+------------------------------------------------------------------+
int Orders(string symbol)
  {
   int buys=0,sells=0;
//---
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
        {
         if(OrderType()==OP_BUY)  buys++;
         if(OrderType()==OP_SELL) sells++;
        }
     }
//--- return orders volume
   if(buys>0) return(buys);
   else       return(-sells);
  }
//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void OpenPos()
  {
   double ma;
   int    res;
//--- get Moving Average 
   ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
//--- sell conditions
   if(Bid>ma && Bid-ma<Delta*Point)
     {
      res=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,0,0,"",MAGICMA,0,Red);
      return;
     }
//--- buy conditions
   if(Ask<ma && ma-Ask<Delta*Point)
     {
      res=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,0,0,"",MAGICMA,0,Blue);
      return;
     }
//---
  }
//+------------------------------------------------------------------+
//| Check for close order conditions                                 |
//+------------------------------------------------------------------+
void ClosePos()
  {
   double ma;
//--- get Moving Average 
   ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
//---
   for(int i=0;i<OrdersTotal();i++)
      //+------------------------------------------------------------------+
      //|                                                                  |
      //+------------------------------------------------------------------+
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;
      //--- check order type 
      if(OrderType()==OP_BUY)
        {
         if(Bid>ma)
           {
            CloseAll();
           }
         break;
        }
      if(OrderType()==OP_SELL)
        {
         if(Ask<ma)
           {
            CloseAll();
           }
         break;
        }
     }
//---
  }
//+------------------------------------------------------------------+  
void CloseAll()
  {
   bool cl,sel;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      sel=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol())
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
           {
            if(OrderType()==OP_BUY) cl=OrderClose(OrderTicket(),OrderLots(),Bid,Slip,Blue);
            if(OrderType()==OP_SELL) cl=OrderClose(OrderTicket(),OrderLots(),Ask,Slip,Red);
           }
         Sleep(1000);
        }
     }
  }
//+------------------------------------------------------------------+
bool NewBar()
  {
   static datetime lastbar=0;
   datetime curbar=Time[0];
   if(lastbar!=curbar)
     {
      lastbar=curbar;
      return (true);
     }
   else
     {
      return(false);
     }
  }
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(NewBar())
     {
      if(Orders(Symbol())<=Count) OpenPos();
      ClosePos();
     }
//---
  }
//+------------------------------------------------------------------+

avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 16 мая 2015, 15:09
+
0
Спасибо :) 
avatar

  14  beton2011 Автор Сообщений: 895

  • 16 мая 2015, 20:09
+
0
а где измененный файл скачать то? скрин супер!
avatar

  2  russwill Сообщений: 63

  • 16 мая 2015, 20:43
+
0
Только код в окошке под скрином.
avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 16 мая 2015, 20:50
+
0
странно, который в окошке сливает, а тот что в шапке, дает немерянный профит, но только при установках по умолчанию, и только на М30,… его что оптимизировали?
avatar

  2  russwill Сообщений: 63

  • 16 мая 2015, 21:33

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий