[ARCHIVE!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4. - 페이지 185

 

안녕하세요.

얼마 전 MT4 작업 창에 TRIX MTF 유형의 표시기를 표시할 때 막대가 추가로 나타났습니다. 외국 포럼 중 하나에서 알게 된 것처럼 이것은 MT4의 최신 릴리스에서 발생합니다.

이 문제를 해결하기 위해 (귀하의 지시에 따라) 스스로 조치를 취할 수 있습니까, 아니면 이 효과가 MT4의 향후 릴리스에서 수정될 것입니까?

진심으로, Evgeny. 412500@gmail. 컴; 4125er@gmail.com

 
Craft :

안녕하세요.

배열에서 가장 높은 클로저를 찾는 방법을 알려주세요.

이중 hc = iClose(NULL, 0, iHighest(Symbol(), 0, MODE_HIGH, PERIOD_M1, kk));

이렇게 하는 건가요 아니면 제가 잘못한 건가요?

"최고 마감"에 대한 검색은 답을 찾지 못했습니다.

어쩌면 그렇게:

 string sym; int PER= 1 ; //таймфрейм
//+------------------------------------------------------------------+
//| script program                                                   |
//+------------------------------------------------------------------+
int init(){sym= Symbol (); return ( 0 );}
int start(){ int bar= iHighest (sym,PER,MODE_CLOSE, iBars (sym,PER)- 1 , 0 );
   double hc= iClose ( NULL ,PER,bar); Print (sym, " PERIOD_M" ,PER, "  max_close =" ,hc, "  Time =" ,
   TimeToStr ( iTime ( NULL ,PER,bar),TIME_DATE|TIME_MINUTES)); return ( 0 );}
//+------------------------------------------------------------------+
 
MikeM :
시간[i] - 차트의 i번째 막대에 해당하는 시간입니다.
차트의 "내일" 데이터에 대해서는 전혀 이해하지 못했습니다. 이것들은 어디에 표시됩니까? 난 우우우우우우우우우우우우우우우우우우우우!!!

이것은 내 지표의 아주 오래된 버전입니다...
아래는 원시 버전의 사진입니다. 여기서는 화살표를 거기에 배치해야 할 때까지 막대를 세었습니다. 그러나 이것은 올바른 옵션이 아닙니다. 왜냐하면 휴일은 부부가 될 수 있으며 거래 세션과이 상품의 시간 (이 경우 저축 은행)

지금 나는 코드를 완전히 다시 작성했고 괜찮기를 원합니다 ...

내가 얻고 싶은 것 =) 위치를 확인하기 위해 마지막 파란색 화살표 아래의 x축에 시간 값.

새 버전에서는 표시기 배열에 X축(시간)을 따라 다음 화살표를 찾는 방법과 가격에 대한 정보가 있습니다. 나 아름답게 하는 방법

구버전 스크린샷...

~와 함께

 
스레드가 질문에 전혀 대답하지 않는 사람)
 

안녕하세요. 이러한 조건에서 주문 수준을 통해 자동차의 통과가 열리지 않는다고 알려주십시오. 여기서 무슨 문제가 있습니까?

 double Mash_Price_1= iCustom ( NULL , 0 , "mashka" , 0 , 0 );
double Mash_Price_2= iCustom ( NULL , 0 , "mashka" , 0 , 1 );
double Mash_Price_3= iCustom ( NULL , 0 , "mashka" , 0 , 2 );

double Max_1,Max_2; //уровень цены 

if (Mash_Price_1>Max_1 && Mash_Price_2==Max_1 && Mash_Price_3<Max_1 || 

Mash_Price_1>Max_1 && Mash_Price_2 < Max_1 && Mash_Price_3<Max_1 ||

Mash_Price_1>Max_1 && Mash_Price_2==Max_1 && Mash_Price_3==Max_1)
{
Opn_B=true;
Opn_S=false;
}
if (Mash_Price_1<Min_1 && Mash_Price_2==Min_1 && Mash_Price_3>Min_ 1 ||
Mash_Price_1<Min_1 && Mash_Price_2 > Min_1 && Mash_Price_3>Min_1 ||
Mash_Price_1<Min_1 && Mash_Price_2==Min_1 && Mash_Price_3==Min_1)
{
Opn_B=false;
Opn_S=true;
}
}



while (true)
{
if (Total== 0 && Opn_B==true)
{
RefreshRates ();
SL=Bid-New_Stop(StopLoss)* Point ;
TP=Bid+New_Stop(TakeProfit)* Point ;
Print ( "Попытка открыть Buy. Ожидаем ответа..." );
Ticket= OrderSend (Symb,OP_BUY,Lts,Ask, 2 ,SL,TP);
if (Ticket> 0 )
{
Print ( "Открыт ордер Buy " ,Ticket);
return ;
}
if (Fun_Error( GetLastError ())== 1 )
continue ;
return ; 
}

if (Total== 0 && Opn_S==true)
{
RefreshRates ();
SL=Ask+New_Stop(StopLoss)* Point ;
TP=Ask-New_Stop(TakeProfit)* Point ;
Print ( "Попытка открыть Sell. Ждем ответа..." );
Ticket= OrderSend (Symb,OP_SELL,Lts,Bid, 2 ,SL,TP);
if (Ticket> 0 )
{
Print ( "Открыт ордер Sell " ,Ticket);
return ;
}
if (Fun_Error( GetLastError ())== 1 )
continue ;
return ;
}
 
deyron :

안녕하세요. 이러한 조건에서 주문 수준을 통해 자동차의 통과가 열리지 않는다고 알려주십시오. 여기서 무슨 문제가 있습니까?


코드를 삽입 하는 SRC 버튼이 있습니다.

이 변수에 대해 무엇을 가지고 있습니까?

 double Max_1,Max_2; //уровень цены 
 
int Bar_Beg = iBarShift ( Symbol (), 0 ,Cur_Beg,false); //начальный бар
int Bar_End = iBarShift ( Symbol (), 0 ,Cur_End,false); //конечный бар
int Dif_Bar = Bar_Beg - Bar_End; //Разница баров для расчетов Мах и Мин

int High_1 = iHighest ( Symbol (), 0 ,MODE_HIGH,Dif_Bar,Bar_End); //Максимальное значение бара
int Low_1 = iLowest ( Symbol (), 0 ,MODE_HIGH,Dif_Bar,Bar_End); //Минимальное значение бара

Max_1=High[High_1];
Min_1=Low[Low_1];

A 마샤=(높음[i]+낮음[i])/2;

 
deyron :

다음은 Min_1 레벨의 마샤입니다.

다음과 같은 경우 옵션이 있습니다.


녹색 Max_1,

역사에서

Max_1 = 1.5485 Min_1 = 1.5461 Mash_Price_1 = 1.5496 Mash_Price_2 = 1.5495 Mash_Price_3 = 1.549

어떤 방향으로 byaka를 찾을 수 있습니까?

오류 처리 를 시도 했습니까?
 
주문을 열려고 시도한 경우 메시지에 표시됩니다. 주문을 열려고 시도하지 않으면 오류는 어디에서 발생합니까? 문제는 마샤가 레벨을 통과하기 위한 조건의 정확성입니다. 하드 코딩된 매개변수를 사용하면 주문이 예상보다 훨씬 늦게 열리는 이유가 무엇입니까?
 

문제.

조건이 실패하는 이유

if(Close_1>Open_1 && ( Close_1-Open_1)>=30*Point) 버퍼[i]=High_1;

예제는 조건부입니다. \

모든 것을 찾습니다... 하지만 포인트 단위의 크기는 아닙니다... 댓글 을 통해 확인(tratata, 5);

저것들. if(Close_1>Open_1) 조건은 괜찮아 보이지만 조건( Close_1>Open_1 && Close_1-Open_1)>=30*Point)이(가) 아닌 이유는...!!!

내가 무엇을 잘못하고 있지???

미리 감사드립니다!!!))):