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

 
solnce600 :

도와주셔서 감사합니다. 산소를 마시러 가서 조언을 해독하겠습니다.

좀 더 구체적인 힌트를 주거나 내 코드의 일부를 수정할 수 있습니다.

그러면 그것은 내 두뇌에 단단히 자리 잡을 것이고 나는 더 이상 같은 갈퀴를 밟지 않을 것입니다.

고맙습니다.



부품을 수정하려면 기술 사양을 작성해야 합니다. 준비가 되셨습니까?
 
ALXIMIKS :

이러한 질문, OrderSelect를 선택할 때 주문 기록에서 마지막으로 마감된 주문은 무엇입니까?

1) 0 "0";

2) 마지막 "OrderHystoryTotal -1"

3) 랜덤

4) 오더 오픈 시간에 따라 다름

이것이 목록에 있는 주문이 정확히 어떻게 되는지 확신합니까? 그리고 어느 불쾌한 순간에 역사가 뒤섞이고 그 안의 순서가 다르게 배열되기 시작한다면? 가장 신뢰할 수있는 방법은 머리의 가상 가정에 따르지 않고 시간에 정확하게 극단을 찾는 것입니다 ...

테스터를 위해 장난감을 만드는 것과 실생활에서 일하는 것은 완전히 별개의 일입니다. "갑자기" 일어날 수 있는 모든 가능한 나쁜 일을 고려하는 데 즉시 익숙해지도록 하십시오 ...

 
ALXIMIKS :

이러한 질문, OrderSelect를 선택할 때 주문 기록에서 마지막으로 마감된 주문은 무엇입니까?


https://www.mql5.com/ru/forum/131859/page4#434227
 
solnce600 :

내 예와 관련하여 "손가락으로"를 설명하면 매우 감사하겠습니다.

내 논리에 무슨 문제가 있습니까? 나는 위태로운 것이 무엇인지 이해하지 못합니다.

고맙습니다.



if ( your_first_condition )

{

// 여기에있을 것입니다

// 실행하다

// 모두

// 이것들

// 다음 경우에만 행

// Your_first_condition 이 참입니다.

}

// 이 행은 어쨌든 실행됩니다.



if ( your_second_condition )

// 이 줄은 your_second_condition 이 true인 경우에만 실행됩니다.

// your_second_condition 이 false를 반환하더라도 이 행은 어쨌든 실행됩니다.

// your_second_condition 이 false를 반환하더라도 이 행은 어쨌든 실행됩니다.


 
Vinin :

부품을 수정하려면 기술 사양을 작성해야 합니다. 준비가 되셨습니까?
아직 아님.
 
artmedia70 :

이것이 목록에 있는 주문이 정확히 어떻게 되는지 확신합니까? 그리고 어느 불쾌한 순간에 역사가 뒤섞이고 그 안의 순서가 다르게 배열되기 시작한다면? 가장 신뢰할 수있는 방법은 머리의 가상 가정에 따르지 않고 시간에 정확하게 극단을 찾는 것입니다 ...

테스터를 위해 장난감을 만드는 것과 실생활에서 일하는 것은 완전히 별개의 일입니다. "갑자기" 일어날 수 있는 모든 가능한 나쁜 일을 고려하는 데 즉시 익숙해지도록 하십시오 ...


질문을 조금 잘못 썼습니다 :(

열기 전에 매번 마감된 모든 주문을 정렬하는 것은 매우 논리적이지 않습니다.

무엇을 할 수 있습니까? NU 는 마지막으로 마감된 주문에 대한 데이터를 파일에 쓰고 마감된 총 주문 수가 변경되면 업데이트합니다. (이미 약간의 절약)

그리고 만약 역사에 1000개의 주문이 있고 5000개가 있다면. 주문의 역사는 지워진 적이 있습니까, 아니면 영원합니까? 그렇다면 누구에 의해? 수량에 제한이 있나요?

히스토리의 증가와 함께 열거에 소요되는 시간의 증가를 고려하여 마지막으로 마감된 주문을 OrderSelect의 어느 부분에 작성할 것인지 질문했습니다.

검색 깊이를 좁히고 싶습니다.

 
digits :

안녕하세요.

내 전략은 스프레드 값을 고려하며 스프레드는 다음 기능에 의해 결정됩니다.

하지만 전략 테스터의 스프레드는 일정하기 때문에 랜덤 스프레드 에뮬레이터가 필요했습니다. 테스터에서 확산 변화를 에뮬레이트하기 위해 80%의 경우에서 2에서 3포인트(4자리) 범위, 20%에서 3포인트 이상입니다. 이를 구현하는 방법에 대한 아이디어가 있거나 유사한 아이디어가 해결된 링크가 있을 수 있습니다.


아마도 이 주제는 누구에게도 관심이 없을 것입니다. 그러나 귀하의 의견을 위해 저는 퍼짐이 2 또는 3 포인트에 불과한 버전을 게시할 것입니다.

 double Spread_(){
   int compare = 0 ;
   int MaRand = 0 ;
   double sp = 0.0 ;
   double spread = 0.0 ;
     if (IsTesting() == TRUE){
         MathSrand (OrderTicket() + TimeLocal () / Bid);
         MaRand = MathRand ();
         MaRand = MaRand % 2 ;
         if (MaRand == compare){
         sp = 2.0 ;
         } else {
         sp = 3.0 ;
       }
       spread = sp;
    } else {
       RefreshRates();
       spread = MathRound ((Ask - Bid) / Point );
     }
   return (spread);
}  

 
digits :

아마도 이 주제는 누구에게도 관심이 없을 것입니다. 그러나 귀하의 의견을 위해 저는 퍼짐이 2 또는 3 포인트에 불과한 버전을 게시할 것입니다.


아바타를 변경합니다. 중립적인 일을 하십시오. 링크 금지
 

스레드에 명쾌한 답을 줄 수 있는 분들 안녕하세요!!! 기술적 분석 + 마틴

인터넷 전체를 구글링했지만 명확한 답변을 찾지 못했습니다. 누군가 스레드가 있으면 삭제하십시오.

 
artmedia70 :

if ( your_first_condition )

{

// 여기에있을 것입니다

// 실행하다

// 모두

// 이것들

// 다음 경우에만 행

// Your_first_condition 이 참입니다.

}

// 이 행은 어쨌든 실행됩니다.



if ( your_second_condition )

// 이 줄은 your_second_condition 이 true인 경우에만 실행됩니다.

// your_second_condition 이 false를 반환하더라도 이 행은 어쨌든 실행됩니다.

// your_second_condition 이 false를 반환하더라도 이 행은 어쨌든 실행됩니다.



제 1, 2차 조건이 무엇인지, 항상 실행되는 행을 이해한다면 이 미스터리를 풀기에 가까워질 것입니다.

이것이 첫 번째 조건입니다.

if ((ot==0)
&&(입찰가==가격)
&&(개방[1]-닫기[1]>100*포인트&&열기[1]-닫기[1]<120*포인트)
&&(높은[1]-개방[1]>40*포인트&&높은[1]-개방[1]<60*포인트)
&&(종가[1]-저가[1]>40*포인트&&종가[1]-저가[1]<60*포인트))

이것은 두 번째 조건입니다

if (isCloseLastPosByStop(Symbol(), OP_BUY, Magic, Lot))

이 줄은 항상 실행됩니다

리턴(0);

바르게?