MQL5 언어를 처음부터 자가 학습 - 페이지 65

 
MrBrooklin :

안녕하세요 발레리입니다! 때문에 대단히 감사합니다. 귀하의 옵션 "... 우리 마술과 우리 기호의 위치가 0이면 시간을 확인하고 위치를 여십시오 ..." 가 가장 간단하고 효과적인 것으로 나타났습니다. 시간 체크 조건에 && PositionTotal()==0 을 추가했더니 필요한 볼륨이 있는 포지션 하나만 열리기 시작했습니다!

안부 인사를 전합니다. 블라디미르.


불행히도 MCL에는 기호 의 위치 수 를 반환하는 명령이 없습니다. TotalPosition은 모든 기호에 대한 계정의 모든 위치를 반환합니다. 따라서 심볼의 위치를 얻으려면 모든 위치를 열거하고 우리 심볼의 위치를 비교해야 합니다.

그리고 더. 처음에는 이마에 논리가 있고 열어서 위치의 존재를 확인하고 트롤이 항상 최적의 것은 아닙니다. 때때로 우리의 매직으로 포지션이 열려 있는지 먼저 확인하고 열려 있으면 닫는 시간을 확인하는 것이 좋습니다. 그렇지 않으면 trail AND 그렇지 않으면 (else) 개장 시간을 확인하십시오.

목표는 고문의 행동 수를 줄이는 것입니다.

 
Valeriy Yastremskiy :

불행히도 MCL에는 기호 의 위치 수 를 반환하는 명령이 없습니다. TotalPosition은 모든 기호에 대한 계정의 모든 위치를 반환합니다. 따라서 심볼의 위치를 얻으려면 모든 위치를 열거하고 우리 심볼의 위치를 비교해야 합니다.

그리고 더. 처음에는 이마에 논리가 있고 열어서 위치의 존재를 확인하고 트롤이 항상 최적의 것은 아닙니다. 때때로 우리의 매직으로 포지션이 열려 있는지 먼저 확인하고 열려 있으면 닫는 시간을 확인하는 것이 좋습니다. 그렇지 않으면 trail AND 그렇지 않으면 (else) 개장 시간을 확인하십시오.

목표는 고문의 행동 수를 줄이는 것입니다.

모든 것이 명확합니다, 발레리! 말씀하신 팁을 적용해보려고 합니다.

안부 인사를 전합니다. 블라디미르.

 
Valeriy Yastremskiy :

우리의 마술과 우리의 기호가있는 위치가 0이면 시간을 확인하고 위치를 엽니 다. 1이면 위치를 열지 않고 닫는 시간과 흔적을 확인하고 1보다 크면 경고가 작동하지 않습니다. 스위치에서 가능하고 체크 인하면 가능합니다.

안녕하세요 발레리입니다! 위치를 열거하지 않고 코드를 작성하려고 했습니다. 작성, 확인, 모든 것이 작동합니다.

   if ( PositionSelect ( Symbol ())== false && PositionGetInteger ( POSITION_MAGIC )!=Magic_Number
   && time_current.hour==time_open.hour && time_current.min>=time_open.min && time_current.min<time_open1.min)
      OpenBUY();
안부 인사를 전합니다. 블라디미르.
 
MrBrooklin :

안녕하세요 발레리입니다! 위치를 열거하지 않고 코드를 작성하려고 했습니다. 작성, 확인, 모든 것이 작동합니다.

안부 인사를 전합니다. 블라디미르.

시작해도 괜찮지만 시작일 뿐입니다. 너무 가혹한 조건. 우리의 상징에 위치가 없고 규범과 마찬가지로 모든 도구에 우리의 마법이 있는 위치가 없다면. 인생에서 하나의 심볼에 2개의 창이 열리도록 할 수 있고 다른 심볼에 위치가 있을 수 있습니다. 예를 들어 Trishkin과 같이 처음 3자리는 기호 코드이고 다음 2자리는 스크립트/어드바이저 코드임을 고려하면 Magic에 따라 간단히 기록을 유지할 수 있습니다. 그리고 첫 번째 단계에서 창 기호와 스크립트 코드에 따라 수동으로 인코딩하거나 문자열을 추가 하여 마술을 만든 다음 문자열을 숫자로 변환합니다.

어떤 이유로 모든 주문 또는 위치의 열거는 고전으로 간주됩니다.

그러나 이것은 시작하기에는 너무 많습니다.

따라서 규칙을 시작합니다.

 
Valeriy Yastremskiy :

시작하는 것은 괜찮지만 시작에 불과합니다. 너무 가혹한 조건. 우리의 상징에 위치가 없고 규범과 마찬가지로 모든 도구에 우리의 마법이 있는 위치가 없다면. 인생에서 하나의 심볼에 2개의 창이 열리도록 할 수 있고 다른 심볼에 위치가 있을 수 있습니다. 예를 들어 Trishkin과 같이 처음 3자리는 기호 코드이고 다음 2자리는 스크립트/어드바이저 코드임을 고려하면 Magic에 따라 간단히 기록을 유지할 수 있습니다. 그리고 첫 번째 단계에서는 창 기호와 스크립트 코드에 따라 수동으로 인코딩하거나 문자열을 추가하여 마술을 만든 다음 문자열을 숫자로 변환합니다.

어떤 이유로 모든 주문 또는 위치의 열거는 고전으로 간주됩니다.

그러나 이것은 시작하기에는 너무 많습니다.

따라서 규칙을 시작합니다.

고마워, 발레리! 모든 직책을 통과하는 것은 내가 확실히 할 독학의 많은 다음 단계 중 하나입니다.

안부 인사를 전합니다. 블라디미르.

 
Valeriy Yastremskiy :

어떤 이유로 모든 주문 또는 위치의 열거는 고전으로 간주됩니다.

아아, 이것은 MQL 커뮤니티의 전통입니다. 모든 EA는 갑작스러운 통신 끊김 및/또는 PC 정전을 고려하여 개발되었습니다.

한편으로 이것은 좋은 기술이지만 다른 한편으로는 전문가 코드를 작성하는 스타일에 큰 제한을 가합니다. EA는 주문 마법과만 작동합니다. 예를 들어 마틴게일을 작성해야 하는 경우 EA 마법 으로 역사상 마지막 오더를 찾아 손익을 보고 새로운 로트를 늘릴지 말지 결정

... 일반적으로 MT 생성 이후-모든 사람이 인터넷이 사라지기를 기다리고 있으며 전략 자체는 더 이상 중요하지 않습니다))

 
Igor Makanu :

아아, 이것은 MQL 커뮤니티의 전통입니다. 모든 EA는 갑작스러운 통신 끊김 및/또는 PC 정전을 고려하여 개발되었습니다.

한편으로 이것은 좋은 기술이지만 다른 한편으로는 전문가 코드를 작성하는 스타일에 큰 제한을 가합니다. EA는 주문 마법과만 작동합니다. 예를 들어 마틴게일을 작성해야 하는 경우 EA 마법 으로 역사상 마지막 오더를 찾아 손익을 보고 새로운 로트를 늘릴지 말지 결정

... 일반적으로 MT 생성 이후-모든 사람이 인터넷이 사라지기를 기다리고 있으며 전략 자체는 더 이상 중요하지 않습니다))

안녕하세요 이고르입니다! 매우 유용한 정보를 공유해 주셔서 감사합니다.

안부 인사를 전합니다. 블라디미르.

 
Igor Makanu :

아아, 이것은 MQL 커뮤니티의 전통입니다. 모든 EA는 갑작스러운 통신 끊김 및/또는 PC 정전을 고려하여 개발되었습니다.

한편으로 이것은 좋은 기술이지만 다른 한편으로는 전문가 코드를 작성하는 스타일에 큰 제한을 가합니다. EA는 주문 마법과만 작동합니다. 예를 들어 마틴게일을 작성해야 하는 경우 EA 마법 으로 역사상 마지막 오더를 찾아 손익을 보고 새로운 로트를 늘릴지 말지 결정

... 일반적으로 MT 생성 이후-모든 사람이 인터넷이 사라지기를 기다리고 있으며 전략 자체는 더 이상 중요하지 않습니다))

화재, 홍수 및 바보로부터의 보호는 항상 있어야합니다!) 일반적으로 DC와의 통신이 끊어지면 발로 제한합니다.

 

좋은 하루와 좋은 분위기 모두!

MQL5 프로그래밍 언어를 계속 공부하고 있습니다. MQL5 Reference에 따르면 for 루프 연산자에 대한 자세한 연구를 시작했습니다.

for 루프 문

테스트 중인 표현식이 false가 될 때까지 명령문을 실행합니다. 표현식은 각 반복 전에 확인됩니다.


for 루프 연산자에 대한 설명으로 이동하여 다음을 읽습니다.

Оператор for состоит из трех выражений и выполняемого оператора:

for (выражение 1 ; выражение 2 ; выражение 3 ) 
   оператор;

Выражение 1 описывает инициализацию цикла. Выражение 2 - проверка условия завершения цикла.
Если оно истинно, то выполняется оператор тела цикла for . Все повторяется, пока выражение 2 не станет ложным. 
Если оно ложно, цикл заканчивается и управление передается следующему оператору. 
ВыражениеЗ вычисляется после каждой итерации.

연산자가 연산자를 실행합니까? 자 그리고 나서. 모든 열린 위치를 반복하기 위해 for 루프 연산자를 사용하고 실행한 다음 필요한 조건으로 if 연산자를 작성합니다.

   for ( int i= PositionsTotal ()- 1 ; i>= 0 ; i--)
     {
       if ( PositionSelect ( Symbol ())== false && PositionGetInteger ( POSITION_MAGIC )!=Magic_Number
         && time_current.hour==time_open.hour && time_current.min>=time_open.min && time_current.min<time_open1.min)
         OpenBUY();
     }

아무 일도 일어나지 않습니다. 매수 포지션이 열리지 않았습니다. 그것을 이해하는 방법? 분명히, 내가 뭔가 잘못하고 있거나 for 루프 연산자의 본질을 전혀 이해하지 못합니까?

친애하는 전문가 여러분! 알려주세요 . 수정된 코드가 아니라 단어 로, 그렇지 않으면 MQL5 프로그래밍 언어를 배우지 못할 것입니다.

안부 인사를 전합니다. 블라디미르.
 
MrBrooklin :

좋은 하루와 좋은 분위기 모두!

MQL5 프로그래밍 언어를 계속 공부하고 있습니다. MQL5 Reference에 따르면 for 루프 연산자에 대한 자세한 연구를 시작했습니다.

for 루프 문

테스트 중인 표현식이 거짓이 될 때까지 명령문을 실행합니다. 표현식은 각 반복 전에 확인됩니다.


for 루프 연산자에 대한 설명으로 이동하여 다음을 읽습니다.

연산자가 연산자를 실행합니까? 자 그리고 나서. 모든 열린 위치를 반복하기 위해 for 루프 연산자를 사용하고 실행한 다음 필요한 조건으로 if 연산자를 작성합니다.

그러나 아무 일도 일어나지 않습니다. 매수 포지션이 열리지 않았습니다. 그것을 이해하는 방법? 분명히, 내가 뭔가 잘못하고 있습니까, 아니면 for 루프 연산자의 본질을 전혀 이해하지 못합니까?

친애하는 전문가 여러분! 알려주세요 . 수정된 코드가 아니라 단어 로, 그렇지 않으면 MQL5 프로그래밍 언어를 배우지 못할 것입니다.

안부 인사를 전합니다. 블라디미르.

루프문 및 루프 본문의 명령문. 아주 고전적인 러시아어가 아닙니다.

물론 모든 것이 괜찮지만 루프 본문에서 i 반복자는 어디에 있습니까? 그리고 위치 기호와 그 마법을 얻으려면 먼저 선택해야 합니다. 위치에 대한 설명은 구조(μl5에서 모든 구조 및 주문 및 시간 및 거래)이며 선택, 선택을 통해 채워지며 위치 티켓이 아니라 위치 번호인 반복자에 의해 선택됩니다. 그리고 위치 설명 구조에서 위치의 마지막 선택은 항상임을 기억해야 합니다.