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

 

안녕하세요 !

간단한 예부터 바로 시작하겠습니다 . 그렇지 않으면 설명하기 어려울 것입니다.

이중 결과()

{

이중 x = 입찰가;

리턴(x);

}

이중 결과_y ( )

{

이중 y = 입찰가;

반환(y);

}

하나로 합쳐야 합니다.

result ()는 한 함수 에서는 X로, 다른 함수에서는 Y로 필요합니다. 가능합니까? 그것을 하는 방법?

이중 결과() // ????

{

이중 x = 입찰가;

더블 y = 묻다 ; // 이것도 반환해야 함

리턴(x);

반환(y); // ???

}

 

아니요, 하나의 결과만 있을 수 있습니다. 참조로 값 전달:

 double _bid = 0 , _ask = 0 ;

Print (_bid, ":" ,_ask);

ResFunction(_bid,_ask);

Print (_bid, ":" ,_ask);


void ResFunction( double &x, double &y){
   x = Bid;
   y = Ask;
   return ;
}
 
abeiks :

안녕하세요 !

간단한 예부터 바로 시작하겠습니다 . 그렇지 않으면 설명하기 어려울 것입니다.

음, 두 경우 모두 동일한 값이 루틴(입찰가)에서 반환된다는 사실 때문에 이 두 함수 중 하나가 코드에서 제외될 수 있습니다. 반환된 값이 다른 경우 예를 들어 문자열에서 문자열을 수집할 수 있습니다. 서브루틴에서 이 두 값을 세미콜론과 같은 일종의 구분 기호로 구분하여 반환합니다. 그리고 문자열로 반환합니다. 다음으로 메인 코드에서 문자열에서 2개의 값을 추출하여 double로 변환합니다.
 

필요한 것을 이해할 수 있도록 서브루틴에 무언가를 전달하십시오.

 
abeiks :

안녕하세요 !

...

안녕하세요! 사람들이 이미 귀하의 질문에 대해 제안했기 때문에 저는 관심을 가질 것입니다. 2008년 의 챔피언 , 당신입니까?

그렇다면 "마드리드 법원의 비밀"을 모두 밝히지 않고 "비엔나 숲의 모든 이야기"를 말하지 않고 GRAIL을 당신의 의견으로 태우지 마십시오. 베일을 조금 들어 올리면... 할 수 있습니다 . 이 지점 에서 사람들에게 유용할 것입니다!

열심히 챔피언십을 준비하고 있습니다...

고맙습니다!

 
drknn :

함수를 선언할 때 변수를 0으로 설정한 이유를 말씀해 주시겠습니까? 여기 있습니다:


그래서 이런 식으로 호출할 때 명시적으로 설정되지 않은 경우 기본값으로 설정되는 것입니까, 아니면 제가 잘못한 것입니까?
 
Skydiver :

그래서 이런 식으로 호출할 때 명시적으로 설정되지 않은 경우 기본값으로 설정되는 것입니까, 아니면 제가 잘못한 것입니까?


모르겠어. 하지만 관심이 있어요. 내가 확인 할게요.

추신

공장!

 //+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start(){
   Alert ( "func1(100) вернула значение = " ,func1( 100 ), "  func1() вернула значение = " ,func1());
   return ( 0 );
}
//+------------------------------------------------------------------+
int func1( int i= 25 ){
         return (i);
}

 
Skydiver :
루프의 각 반복에서 각 값을 인쇄해 보십시오. 어레이 크기가 작기 때문에 데이터가 뒤죽박죽되지 않습니다.
 

동일한 기호의 열린 주문 간의 차이가 1 bar가 되도록 하는 방법은 무엇입니까?

 
GarKain :

동일한 기호의 열린 주문 간의 차이가 1 bar가 되도록 하는 방법은 무엇입니까?


포지션 오픈 시간과 현재 바 Time[0]의 오픈 시간을 비교할 필요가 있습니다. 포지션 오픈 시간이 바 오픈 시간보다 크거나 같으면 EA는 새로운 포지션을 열지 않습니다. 새 막대가 나타날 때 시간[0]은 값을 나중으로 변경하고 이러한 비교는 현재(새) 막대에서 아직 열리지 않은 위치를 보여주고 거래가 가능합니다.

그건 그렇고, 귀하의 질문은 2개의 하위 질문으로 더 나눌 수 있습니다.
1. 현재 바에서 포지션이 열렸고 마감에 성공했지만, 우리는 여전히 새로운 바를 기다리고 있습니다.
2. 현재 바에서 포지션이 열렸고 닫을 수 있었습니다. 그런 다음 같은 바에서 다시 포지션을 열 수 있습니다(즉, 1개의 바에서 동시에 1개의 포지션을 열 수 있음).