[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 519

 
다시 말하지만, 질문은 명확하지 않습니다. 차트에서 삭제하거나 Expert Advisor에서 계산하지 않습니까? 조건에 따라 비활성화 또는 ?. 어디에서 무엇으로 연결을 끊으십니까?
특정 질문에는 특정 답변이 신속하게 제공됩니다.
 
zhuki >> :
Опять вопрос непонятный. Уничтожить с графика или не считать в эксперте? Отключить по условию или ?. Отключить откуда и чем?
На конкретный вопрос будет конкретный ответ и быстро.

대기 중인 주문이 발생하는 즉시 표시기를 꺼야 합니다. 전문가를 세지 마십시오.

 
즉, 전문가에 포함되지 않습니다.
등대를 만드십시오. 주문하는 방법은 표시기를 참조하지 마십시오.
 
어떻게 신청하지 않습니까? 표시기는 지속적으로 데이터를 외부 파일에 덤프하고 EA는 이 데이터를 읽은 다음 주문을 하고 데이터를 다시 읽지만 그렇게 해서는 안 됩니다.
 
vlandex >> :
А как не обращаться? Данные индикатор выкидывает в внешний файл постоянно, эксперт считывает эти данные, потом выставляет ордера и опять считывает данные, а не должен.

사용

주문 총계 ( )
 
더 읽기...
 
이제 우리는 무엇이 필요한지 압니다.
전역 변수를 사용하십시오. 그렇다면 표시기는 카운트하지 않고 쓰지 않습니다. 그 반대.
 
vlandex >> :
Подробнее...

즉, 조건이 충족되면 지표를 고려하십시오.

if(OrdersTotal()==0){지표 계산}

 
그러나 그것을 명심하십시오
정수 주문 합계 ( )
미결 및 보류 중인 주문의 총 수를 반환합니다.
 

모두 좋은 저녁...

나는 OsMA 표시기를 변경하여 막대의 Sift 수에 대한 평균 값 ( Sift 대한 표시기의 모든 플러스 및 마이너스 값의 합계) 을 얻으려고 했습니다. 막대를 으로 나눈 )

그러나 어떤 이유로 선의 판독 값은 Sift 의 값에 의존하고 싶지 않습니다 ...

 //+------------------------------------------------------------------+
//|                                                         OsMA.mq4 |
//|                      Copyright © 2004, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property  copyright "Copyright © 2004, MetaQuotes Software Corp."
#property  link       "http://www.metaquotes.net/"
//---- indicator settings
#property  indicator_separate_window
#property  indicator_buffers 3
#property  indicator_color1  Silver
#property  indicator_color2  Red
#property  indicator_color3  ForestGreen
//---- indicator parameters
extern int FastEMA= 12 ;
extern int SlowEMA= 26 ;
extern int SignalSMA= 9 ;
extern int Sift= 20 ;
extern int Sift1= 100 ;
//---- indicator buffers
double      ind_buffer1[];
double      ind_buffer2[];
double      ind_buffer3[];
double      ind_buffer4[];
double      ind_buffer5[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- 2 additional buffers are used for counting.
   IndicatorBuffers( 3 );
//---- drawing settings
   SetIndexStyle( 0 , DRAW_HISTOGRAM , STYLE_SOLID , 3 );
   SetIndexDrawBegin( 0 ,SignalSMA);
   IndicatorDigits(MarketInfo( Symbol (),MODE_DIGITS)+ 2 );
//---- 3 indicator buffers mapping
   if (! SetIndexBuffer ( 0 ,ind_buffer1) &&
      ! SetIndexBuffer ( 1 ,ind_buffer2) &&
      ! SetIndexBuffer ( 2 ,ind_buffer3))
       Print ( "cannot set indicator buffers!" );
//---- name for DataWindow and indicator subwindow label
   IndicatorShortName( "OsMA(" +FastEMA+ "," +SlowEMA+ "," +SignalSMA+ ")" );
//---- initialization done
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Moving Average of Oscillator                                     |
//+------------------------------------------------------------------+
int start()
  {
   int limit;
   int counted_bars=IndicatorCounted();
//---- check for possible errors
   if (counted_bars< 0 ) return (- 1 );
//---- last counted bar will be recounted
   if (counted_bars> 0 ) counted_bars--;
   limit= Bars -counted_bars;
//---- macd counted in the 1-st additional buffer
   for ( int i= 0 ; i<limit; i++)
      ind_buffer2[i]= iMA ( NULL , 0 ,FastEMA, 0 , MODE_EMA , PRICE_CLOSE ,i)- iMA ( NULL , 0 ,SlowEMA, 0 , MODE_EMA , PRICE_CLOSE ,i);
//---- signal line counted in the 2-nd additional buffer
   for (i= 0 ; i<limit; i++)
      ind_buffer3[i]=iMAOnArray(ind_buffer2, Bars ,SignalSMA, 0 , MODE_SMA ,i);
//---- main loop
   for (i= 0 ; i<limit; i++)
      ind_buffer1[i]=ind_buffer2[i]-ind_buffer3[i];
//---- done
   for (i= 0 ; i<limit; i++)
      ind_buffer4[i]=(ind_buffer2[i]+ind_buffer3[i])/Sift;
//---------      
   for (i= 0 ; i<limit; i++)
      ind_buffer5[i]=(ind_buffer2[i]+ind_buffer3[i])/Sift1;
//---------      
   return ( 0 );
  }
//+------------------------------------------------------------------+