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

 
Infinity :

예를 들어 1포인트의 계수를 잡았고 RSI가 해당 척도에서 50포인트를 통과했으며 50포인트를 통과했지만 실제로는 플랫이 있었습니다. 그리고 2포인트 캔들. 움직임의 힘도 있다. 이 경우 결정하기 때문에

가격이 한점 올랐습니다. RSI에서 일부 계산이 수행되었습니다. 값이 x로 변경되었습니다. 가격이 한 단계 더 올랐습니다. 표시기 값은 동일한 x만큼 다시 변경되어야 합니다. 인쇄를 시도하십시오 - 작동해야 합니다.
 
xrust :

내가 알기로는 지표선이 추세선을 교차할 때 거래 신호가 발생해야 하며 그 반대의 경우는 아닙니다. 추세선 위치의 이전 값을 정적 변수에 저장하고 변경되지 않은 경우 - 교차점 확인, 추세선의 위치가 변경된 경우 - 재설정...

고마워 루스탐. 좋은 생각! 그들은 올바르게 말합니다. 하나의 머리는 좋지만 몸통이 더 좋습니다 ... :)
 
artmedia70 :
고마워 루스탐. 좋은 생각! 그들은 올바르게 말합니다. 하나의 머리는 좋지만 몸통이 더 좋습니다 ... :)

안녕하세요 MT4에서 로그를 보는 방법을 알려주세요
 
LAIT123 :

안녕하세요 MT4에서 로그를 보는 방법을 알려주세요

아마, 글쎄, 그것은 매우 필요합니다 ... :) 또는 마우스가 붙어 있습니다 ...

MT4 위치 폴더/로그

MT4 위치 폴더\테스터\로그

나는 그것을 가지고있다 :

D:\Program Files\MetaTrader - E-Global TFG-account-1654729\logs

D:\Program Files\MetaTrader - E-Global TFG-account-1654729\tester\logs

 

주문이 실행된 후 데이터가 재설정되지 않는 이유를 알려주세요. 주문이 열려 있고 변수를 재설정 해야 하는지 확인하기 위해 if(tic1>0) 조건을 올바르게 작성했습니까?

 int NewOrder1( int Cmd, double Lot)
{ double TP= 0 ; //тейкпрофит
double SL= 0 ; //стоплосс
double PR= 0 ; //Цена
double LT= 0 ; //Лот
while (!IsTradeAllowed()) Sleep ( 100 );
if (Cmd==OP_BUYLIMIT)
   {PR=Ask- Point *h;
     if (TakeProfit> 0 ) TP=PR+TakeProfit* Point ;
     if (StopLoss> 0 ) SL=PR-StopLoss* Point ;
     if (Lot> 0 ) LT= 3 *Lot;}
int tic1= OrderSend ( Symbol (),Cmd,LT,PR, 3 ,SL,TP, 0 ,mag, 0 , CLR_NONE );
//-----------
if (tic1< 0 ) Print ( GetLastError ());

if (tic1> 0 ){
   bool b= 0 ,s= 0 , //соответственно бай или селл  
bs= 0 , // если закрытие по стоплоссу ордера бай
ss= 0 , // если закрытие по стоплоссу ордера sell
bt= 0 ,
st= 0 ; //      то же по ТП
double bl= 0 ,sl= 0 ; // лоты соответсвенно для бай и селл
}
//-----------
return (tic1);}
 
FoxUA :

주문이 실행된 후 데이터가 재설정되지 않는 이유를 알려주세요. 주문이 열려 있고 변수를 재설정해야 하는지 확인하기 위해 if(tic1>0) 조건을 올바르게 작성했습니까?

내 기억이 맞다면 이미 전역 수준에서 이러한 변수를 선언한 것입니다...

그리고 함수 내에서 새로운 방식으로 선언합니다.

 bool b= 0 ,s= 0 , //соответственно бай или селл  
bs= 0 , // если закрытие по стоплоссу ордера бай
ss= 0 , // если закрытие по стоплоссу ордера sell
bt= 0 ,
st= 0 ; //      то же по ТП
double bl= 0 ,sl= 0 ; // лоты соответсвенно для бай и селл
함수 내에서만 볼 수 있습니다. 함수가 종료되면 해당 값은 손실되고 전역 수준에서 선언된 값은 변경되지 않고 그대로 유지됩니다.
저것들. 함수 내부에 새 변수를 선언했고 변경하려는 변수는 함수 외부에 남아 있습니다.
위의 코드에서 bool과 double을 제거하십시오.
 
artmedia70 :
내 기억이 맞다면 이미 전역 수준에서 이러한 변수를 선언한 것입니다...

그리고 함수 내에서 새로운 방식으로 선언합니다.

함수 내에서만 볼 수 있습니다. 함수가 종료되면 해당 값은 손실되고 전역 수준에서 선언된 값은 변경되지 않고 그대로 유지됩니다.
저것들. 함수 내부에 새 변수를 선언했고 변경하려는 변수는 함수 외부에 남아 있습니다.
위의 코드에서 bool과 double을 제거하십시오.

제거하고 다시 컴파일하면 많은 오류가 발생합니다.

이러한 변화에

',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 4)
'=' - 할당 예상 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 2)
',' - 세미콜론이 필요함 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 4)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 4)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 8)
'=' - 할당 예상 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 6)
',' - 세미콜론이 필요함 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 8)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 8)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 5)
'=' - 할당 예상 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 3)
',' - 세미콜론이 필요함 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 5)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 5)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 5)
'=' - 할당 예상 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 3)
',' - 세미콜론이 필요함 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 5)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 5)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 5)
'=' - 할당 예상 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 3)
',' - 세미콜론이 필요함 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 5)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 5)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 5)
'=' - 할당 예상 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 3)
',' - 세미콜론이 필요함 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 5)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 5)

 
FoxUA :

제거하고 다시 컴파일하면 많은 오류가 발생합니다.

이러한 변화에

',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 4)
'=' - 할당 예상 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 2)
',' - 세미콜론이 필요함 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 4)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 4)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 8)
'=' - 할당 예상 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 6)
',' - 세미콜론이 필요함 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 8)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (143, 8)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 5)
'=' - 할당 예상 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 3)
',' - 세미콜론이 필요함 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 5)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (144, 5)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 5)
'=' - 할당 예상 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 3)
',' - 세미콜론이 필요함 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 5)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (145, 5)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 5)
'=' - 할당 예상 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 3)
',' - 세미콜론이 필요함 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 5)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (146, 5)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 5)
'=' - 할당 예상 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 3)
',' - 세미콜론 필요 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 5)
',' - 예기치 않은 토큰 C:\Program Files\Deltabank Trader 4\experts\test5.mq4 (148, 5)

함수 외부의 전역 수준에서 선언했습니까? 예, 쉼표 대신 ; 확실히 쉼표는 세미콜론으로 변경되지 않았습니다 ...
 

시민 여러분!

EA의 차트 창 외부에서 데이터에 액세스하는 방법을 알려주실 수 있습니까?

문제는 예를 들어 창의 최대 막대 수가 300으로 설정된 경우 다음과 같다는 것입니다.

1. iBarShift("EURUSD", 60,BarTime,false) 함수는 "BarTime" 값에 대해 300보다 큰 값을 반환하는 것을 완강히 거부합니다.

2. iOpen("EURUSD",60,i) 시리즈 를 참조하면 i>300에 대해 0을 제공합니다.

등.

어떻게든 극복할 수 있을까요?

 

이익이 예를 들어 20포인트일 때 손익분기 수준에서 한 번 중지하는 함수의 코드를 알려주십시오.

답변에 미리 감사드립니다 :)