AutoGraf 시리즈 4 - MQL 기능. - 페이지 34

 

파일이 포함을 통해 포함된 경우 extern 변수를 선언할 수 있으며 매개변수를 전달할 필요가 없습니다. 변수 및 함수의 이름과 혼동을 피하기 위해 각 전략은 이름에 고유한 접두사를 사용해야 합니다.

방해해서 미안하지만, 그런 간단한 질문에 대한 긴 고통은 아무도 무관심하게 만들지 않습니다. :)

 
Integer >> :

파일이 포함을 통해 포함된 경우 extern 변수를 선언할 수 있으며 매개변수를 전달할 필요가 없습니다. 변수 및 함수의 이름과 혼동을 피하기 위해 각 전략은 이름에 고유한 접두사를 사용해야 합니다.

방해해서 미안하지만, 그런 간단한 질문에 대한 긴 고통은 아무도 무관심하게 만들지 않습니다. :)

고맙습니다. 이제 시도해 보겠습니다.

 
Integer писал(а) >>

파일이 포함을 통해 포함된 경우 extern 변수를 선언할 수 있으며 매개변수를 전달할 필요가 없습니다. 변수 및 함수의 이름과 혼동을 피하기 위해 각 전략은 이름에 고유한 접두사를 사용해야 합니다.

방해해서 미안하지만, 그런 간단한 질문에 대한 긴 고통은 아무도 무관심하게 만들지 않습니다. :)

컴파일된 Expert Advisor(ex4)로 함수를 가져오는 것에 대해 이야기하고 있습니다.
 
SK. писал(а) >>
컴파일된 Expert Advisor(ex4)로 함수를 가져오는 것에 대해 이야기하고 있습니다.

글쎄요, 죄송합니다. 평소와 같이 그것에 대해 말하는 것이 아닙니다... 컴파일된 라이브러리 에서 가져오기에 대한 것일까요?

-

메인 모듈이 컴파일되면 전략 툴킷을 사용하는 데 문제가 없으며 모든 것이 컴파일됩니다. 메인 모듈이 오픈 소스이고 전략이 컴파일되면 오픈 소스 포함 형태의 어댑터를 만들 수 있습니다.

 

에게!

다음 연결 체인 다이어그램을 고려하고 있습니다.



AG_AT 기능은 첨부된 전략을 선택하는 스위치입니다.

 

에게!

질문에 답해주세요.

AT 기능이 스위치가 아니지만 전략 코드를 포함하는 경우(비록 내가 이해한 대로 중요하지 않지만) 응용 프로그램은 AT 기능이 명령을 제공한다는 것을 어떻게 구별합니까(예: 터미널 액세스 ) 그 자체를 거래하지 않습니까?

사용 설명에서:

Исполнение функции АТ связано с двумя основными возможностями.

첫 번째는 AT 기능이 독립적으로 거래할 수 있다는 것입니다. 거래 주문을 생성하고 서버로 보낼 수 있습니다. 이 경우 함수는 애플리케이션에서 수신한 데이터를 처리하지 않을 수 있지만(또는 이 데이터의 일부를 처리할 수 있음) MQL 4 언어의 모든 기능을 사용하여 자체 계산을 수행할 수 있습니다. 터미널에 액세스하여 주문 처리, 현재 견적 받기, 거래 기준 계산, 그래픽 개체 관리 등

두 번째 가능성은 AutoGraf 4 응용 프로그램과 직접 관련이 있습니다.AT 기능은 AutoGraf 4 응용 프로그램이 특정 주문이나 가격 차트에 지정된 설정으로 필요한 기기를 설치하도록 지시하고, 일반 응용 프로그램 설정을 변경하고, 기기를 삭제하고, 다음으로 메시지를 표시하도록 지시할 수 있습니다. 사용자 등(출력 매개변수).

거래를 체결하기 위한 주문이 AT 기능에서 생성되고 애플리케이션에 회계를 위한 코드 라인이 없으면 자체적으로 거래됩니다. 이 경우 애플리케이션은 계산 및 처리 없이 단순히 주문을 터미널에 브로드캐스트합니다.

그렇다면 주문은 참조로 전달된 AT 기능의 매개변수에서 애플리케이션을 통해 전달됩니다.

내가 제대로 이해합니까?

 
Integer писал(а) >>

글쎄요, 죄송합니다. 평소와 같이 그것에 대해 말하는 것이 아닙니다... 컴파일된 라이브러리 에서 가져오기에 대한 것일까요?

-

기본 모듈이 컴파일되면 전략 툴킷을 사용하는 데 문제가 없으며 모든 것이 컴파일됩니다. 메인 모듈이 오픈 소스이고 전략이 컴파일되면 오픈 소스 포함 형태의 어댑터를 만들 수 있습니다.

사과할 것도 없고, 사건에 대한 논의.

--

약간의 용어. 내보내기와 가져오기의 두 가지 미러 개념이 있습니다. 그들은 자신의 영토와 관련하여 사용됩니다.

수출은 우리의 국경 너머에 있습니다. 예를 들어 러시아에서 유럽으로 가스 수출.

수입은 해외에서 우리 국경으로 이루어집니다. 예를 들어, 아프리카에서 시베리아로 모래를 수입합니다.

이 경우 수입품에 대해 이야기하고 있습니다. 여기서 우리 영역은 전문가 AG_exp.ex4입니다. 이것은 컴파일된 파일로 사용자에게 전달되는 AutoGraf 4 애플리케이션의 핵심입니다. Expert Advisor의 소스 코드는 제공되지 않으므로(물론 응용 프로그램은 상용으로 배포되지만 무료이지만) inclide를 통해 Expert Advisor에 모듈을 추가하는 것은 불가능합니다(사용자가 -프로그램 제작자).

--

임무는 사용자에게 MQL4로 작성되고 .ex4 전략 파일로 형식화된 자체 거래 알고리즘을 AutoGraf 4 애플리케이션에 첨부할 수 있는 기능을 제공하는 것이었습니다. 이 문제를 해결하기 위해 AG_exp.ex4 EA에는 .ex4 및 mq4 형식으로 제공되는 AG_AT 자동 거래 기능을 EA로 가져오는 코드가 포함되어 있습니다. 또한 사용자는 자신의 코드를 정렬하는 방법을 스스로 결정할 수 있습니다. 다음 두 가지 옵션 중 하나를 사용하는 것이 가장 편리합니다.

1. AG_AT() 함수에 직접 코드를 작성하고 같은 이름의 AG_AT.mq4 파일을 컴파일하여 AG_AT.ex4를 얻습니다.

예: http://autograf.dp.ua/Pages/2/26/267/26711/26711_1.htm , 예 1-15: http://autograf.dp.ua/Pages/2/26/267/2679 /2679_1.htm

2. 별도의 전략 파일에 새 함수에 대한 고유한 코드를 작성합니다(예: My_Strategy.mq4 파일의 My_Strategy()). My_Strategy.ex4(최신 버전) 파일에서 My_Strategy() 함수를 가져와서 AG_AT() 함수에 작성합니다. 예 http://autograf.dp.ua/Pages/2/26/267/26712/26712_1.htm , http://autograf.dp.ua/Pages/2/26/267/26712/26712_2.htm

.

이러한 옵션 중 어느 것도 사용자가 사용할 수 있도록 외부 변수를 등록할 수 없습니다. 외부 변수를 지정하는 유일한 방법은 설계 단계에서 AG_exp.ex4 EA에 등록하는 것뿐입니다. 변수 값은 AG_AT()를 통해 Instrument 배열의 사용자 지정 전략 My_Strategy()로 전달됩니다. 이 기술은 AutoGraf 4 최신 버전에 적용되었으며 제대로 작동합니다.

--

이 모든 것이 사용자에게 무엇을 의미합니까? 즉, 모든 사용자가 자신의 전략을 작성하고 AutoGraf 4 환경에서 실행할 수 있으며 동시에 자신의 전략이 작동하고 AutoGraf 4의 모든 기능을 사용할 수 있습니다. 특히, 모든 AutoGraf 4(!) 도구는 풀업, 플립, 사운드 등 전략에서 제어할 수 있습니다.

교수를 위해. 프로그래머의 경우 이 기술은 사용자 지정 가능한 암호 변수를 전략 파일에 전달할 수 있는 기능을 제공합니다. 이것은 프로그래머가 AutoGraf 4에 대한 전략을 작성하고 상업적 기반으로 배포할 수 있음을 의미합니다(예: 지정된 계정에 대해서만).

 
LeonidSB писал(а) >>

에게!

다음 연결 체인 다이어그램을 고려하고 있습니다.

AG_AT 기능은 첨부된 전략을 선택하기 위한 스위치입니다.

네. 바르게.

 
LeonidSB писал(а) >>

에게!

질문에 답해주세요.

AT 기능이 스위치가 아니지만 전략 코드를 포함하는 경우(비록 내가 이해한 대로 중요하지 않지만) 응용 프로그램은 AT 기능이 명령을 제공한다는 것을 어떻게 구별합니까(예: 터미널 액세스 ) 그 자체를 거래하지 않습니까?

전략은 애플리케이션에 다음을 보낼 수 있습니다.

- 일반 사용자 정의 매개변수 값(SL, TP, Lot 등)

- 설치 및 제거된 도구의 매개변수

이 전략은 열기 및 닫기 주문을 애플리케이션에 보내지 않지만(이는 MQL 5의 기능을 기반으로 하는 AG 5에서 계획됨) 현재(AG 4에서) 이것이 꼭 필요한 것은 아닙니다. 전략은 사용자 자신의 알고리즘에 따라 주문 자체를 열거나 닫을 수 있고 또 그래야 합니다.

거래를 체결하기 위한 주문이 AT 기능에서 생성되고 애플리케이션에 회계를 위한 코드 라인이 없으면 자체적으로 거래됩니다. 이 경우 애플리케이션은 계산 및 처리 없이 단순히 주문을 터미널에 브로드캐스트합니다.

그렇다면 주문은 참조로 전달된 AT 기능의 매개변수에서 애플리케이션을 통과합니다.

내가 제대로 이해합니까?

"응용 프로그램에서 회계를 위한 코드 줄"이 의미하는 바가 명확하지 않습니다.

애플리케이션은 제어가 반환될 때마다 주문을 고려합니다. 큰 루프가 반복될 때마다 다시 계산된 Orders 배열이 AG_AT로 전송된 다음 전략으로 전송됩니다. 전략의 주문을 고려하여 특정 제어 조치를 계산할 수 있습니다. 전략에서 항상 새로운 주문 배열을 갖도록 전략에서 애플리케이션에 대한 제어를 더 자주 제공해야 합니다.

프로그램의 모든 부분(애플리케이션, AG_AT 또는 전략)의 거래 요청은 MT4 터미널로 직접 이동하고 즉시 서버로 이동합니다. 서버에서 주문을 실행한 후, 거래 요청이 전송된 지점과 동일한 방식으로 제어가 반환됩니다. 서버에서 주문이 처리되는 동안 모두가 침묵하고 응답을 기다리고 있습니다. 아무 일도 일어나지 않습니다(내가 틀리지 않은 경우 이 기술은 MT 5에서 변경됩니다. 기다리지 않고 작업하겠습니다.)

 
고맙습니다!
사유: