[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 158

 

例如,如此为bystop。

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

是否有可能在这一行的 "关闭 "上设置一个条件,让订单被关闭,比如说,一个

如果可能的话,应该在哪里插入,如果是的话,下面的内容是否正确?....



--

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

--

//----------------------------------------------------------------------
  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)我能否以这样的方式设置,即第一个开放的订单将被关闭,而接下来的订单2、3等将不会被关闭?假设我开了一个买入订单--这是第一个订单,然后我又开了一个买入订单--第二个,等等,然后在这一系列的订单中只有第一个订单会被СorderClose关闭?

 

大家好,))))

帮助。

mql4刚刚开始编程。

我正在写一个专家顾问。

我有一个问题:我如何做到这一点。

我想让我的EA只在周一工作。我想让它在周一只开一个订单,如果我关闭它,那么它就会关闭到周一。

我有一个新的酒吧在星期一9.00开放。

我如何确定开盘价 并将其存储在一个变量中?

原因: