MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 834

 
Vladimir Pastushak :


이것은 정확하지 않으며 다른 예에서도 마찬가지입니다.

1.2356에서 정지하고 새로운 틱에서 다시 1.2356에서 정지하면 오류 1이 발생합니다.

이것은 첫 번째 블록에서 가져온 것입니다. 변경했지만 오류가 남아 있습니다. 어드바이저가 추가 런을 하지 않도록 정지로 이 조건을 만들었습니다. 그리고 새 틱에서 어드바이저는 동일한 정류장을 다시 설정하지 않습니다. 그 후에 다른 조건이 확인되기 때문입니다. 예를 들어 정류장이 설정해야 하는 값과 같기 때문입니다.

 
Alexandr Sokolov :

이것은 첫 번째 블록에서 가져온 것입니다. 변경했지만 오류가 남아 있습니다. 어드바이저가 추가 런을 하지 않도록 정지로 이 조건을 만들었습니다. 그리고 새 틱에서 어드바이저는 동일한 정류장을 다시 설정하지 않습니다. 그 후에 다른 조건이 확인되기 때문입니다. 예를 들어 정류장이 설정해야 하는 값과 같기 때문입니다.

OrderStopLoss()

모든 주문 ...... ()은 정규화되어야 합니다.

 
Vladimir Pastushak :

모든 주문 ...... ()은 정규화되어야 합니다.

저도 그렇게 했는데 소용이 없었습니다. 동시에 이전과 마찬가지로 테스터에이 오류가 없지만 MQL은 어떻게 든 발견합니다.

 
다른 터미널에서 읽을 수 있도록 텍스트 파일을 어디에 저장해야 합니까?
 
yiduwi :
다른 터미널에서 읽을 수 있도록 텍스트 파일을 어디에 저장해야 합니까?

ENUM_TERMINAL_INFO_STRING

식별자

설명

속성 유형

TERMINAL_LANGUAGE

터미널 언어

TERMINAL_COMPANY

회사 이름

TERMINAL_NAME

터미널 이름

TERMINAL_PATH

터미널이 실행되는 폴더

TERMINAL_DATA_PATH

단말 데이터가 저장되는 폴더

TERMINAL_COMMONDATA_PATH

컴퓨터에 설치된 모든 클라이언트 터미널의 공유 폴더


Документация по MQL5: Проверка состояния / TerminalInfoString
Документация по MQL5: Проверка состояния / TerminalInfoString
  • www.mql5.com
Проверка состояния / TerminalInfoString - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
누가 문제를 해결하는 데 도움을 줄 수 있습니까? https://www.mql5.com/ru/forum/160683/page833#comment_11584454 ?
 
Artyom Trishkin :

감사합니다 .

 
Seric29 :
누가 문제를 해결하는 데 도움을 줄 수 있습니까? https://www.mql5.com/ru/forum/160683/page833#comment_11584454 ?

기사 https://www.mql5.com/ru/articles/18 의 예를 하나씩 따르십시오.

기사의 코드는 MT4에서 100% 작동하며 올해 1월에 확인했습니다.

옵션으로 64비트 dll용 프로젝트를 컴파일 중이고 MT4 터미널은 32비트이므로 32비트 .dll용으로 프로젝트를 구성하고 컴파일해야 합니다.

Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?
Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?
  • www.mql5.com
Так уж сложилось, что сейчас мало кто из разработчиков помнит, как написать простую DLL библиотеку и в чем особенности связывания разнородных систем. Я постараюсь за 10 минут на примерах показать весь процесс создания простых DLL библиотек и раскрою некоторые технические детали нашей реализации связывания. Демонстрация будет на примере Visual...
 

안녕하세요, 친애하는 포럼 사용자.

코드가 올바르게 작성된 경우와 올바르지 않은 경우 및 그 이유(아래 참조)를 설명해주십시오.

 for (z= OrdersTotal ()- 1 ; z>= 0 ; z --)
    {
       OrderSelect (z, SELECT_BY_POS);
       if (OrderSymbol()!= Symbol ()) continue ;
       if (OrderMagicNumber()!=MAGIC) continue ;
       if (OrderType()==OP_BUY)  CloseBUY();
    }
for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--)
            {
             if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
            {
             if (OrderSymbol()== Symbol () && OrderMagicNumber()==magic)
             {
             if (OrderType()==OP_BUY)  CloseBUY();
             }
            }
            }

가능하다면 더 자세히. 고맙습니다.

 
novichok2018 :

안녕하세요, 친애하는 포럼 사용자.

코드가 올바르게 작성된 경우와 올바르지 않은 경우 및 그 이유(아래 참조)를 설명해주십시오.

가능하다면 더 자세히. 고맙습니다.

첫 번째 경우에는 컴파일러도 " OrderSelect의 결과를 확인해야 합니다." ;-)

첫 번째 변경의 경우 if (!OrderSelect(...)) 계속; 옵션은 동일합니다.

첫 번째 코드는 시각적으로 선형적이며 두 번째 코드는 여기에서 사랑받는 사다리입니다. 나는 첫 번째 옵션을 선호합니다. 읽기가 더 쉽고 일반적으로 깊은 논리적 탭 {{{{ }}}}이 표시되면 무언가를 변경할 때가 되었음을 알 수 있습니다 :-)