[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 262

 
yosuf:
Исправно работающий советник не выставляет ордера ровно 1 час, затем работает нормально еще 23 часа. "Перерыв" с 23 до 24 и снова работает. Хотя в настрйках прописано: HourStart 0, HourEnd 24.


Что Вы как маленький?

Приходят ли тики?

Если да, то производит ли советник попытки открыть ордер?

Если да, то какой номер тикета возвращает функция OrderSend()?

Если "-1", то какой код ошибки возвращает GetLastError()?

 
PapaYozh:


Что Вы как маленький?

Приходят ли тики?

Если да, то производит ли советник попытки открыть ордер?

Если да, то какой номер тикета возвращает функция OrderSend()?

Если "-1", то какой код ошибки возвращает GetLastError()?

 1. Приходят;

2. Производит, как обычно, причем, настойчиво;

3., 4. - теперь проверю по журналу.

Вспомнил, и на тестере не ставит ордера в этот период. 

Спасибо. 

 

Доброго времени уважаемые. Ранее программировал на С++ (институт лет 10 назад).

Нужна помощь в таком вопросе:

Алгоритм по условию открывает 2 отложенных ордера. Ордер BUYSTOP всегда первым, SELLSTOP после него.

Новый ТИК:

Как отследить есть ли уже рабочие ордера (BUY ? SELL ? BUYSTOP ? SELLSTOP ? ) ?

Как с приходом нового тика определить закрытие сработавшего ордера по TakeProfit + закрыть в таком случае противоположный ордер ( если такой еще есть )?

 

Здравствуйте.Подскажите пожалуйста код индикатора чтобы нарисовать вот такую линию или лучше луч по этим двум точкам.

 
silhouette: (с. 259)

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

Хочу сделать мультитаймфреймную МА, которая изменяет свой цвет при смене динамики. Отображение средней цены с других ТФ сделал, но как решить задачу со сменой цвета разобраться пока не получается.


И все-таки, может ли кто-нибудь подсказать идею или даже прямое руководство к действию?
 
Добрый день! Совершенно не чертит индикатор. Я не могу вычислить, в чем ошибка, все выглядит правильно написанным. Я ни знаю, что думать. Причем, примерно такой же код, без функции и нибольшого дополнения в конце, чертит!! Пожалуста, подскажите, может я что-то незнаю, не пойму, или просто как-то не вижу ошибку, которую и мог бы понять.
//+------------------------------------------------------------------+
//|                                            ИндюкДимонакомпил.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
#import "user32.dll"
   int   PostMessageA(int  hWnd,int  Msg,int  wParam,string lParam);
#import
#define WM_COMMAND                     0x0111
int delimiter = 0;

#property indicator_chart_window
double ВерхняячертаBuffer1[];
double НижняячертаBuffer2[];
double СинняячертаBuffer3[];
 double вершина; 
 double основание_первого_снижения;
 double начало;
 double вершина_волны_3;
 extern int T=4,K=200;
 int timeframe, start ;
 int бар_вершина ;
 int бар_основание_первого_снижения;
 int бар_начало;
int pereklutsatel;
double naklon,linija2; int P;extern int RO=1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
   int limit=Bars-counted_bars-1;

   for (int i=limit;i>=0;i--) {
//----
 for ( int J=0;J<=RO;J++){
//----

  // for(int i=Bars; i>=0;i--)
   i=Bars;
      бар_вершина=iHighest( NULL,  timeframe, MODE_HIGH, K, start ) ;
       вершина =High[ бар_вершина ];
       бар_основание_первого_снижения=iLowest( NULL,  timeframe, MODE_LOW,NormalizeDouble ( бар_вершина/2,0), start ) ;
       основание_первого_снижения=Low[ бар_основание_первого_снижения ];
       бар_начало=iLowest( NULL,  timeframe, MODE_LOW,NormalizeDouble (бар_вершина*1.5,0), бар_вершина ) ;
       начало=Low[ бар_начало ];
       
         
  if(начало>основание_первого_снижения){naklon=(начало-основание_первого_снижения)/(бар_начало-бар_основание_первого_снижения);
 
    НижняячертаBuffer2[бар_начало]=начало;linija2=начало;for(i=бар_начало-1;i>=0;i--){linija2=linija2-naklon;
   
    НижняячертаBuffer2[i]=linija2;
     
   }
    НижняячертаBuffer2[бар_основание_первого_снижения]=основание_первого_снижения;}
    
    
         for (i=0;i<100;i++){  СинняячертаBuffer3[i]= Open[i];}
          for (i=330;i<500;i++){  СинняячертаBuffer3[i]= Open[i];}

     ВерхняячертаBuffer1[бар_начало]=начало;
     
 double точка4; int бар_точка4;   бар_точка4=iHighest( NULL,  timeframe, MODE_HIGH, бар_основание_первого_снижения, 3 ) ; 
  точка4 =High[ бар_точка4 ];  
   
   if(вершина>точка4){naklon=(начало-точка4)/(бар_начало-бар_точка4);  
   double linija1=начало;for(i=бар_начало-1;i>=0;i--){linija1=linija1-naklon;ВерхняячертаBuffer1[i]=linija1; }}
   
double vulf=НижняячертаBuffer2[0];
  if ( vulf==Ask&&vulf==Bid)vulf=1;
  else{ for (vulf=vulf+Point*10; vulf==НижняячертаBuffer2[0];vulf=vulf-Point){
           if ( vulf==Ask&&vulf==Bid){vulf=1;}} 
      for (vulf=vulf-Point*10; vulf==НижняячертаBuffer2[0];vulf=vulf+Point){
           if ( vulf==Ask&&vulf==Bid)vulf=1;} 
              
           
           
           }
           
           
   if (vulf==1){Comment ("  Есть вульв!!! "  , "  timeframe " , timeframe);return(0);  }
    if (vulf!=1&&pereklutsatel==1) {    
   
     if(delimiter<3){delimiter++;Comment(delimiter);return(0);}
   delimiter=0;
    fChangePeriod();P++;
                                 
                   }  } }
//----
   return(0);
  }
//+------------------------------------------------------------------+

void fChangePeriod(){int ii,hwd = WindowHandle(Symbol(),Period());
   switch(Period()){
      case PERIOD_W1    : ii = 33134; break; //PERIOD_D1;
      case PERIOD_D1    : ii = 33136; break; //PERIOD_H4;
      case PERIOD_H4    : ii = 33135; break; //PERIOD_H1;
      case PERIOD_H1    : ii = 33140; break; //PERIOD_M30;
      case PERIOD_M30   : ii = 33139; break; //PERIOD_M15;
      case PERIOD_M15   : ii = 33138; break; //PERIOD_M5;
      case PERIOD_M5    : ii = 33137; break; //PERIOD_M1;
      case PERIOD_M1    : ii = 33141; break; //PERIOD_W1;
   }     
   PostMessageA(hwd, WM_COMMAND, ii, 0);
   return;
}
 
Dimka-novitsek:
Добрый день! Совершенно не чертит индикатор. Я не могу вычислить, в чем ошибка, все выглядит правильно написанным. Я ни знаю, что думать. Причем, примерно такой же код, без функции и нибольшого дополнения в конце, чертит!! Пожалуста, подскажите, может я что-то незнаю, не пойму, или просто как-то не вижу ошибку, которую и мог бы понять.

Конечно не чертит, у него ж нет индикаторных буферов.
 
Как нет??
 
Dimka-novitsek:
Как нет??


А где они?

Назовите хотябы один.

 
Щас, я вроде что-то понял.. Спасибо!!!!!!!!!!!!!!!!!!!!
Причина обращения: