[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 158

 

например так для байстоп:

// Step изначально задан в пунктах
  op=MathMax(OrderOpenPrice()+Step*Point, Ask+MarketInfo(Symbol(), MODE_STOPLEVEL)*Point);
  op=NormalizeDouble(op, Digits)




 

Можно ли в эту строчку по Close поставить условие по индюку, что бы он закрывал ордера допустим по

MA>Bid

куда ее лучше вставить если это возможно, если да то правильно ли то что внизу?....


    if ((OrderType()==OP_BUY )&&MA>Bid) OrderClose (OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),slippage);//правильно ли это?
 
Как найти максимум/минимум предыдущего дня?
 
RocketTrend писал(а) >>
Как найти максимум/минимум предыдущего дня?
double HighDay=iHigh(NULL,PERIOD_D1,1);
double LowDay=iLow(NULL.PERIOD_D1,1);
 

что тут не правильно подскажите

//+------------------------------------------------------------------+
//| RSI+MA.mq4 |
//| Evgenio |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Evgenio"
#property link "http://www.metaquotes.net"

#property indicator_separate_window
#property indicator_minimum 20
#property indicator_maximum 80
#property indicator_buffers 2
#property indicator_color1 Yellow
#property indicator_color2 MediumOrchid
//---- input parameters
extern int per_rsi=6;
extern int per_ma=24;

//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
  SetIndexStyle(0,DRAW_LINE);
  SetIndexBuffer(0,ExtMapBuffer1);
  SetIndexStyle(1,DRAW_LINE);
  SetIndexBuffer(1,ExtMapBuffer2);
//----
  return(0);
  }
int start()
  {
  int d;
  int counted_bars=IndicatorCounted();
//----
  for (d=0; d==Bars-counted_bars-1; d++)
  {
  double ExtMapBuffer1[d]=iRSI(Symbol(),PERIOD_H1,per_rsi,PRICE_CLOSE,0);
  } 
  for (d=0; d==Bars-counted_bars-1; d++)
  {
  double ExtMapBuffer2[d]=iMAOnArray(ExtMapBuffer1,0,per_ma,0,MODE_EMA,0);
  } 
//----
  return(0);
  }
//+------------------------------------------------------------------+

вот лог компилятора не нравятся индексы и скобки посему ???

'd' - integer number expected C:\Program Files\MetaTrader - Alpari\experts\indicators\RSI+MA.mq4 (42, 25)
']' - comma or semicolon expected C:\Program Files\MetaTrader - Alpari\experts\indicators\RSI+MA.mq4 (42, 26)
'd' - integer number expected C:\Program Files\MetaTrader - Alpari\experts\indicators\RSI+MA.mq4 (46, 25)
']' - comma or semicolon expected C:\Program Files\MetaTrader - Alpari\experts\indicators\RSI+MA.mq4 (46, 26)


 

уже нашел ошибку спасибо за внимание 

 
1Rakso >>:

Можно ли в эту строчку по Close поставить условие по индюку, что бы он закрывал ордера допустим по

куда ее лучше вставить если это возможно, если да то правильно ли то что внизу?....



--

//----------------------------------------------------------------------
  for (int v=0; v<OrdersTotal(); v++)     { //задаем перебор ордеров      
      if (OrderSelect(v, SELECT_BY_POS, MODE_TRADES))  {//выбираем из откр. поз           
        if (OrderSymbol()==Symbol()&& OrderMagicNumber()==MagicNumber)   { 
//если символ соответствует графику 
// и магик соответствует заданному   
//-----------------------------------------------------                  
if (OrderType() == OP_BUY) { //если это - позиция БАЙ
      if( MA>Bid  )     {
           OrderClose(OrderTicket(),OrderLots(),Bid,3,Green); // закрываем позицию
                // return(0); // выходим
                }       
     }  
 //--------------------------------------------------------
if (OrderType() == OP_SELL) { //если это позиция СЕЛЛ
      if(MA<Bid )    {
                 OrderClose(OrderTicket(),OrderLots(),Ask,3,Green); // закрываем позицию
                // return(0); // выходим
                }       
     }  
 //-------------------------------------------------------                       
    }  // Symbol()  
  } // select
 } //total
 
rid >>:

--


rid! Спасибо, за помощь)


 
rid >>:

--

//----------------------------------------------------------------------
  for (int v=0; v<OrdersTotal(); v++)     { //задаем перебор ордеров      
      if (OrderSelect(v, SELECT_BY_POS, MODE_TRADES))  {//выбираем из откр. поз           
        if (OrderSymbol()==Symbol()&& OrderMagicNumber()==MagicNumber)   { 
//если символ соответствует графику 
// и магик соответствует заданному   
//-----------------------------------------------------                  
if (OrderType() == OP_BUY) { //если это - позиция БАЙ
      if( MA>Bid  )     {
           OrderClose(OrderTicket(),OrderLots(),Bid,3,Green); // закрываем позицию
                // return(0); // выходим
                }       
     }  
 //--------------------------------------------------------
if (OrderType() == OP_SELL) { //если это позиция СЕЛЛ
      if(MA<Bid )    {
                 OrderClose(OrderTicket(),OrderLots(),Ask,3,Green); // закрываем позицию
                // return(0); // выходим
                }       
     }  
 //-------------------------------------------------------                       
    }  // Symbol()  
  } // select
 } //total

1) А как сделать ее отключаемой, через внешние переменные?

2) Можно там задать так, что бы закрывался по ОrderClose первый открытый ордер, а последующие ордера 2, 3 итд не закрывались? Допустим открыл ордер Бай - это первый ордер, далее открываю еще один ордер бай - второй ордер, итд., и вот из этой серии ордеров закрывался бы только 1-й ордер по ОrderClose ?

 

привет, всем )))

Помогите.

mql4 только начал програмировать.

пишу эксперта..возник такой вопросик

как сделать так.

хочу чтоб эксперт у меня работал только по понедельникам. открывал только 1 ордер в понедельник если его закрыл то отключился до следуещего понедельника

у меня открылся новый бар в 9.00 в понедельник.

как определить цену открытия и запомнить в переменную? подскажите кому не лень

Причина обращения: