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

 
tol64 :


)))) 아니요, 마술사를 떠나는 것이 좋습니다. 그리고 보류 중인 주문만 남겨둡니다.

더 정확하게는 필요한 마법을 남겨두세요. 그리고 여러 개의 Expert Advisors가 서로 다른 차트에서 사용되는 경우 수표에 기호도 포함해야 합니다. 그러나 나는 아직 그것에 도달하지 못했습니다. ))


일반적으로 기호와 마법이 확인됩니다. 기호는 다른 악기에서 마법이 변경되지 않도록 하지만 마법은 동일한 악기와 다른 시간 프레임에서 사용되지만 외부 변수로 출력되는 경우에만 마법을 확인할 수 있습니다.
 
말해봐, 중개인 언론 : 여름에는 0, 겨울에는 한 가지 색상으로?
 
FOReignEXchange :

나는 마법을 전혀 사용하지 않습니다. 여러 직책이 있지만. 티켓을 사용합니다. OrderSelect를 통해 확인하는 것이 훨씬 쉽습니다. 그리고 OrderSend 기능이 더 명확해집니다. 글쎄, 모든 사람은 자신의 필적의 주인입니다. 개인적으로 마술사 없이는 문제가 된 적이 없습니다.

티켓은 아무데도 가지 않습니다. 그는 편안합니다.

음, 확실히... :) 부분적으로 열린 포지션을 닫습니다. 그런 다음 이 위치에 대해 가지고 있는 티켓에 따라 정류장을 변경하거나 타십시오. 당신은 arivederchi를 가질 것입니다 ... :)

예: 로트 1.0과 티켓 #1이 있는 열린 위치가 있습니다. 이 포지션의 0.5랏을 청산하고 나머지 0.5랏을 시장에 남겨둘 필요가 있습니다.

DC 작업:

1. 포지션 #1은 전체 거래량(lot 1.0)으로 마감되었습니다.

2. 포지션 #2는 0.5랏의 거래량으로 오픈됩니다.

당신에게 그것은 모두 1번 포지션을 부분적으로 청산하고 나머지 부분은 시장에 남겨두는 것처럼 보입니다. 이 포즈에 대한 티켓 만 당신이 생각하는 것이 아닙니다 ...

 
FOReignEXchange :


이해하지 못하셨나요? 도움말을 보니 OrderSelect()가 조건을 사용합니다. 그리고 사실이 없으면 어디에서도 본 적이 없습니다.

if는 조건문입니다. 그리고 괄호 안에 조건이 있어야 합니다. 그게 더 논리적으로 보입니다. 차이가 없더라도.

러시아어 연설과 유추해 봅시다. IMHO - 연산자를 구어체 텍스트로 정신적으로 대체하여 코드를 읽는 것이 더 편리합니다.

 if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false ) break ;

여기에 있는 것:

주문 이 선택되지 않은 경우 주기를 중단합니다 .

지금:

 if ( !OrderSelect(i,SELECT_BY_POS,MODE_TRADES) ) break ;

여기가 더 편리합니다.

만약 주문을 선택하지 않았으므로 주기를 중단합니다 .

똑같은데 더 읽기 쉽습니다. 그리고 덜 쓰세요...

또한 초과분을 제거할 수 있으며 더 적은 수의 코드가 생성됩니다.

 if (!OrderSelect(i,SELECT_BY_POS)) break ;

왜요? 시장가 주문을 선택하고 기본 풀이 MODE_TRADES 이므로 OrderSelect() 함수 의 매개변수에서 생략할 수 있습니다.

아 어떻게... :)

 
artmedia70 :

아 어떻게... :)


)))

그래서. I have a morning, 좋은 아침입니다! ))

언뜻보기에뿐만 아니라 이해하지 못하는 또 다른 변칙이 있습니다. 가장 간단한 작업:

 double High_1  = NormalizeDouble (iHigh( Symbol (),Timeframe, 1 ), Digits );
double new_val = NormalizeDouble (High_1 + PlsMns_point* Point , Digits );

내가 보는 로그에서 :

그리고 말 그대로 거울 이미지에서 :

 double Low_1   = NormalizeDouble (iLow( Symbol (),Timeframe, 1 ), Digits );
 double new_val = NormalizeDouble (Low_1 - PlsMns_point* Point , Digits );

로그에서 이 "무화과"를 봅니다.

외부 변수 PlsMns_pointint 유형입니다. 함수에 전달되었습니다. 이 오해를 없애기 위해서는 어떻게 해야 할까요? ))

 

외부 변수 PlsMns_point는 int 유형입니다.

로그의 첫 번째 항목으로 판단하면 Double 유형 이고 int는 정수입니다.

 
Stells :

외부 변수 PlsMns_point는 int 유형입니다.

로그의 첫 번째 항목으로 판단하면 Double 유형이고 int는 정수입니다.


그리고 Point 를 곱하면 변형이 일어나는 것 같다. 그러나 나는 두 번 시도했기 때문에 문제가 아닙니다.

PS 네, 그리고 두 가지 동일한 옵션이 있습니다. 유일한 차이점은 미러 이미지입니다. 왜 그런 겁니까?

 

나는 당신이 이것을 가지고 있다고 생각하지 않습니다 :

Double Low_1 = NormalizeDouble (iLow( Symbol (),Timeframe, 1 ), Digits );

기록을 다운로드할 수 있습니다

 
tol64 :


)))

그래서. I have a morning, 좋은 아침입니다! ))

언뜻보기에뿐만 아니라 이해하지 못하는 또 다른 변칙이 있습니다. 가장 간단한 작업:

내가 보는 로그에서 :

그리고 말 그대로 거울 이미지에서 :

로그에서 이 "무화과"를 봅니다.

외부 변수 PlsMns_pointint 유형입니다. 함수에 전달되었습니다. 이 오해를 없애기 위해서는 어떻게 해야 할까요? ))

변수 High_1 및 Low_1의 값도 인쇄하십시오. 그리고 일반적으로 함수에서 직접 전달된 값을 인쇄하고, 반환된 값도 인쇄합니다. 그러면 춤을 어디서부터 시작해야 할지 분명해질 것입니다. 종종 완전히 예상치 못한 값을 취한다고 확신하는 변수가 있습니다. 그런 다음 오류가 발생합니다.
 

좋은 오후, 조언자의 오류로 인해 때때로 큰 값으로 막히는 로그 파일 의 볼륨을 변경할 수 있는 방법을 알려주십시오(조절, 지우기). 어드바이저가 직접 구현한 방법이 필요합니다.