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

 
granit77 :
당신, 분명히. 초안 또는 불완전한 코드. 표시기에 하드 설정이 있으며 코드에 외부 변수가 사용되지 않습니다.

Shaw 다운로드 - 거의 모든 것을 가져 왔습니다. 현재 좌표 잘라내기
 
Dersu :
Shaw 다운로드 - 거의 모든 것을 가져 왔습니다. 현재 좌표 잘라내기

미완성이지만 이 형태로 작동합니다. OBV와 평활선의 차이를 보여줍니다. 나는 무언가에 영향을 미치는 유일한 매개 변수 (스무딩 정도)를 가져 왔습니다. 더 이상 변경할 사항이 없습니다.

 //---- indicator settings
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Silver
//---- indicator parameters
extern int SignalSMA= 10 ;
//---- indicator buffers
double ind_buffer1[];
double ind_buffer2[];
double ind_buffer3[];
double ind_buffer4[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- 2 additional buffers are used for counting.
IndicatorBuffers( 4 );
//---- drawing settings
SetIndexStyle( 0 , DRAW_LINE );
SetIndexDrawBegin( 0 ,SignalSMA);
IndicatorDigits(MarketInfo( Symbol (),MODE_DIGITS)+ 2 );
//---- 3 indicator buffers mapping
if (! SetIndexBuffer ( 0 ,ind_buffer1) &&
! SetIndexBuffer ( 1 ,ind_buffer2) &&
! SetIndexBuffer ( 3 ,ind_buffer4) &&
! SetIndexBuffer ( 2 ,ind_buffer3))
Print ( "cannot set indicator buffers!" );
//---- name for DataWindow and indicator subwindow label
  IndicatorShortName( "OBV_M" );
//---- 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]= iOBV ( NULL , 0 , 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);
//ind_buffer4[i]=iMAOnArray(ind_buffer2,Bars,3,0,MODE_SMA,i);
}
//---- main loop
for (i= 0 ; i<limit; i++)
ind_buffer1[i]=ind_buffer2[i]-ind_buffer3[i];
//---- done
return ( 0 );
}
//+------------------------------------------------------------------+
 

Granit77님 감사합니다.

죄송합니다. 매개변수("OBV_M")를 놓쳤습니다.

일반적으로 상황을 이해하고 인식합니다.

그리고 당신의 첫 번째 코멘트는 모든 것을 설명합니다. 그는 저에게 지식을 주었습니다. 감사합니다.

 
확인됨 - 모든 것이 정상 작동합니다.
 

안녕하세요!

전문가 탭에서 "계정이 변경되어 전문가를 사용할 수 없습니다"라는 메시지를 받았습니다.

그 이유는 무엇입니까? 누구든지 이것을 볼 수 있습니까?


밝히기로 결정했습니다.

이러한 메시지는 동일한 DC의 두 터미널에서 수신되었습니다.

이 중 한 계정은 데모이고 두 번째 계정은 실제 계정입니다.

 
터미널에서 계정을 변경하면 기본적으로 어드바이저의 작업이 차단됩니다. 도구-설정-고문-계정 변경 시 조언자 비활성화에서 확인란의 선택을 취소합니다.
 
로저, 하지만 나는 계정을 바꾸지 않았다.
 
동일한 DC의 다른 터미널을 설치했기 때문일 수 있습니까?
 
가끔 지연을 생성하려고 할 때 오류 130 이 발생하는 이유를 알려주세요. 모든 것이 정지와 함께 정상인 것처럼 보이지만. 물론 고문은 시장에 가깝게 주문을 시도하고 있지만 130이 오류인 이유는 무엇입니까? 처리 방법은 무엇입니까?
 
TG :
때때로 내가 지연을 만들려고 할 때 오류 130을 쓰는 이유를 알려주세요. 모든 것이 정지와 함께 순서대로 보이지만. 물론 고문은 시장에 가깝게 주문을 시도하고 있지만 130이 오류인 이유는 무엇입니까? 처리 방법은 무엇입니까?
코드 좀 주시겠어요? 그리고 그들은 당신에게 오류를 찾을 것입니다 ... :)