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

 
Urain писал(а) >>

가격과 설정된 손절매의 차이가 (마케팅 정보에서) Stop Level보다 큰지 확인하기 위해 bool 함수()를 작성합니다.

true 그렇지 않으면 false입니다.

그런 다음 주문을 열기 전에 if (function())를 확인하고 주문을 엽니다.


이 DC에 대한 정지 수준보다 30% 더 많은 정지 손실을 설정하면 왜 필요한가요?

호로시 >>

2번과 3번 항목이 잘못되었습니다. 맞습니다. 손절매와 매수시 이익실현은 매도에서 계산되고, 손절매와 매도 이익은 입찰에서 계산됩니다.
확인하기 쉽습니다. 옵션으로 이익을 얻을 때 얻을 수 있는 증가액을 계산하십시오. 포인트 차익을 얻는 것과 같지 않습니다. 그리고 제안된 버전에서는 정확히 일치합니다.


그래서 그대로 다시 했습니다-어쨌든 결과는 똑같고 가격의 정상화만 남겼습니다
그러나 테스터의 오류는 남아 있었고 가장 흥미로운 것은 모든 주문이 아니라 일부
10개 중 1개는 4107 오류를 냈고 나머지 9개는 오류가 없었습니다.

 

Помогите пожфлуйста с индикаторами: 1-й чтобы не убирал разметку на графике. 2-й чтобы лини старших ТФ были внешними на младших и чтобы можно было задать отоброжение(после того как задаешь отоброжение сразу все нормально пока не перещелкнешь ТФ,после этого все линии младших ТФ на старших)нии младших ТФ на старших)

 
잊어버렸다...
파일:
macd.rar  7 kb
 
2
파일:
multi.rar  9 kb
 
baltik писал(а) >>


이 DC에 대한 정지 수준보다 30% 더 많은 정지 손실을 설정하면 왜 필요한가요?


그래서 그대로 다시 했습니다-어쨌든 결과는 똑같고 가격의 정상화만 남겼습니다
그러나 테스터의 오류는 남아 있었고 가장 흥미로운 것은 모든 주문이 아니라 일부
10개 중 1개는 4107 오류를 냈고 나머지 9개는 오류가 없었습니다.


코드를 게시해 보겠습니다.
 
Noterday >> :
Народ, у меня проблема, причем никак не могу допетрить в чем дело, особо не пинайте.
Есть стандартный MACD, хочу в индикаторе отметить все пики столбцов (значками), вот код:
Таким образом я нарисовал все экстремумы в индикаторе. Всё ОК, НО!
Когда функцией Print я вывожу значения всех найденых пиков
то вот что выходит:
Я так понимаю что 2147483647 это нули или пустые значения?

글쎄, 아무도 도와주지 않을거야? :)

 
Noterday писал(а) >>

글쎄, 아무도 도와주지 않을거야? :)


MAX 및 MIN 배열에 문제가 있는 것 같습니다.
SetIndexBuffer() 함수에 의해 표시기 버퍼와 연결되어 있습니까?

 
그렇지 :)
 
Noterday писал(а) >>
그렇지 :)


IndicatorBuffers() 함수를 사용합니까?

 
전체 코드는 다음과 같습니다.
#property indicator_separate_window
#property indicator_buffers 4

#property indicator_color1 MediumPurple
#property indicator_color2 MediumPurple
#property indicator_color3 Green
#property indicator_color4 Red

#property indicator_width3 1
#property indicator_width4 1


extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;

double MMACD1[];
double SMACD1[];
double MAX[];
double MIN[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{

SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_LINE);

SetIndexStyle(2,DRAW_ARROW);
SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(2,119);
SetIndexArrow(3,119);

SetIndexDrawBegin(1,SMACD1);
IndicatorDigits(Digits+2);

SetIndexBuffer(0,MMACD1);
SetIndexBuffer(1,SMACD1);
SetIndexBuffer(2,MAX);
SetIndexBuffer(3,MIN);

IndicatorShortName("MACD("+FastEMA+","+SlowEMA+","+SignalSMA+")");
SetIndexLabel(0,"MACD");
SetIndexLabel(1,"Signal");

return(0);
}
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();

if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;

for(int i=0; i<limit; i++)
MMACD1[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);

for(i=0; i<limit; i++)
SMACD1[i]=iMAOnArray(MMACD1,Bars,SignalSMA,0,MODE_SMA,i);

for(i=0; i<limit; i++)
{
if(MMACD1[i+1] > MMACD1[i+2] && MMACD1[i+1] > MMACD1[i])
MAX[i+1] = MMACD1[i+1];

if(MMACD1[i+1] < MMACD1[i+2] && MMACD1[i+1] < MMACD1[i])
MIN[i+1] = MMACD1[i+1];
}

for(i=0; i<limit; i++)
{
if (MAX[i+1] != EMPTY_VALUE)
Print(MAX[i+1]);
}

return(0);
}
//+------------------------------------------------------------------+