포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 208

 
borilunad :
그런 다음 위를보고 수정하십시오!
부울 논리가 없다는 비난을 받았을 때 연산자에 추가 대괄호를 의미했습니다.
 
TG :

안녕하세요. 도움이 필요하다.

내 올빼미에서는 아래 MaxOrders 매개 변수에 의해 지정된 금액으로 일련의 주문을 엽니다. 예를 들어, 어떻게 보이는지 표시했습니다. 제비뽑기로 엄격하게 판단하지 마십시오.

1-order-lot=128

2-order-lot=256

3-order-lot=512

4-order-lot=1024

5-order-lot=2048

이것은 모두 테스터를 위한 것입니다.

MaxOrders = 5이고 5개의 주문이 열려 있습니다. 하지만 문제는 브로커 테스터에서 1000랏의 한도가 각각 4개와 5개로, 주문이 정상적으로 열리지 않는다는 점이다.

fxt 파일의 테스터에서 이 매개변수를 변경하는 방법을 찾기 위해 인터넷을 뒤적거렸지만 정확히 수행하는 방법을 찾지 못했습니다.

따라서 이 문제를 해결하기 위해 프로그래밍을 사용하기로 결정했습니다. 그리고 4개 주문에 대해 여러 주문을 열면 2개가 나옵니다.

4-order-lot=1000

4-order-lot=24

주문 5 3:

5-order-lot=1000

5-order-lot=1000

5-order-lot=48

그러나 두 가지 문제가 있습니다

- 최대 로트에 따라 로트로 분할되도록 MM을 올바르게 분할하는 방법

- 추가 주문을 여는 방법이지만 주문을 방해하지 않기 위해 MaxOrders보다 더 많은 주문이 있지만 볼륨을 준수하기 위해 열리는 추가 주문은 계산하지 않습니다.

아마도 여전히 부모와 자식 주문의 티켓이 등록되는 의견으로 상호 연결된 여러 위치를 열고 여러 위치를 열었을 것입니다. 1000권의 주문에는 24권의 주문 티켓 이 작성되어 있고, 여기에는 1000권의 주문 티켓이 각각 쓰여 있습니다. 그리고 같은 방법으로 닫고 수정해야 합니다. 무리와 함께 ... 또는 더 간단하게는 소액 계좌와 작은 제비. 시각적 추적을 위한 계산에서 필요한 값을 취하도록 로트에 요소를 곱합니다.

더 큰 볼륨을 허용하는 DC를 제외하고는 아무 것도 떠오르지 않습니다.

글쎄, 또는 ... 당신의 제비를 100으로 나누십시오

 
artmedia70 :

조건을 명확하게 설명하기 위해 부울 대수학의 전문가일 필요는 없습니다.

당신의 삶을 조금 더 쉽게 만들어 드리겠습니다... if 를 일반적인 if 로, elseelse 로, &&and 로, ||또는 등 ... 그러면 평범한 단어로 쓰여진 것을 읽거나 쓰고 싶은 것을 결정할 수 있습니다.

귀하가 작성한 내용(지금은 조건에 대한 잘못된 설명을 생략합니다):

1. if (ot==0) 시장가 주문이 없는 경우(시장가 주문이 전혀 없고, 시장가도 없고, 보류도 아니고, 이 EA, 다른 EA 또는 수동으로 열리지 않음)... 그렇다면 2행이 실행됩니다. , 그렇지 않은 경우 3행으로 이동합니다.

2. if (Bid==Price) 가격이 현재 캔들의 시가와 같으면... 그렇다면 3행이 실행되고, 그렇지 않으면 4행으로 이동합니다.

3. if(((Open[1]-Close[1])>100*Point)&&((Open[1]-Close[1])<120*Point)) 첫 번째 캔들의 시가가 더 클 경우 첫 번째 캔들의 종가보다 100포인트 이상 120포인트 미만... 그렇다면 4행이 실행되고, 그렇지 않으면 5행으로 이동합니다.

4. if(((High[1]-Open[1])>40*Point)&&((High[1]-Open[1])<60*Point)) 40점 이상 60점 미만.. 그렇다면 5행이 실행되고, 그렇지 않으면 6행으로 이동합니다.

5. if(((Close[1]-Low[1])>40*Point)&&((Close[1]-Low[1])<60*Point)) 첫 번째 캔들의 종가가 위에 있는 경우 첫 번째 캔들의 최저점은 40포인트 이상 60포인트 미만입니다... 그렇다면 6행이 실행되고, 그렇지 않으면 7행으로 이동합니다.

6.

7.

이 확장에서 볼 수 있듯이 코드의 모든 라인을 순차적으로 실행하거나(각각이 true를 반환하는 경우) 또는 false를 반환하는 라인 다음에 오는 라인을 건너뜁니다.

조건에서 혼동되지 않고 논리를 올바르게 구성하려면 한 행이 실제 값 뒤에 실행되어야 하는지 또는 전체 블록 뒤에 실행되어야 하는지 여부에 관계없이 모든 연산자를 중괄호로 묶습니다.

예를 들어:

따라서 위의 내용을 기반으로 코드를 구성 요소로 분해하고 이 경우 불필요한 추가 대괄호를 제거하십시오...

세세한 답변 정말 감사합니다. 쓰신 내용 이해하겠습니다.

 
solnce600 :
부울 논리가 없다는 비난을 받았을 때 연산자에 추가 대괄호를 의미했습니다.

아니오 - 필요한 곳에 중괄호가 없습니다. Expert Advisor에서 캔들 크기 검색을 위한 논리적 블록과 관련하여
 
solnce600 :

세세한 답변 정말 감사합니다. 쓰신 내용 이해하겠습니다.

나는 당신을 위해 코드를 수정하여 여전히 스톱으로 닫기를 추적합니다. 나는 당신을 위해 마법에 값을 할당했습니다. 직접 확인하지 않았습니다.
 

안녕하세요. 친애하는, 고문에서 그러한 조건을 구현하는 방법을 알려주십시오.

특정 조건에서 매시간 거래가 열리지만 4시간 차트의 조건이 충족되는 경우에만 거래가 열리도록 해야 합니다.

예를 들어, 평균이 시간별 차트에서 교차하는 경우 4시간 차트에서 다른 매개변수가 있는 평균이 동일한 방향으로 교차하는 경우 거래를 엽니다. 답변과 도움을 주시면 감사하겠습니다.

 
teplovoz :

안녕하세요. 친애하는, 고문에서 그러한 조건을 구현하는 방법을 알려주십시오.

특정 조건에서 매시간 거래가 열리지만 4시간 차트의 조건이 충족되는 경우에만 거래가 열리도록 해야 합니다.

예를 들어, 평균이 시간별 차트에서 교차하는 경우 4시간 차트에서 다른 매개변수가 있는 평균이 동일한 방향으로 교차하는 경우 거래를 엽니다. 답변과 도움을 주시면 감사하겠습니다.

첫 번째 및 두 번째 막대에 대해 H4에서 데이터를 얻기 위한 MA와 관련하여:

 double MA1_H4= iMA ( Symbol (), PERIOD_H4 ,ma_period,ma_shift,ma_method,appled_price, 1 );
double MA2_H4= iMA ( Symbol (), PERIOD_H4 ,ma_period,ma_shift,ma_method,appled_price, 2 );

첫 번째 막대와 두 번째 막대에 대해 H1에서 데이터를 가져오려면:

 double MA1_H1= iMA ( Symbol (), PERIOD_H1 ,ma_period,ma_shift,ma_method,appled_price, 1 );
double MA2_H1= iMA ( Symbol (), PERIOD_H1 ,ma_period,ma_shift,ma_method,appled_price, 2 );

유추하여 다른 기간 및 지표에 대해 수행하십시오.

 
artmedia70 :

첫 번째 및 두 번째 막대에 대해 H4에서 데이터를 얻기 위한 MA와 관련하여:

유추하여 다른 기간 및 지표에 대해 수행하십시오.



와. 나는 바보입니다. 자동차의 매개 변수에서 원하는 TF를 지정해야한다는 것이 밝혀졌습니다. 그게 다야? 감사합니다. 최근에는 두뇌가 작동을 거부합니다. :)
 
artmedia70 :
나는 당신을 위해 코드를 수정하여 여전히 스톱으로 닫기를 추적합니다. 나는 당신을 위해 마법에 값을 할당했습니다. 직접 확인하지 않았습니다.


다시. 큰 감사를 드린다.
 
괜찮아 누구나 가끔은 일어나는 일...