[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 158

 

por ejemplo, así para bystop:

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




 

¿Es posible poner una condición en esta línea en Close para que un indicador cierre las órdenes en, digamos, el

MA>Bid

¿dónde se debe insertar si es posible, si es así lo que está abajo es correcto? ....


    if ((OrderType()==OP_BUY )&& MA>Bid) OrderClose (OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID), slippage);//правильно ли это?
 
¿Cómo puedo encontrar el máximo/mínimo del día anterior?
 
RocketTrend писал(а) >>
¿Cómo puedo encontrar el máximo/mínimo del día anterior?
double HighDay=iHigh(NULL,PERIOD_D1,1);
double LowDay=iLow(NULL.PERIOD_D1,1);
 

¿Qué pasa aquí?

//+------------------------------------------------------------------+
//| 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);
}
//+------------------------------------------------------------------+

aquí está el registro del compilador no como índices y paréntesis ¿por qué?

'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)


 

Ya he encontrado el error gracias por su atención

 
1Rakso >> :

¿Es posible poner una condición en esta línea en Close para que una orden sea cerrada por, digamos, un

¿dónde debe insertarse si es posible, si es así es correcto lo que hay debajo? ....



--

//----------------------------------------------------------------------
  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 >> :

--


>> : : : : : : : : : : : . >> gracias por la ayuda)


 
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) ¿Cómo hacer que sea conmutable, a través de variables externas?

2) ¿Puedo configurarlo de forma que la primera orden abierta se cierre y las siguientes órdenes 2, 3, etc. no se cierren? Supongamos que abro una orden de compra - esta es la primera orden, luego abro una orden de compra más - la segunda, etc. y luego de esta serie de órdenes sólo la primera orden sería cerrada por СorderClose?

 

Hola a todos ))))

Ayuda.

Acabo de empezar a programar mql4.

Escribir un asesor experto.

Tengo una pregunta: ¿Cómo lo hago?

Me gustaría que mi EA funcionara sólo los lunes. Me gustaría que abriera sólo 1 orden el lunes si lo cierro entonces se cierra hasta el lunes.

Tengo un nuevo bar abierto a las 9.00 el lunes.

¿Cómo puedo determinar el precio de apertura y almacenarlo en una variable?

Razón de la queja: