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

 
yar4i писал(а) >>

Подскажите пожалуйста как вылечить ошибку,которая возникает при оптимизации эксперта: "There were 1 passes done during optimization, 1 results have been discarded as insignificant".

Надо снять галку "Пропустить бесполезные результаты" во вкладке "Результаты оптимизации"

 

To Integer

Это чтобы товарищ навсегда запомнил? :-)

 

To Integer

а у меня в результатах оптимизации ничего не появилось даже:(

использовал простейший советник из этой статьи Мой первый "грааль"

 
yar4i >>:

To Integer

а у меня в результатах оптимизации ничего не появилось даже:(

использовал простейший советник из этой статьи Мой первый "грааль"

А в простом прогоне сделки совершает?

 

Всем привет!

Господа-гуру, подскажите, пожалуйста- как можно выделить с помощью функции OrderSelect() или OrderHistoryTotal() последний закрытый ордер?

 

Подскажите пожалуйста!!!!!!!!

При компиляции советника выдаётся ошибка 'MagicNumber' - variable not defined C:\Program Files\MetaTrader - Alpari\experts\expertCCI_RSI.mq4 (40, 27).

Всё уже попробывал, не получается никак.......

//+------------------------------------------------------------------+
//|                                                expertCCI_RSI.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//---- input parameters
extern int       pCCI=14;
extern int       pRSI=14;
extern double    Lots=0.1;
extern int       MagicNamber=50001;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
  
bool CheckOrders(int Type)
{
 bool Result=True;
 for(int i=0;i<OrdersTotal();i++)
  if(OrderSelect(i,SELECT_BY_POS))
   if(OrderMagicNumber()==MagicNumber && OrderSymbol() == Symbol())
      if(OrderType()==Type)
        {
         if(Type==OP_BUY)
           if(!OrderClose(OrderTicket(),OrderLots(),Bid,0))
             Result=False;
         if(Type==OP_SELL)
           if(!OrderClose(OrderTicket(),OrderLots(),Ask,0))
             Result=False;
         } 
        else Result=False;
 return(Result); 
}
  
  
  
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
    double cci_0=iCCI(NULL,0,pCCI,1,0);
    double cci_1=iCCI(NULL,0,pCCI,1,1);
    double rsi_0=iRSI(NULL,0,pRSI,1,0);
    double rsi_1=iRSI(NULL,0,pRSI,1,1);
    
    if((cci_0 < cci_1 && cci_0 > 100) && (rsi_0 < rsi_1 && rsi_0 > 70))
     if(CheckOrders(OP_SELL))
      {
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
       
    if((cci_0 > cci_1 && cci_0 < -100) && (rsi_0 > rsi_1 && rsi_0 < 30))
     if(CheckOrders(OP_BUY))
      {
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }

//----
   return(0);
  }
//+------------------------------------------------------------------+
 
extern int       MagicNamber=50001;

 
xruss писал(а) >>

Всем привет!

Господа-гуру, подскажите, пожалуйста- как можно выделить с помощью функции OrderSelect() или OrderHistoryTotal() последний закрытый ордер?

// ищем самый последний закрытый ордер
for(i=OrdersHistoryTotal();i>=0;i--){
  if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){
    if(OrderSymbol()==Symbol()){
      if(OrderMagicNumber()==MagicNumber){
        if(OrderCloseTime()!=0){
          if(OrderCloseTime()>time){
            time=OrderCloseTime();
            tikcet=OrderTicket();
            profit=OrderProfit();
          }
        }
      }
    }
  }
}
 

To xrust:

))

а если я не использую magic number - что вместо него написать?

 
granit77 >>:

А в простом прогоне сделки совершает?

Сделки не заключались,там были проблемы с установкой стопов,потому что вылазит ошибка 130.

Покопался, и в итоге нашел что предустановлен был стоп в 100, поставил в 1000-все нормально.Правда оптимизация так и не работает:(

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