내 접근 방식. 코어 - 엔진. - 페이지 41

 

2년동안 살지 않고 xs 솔직하게 말해서 그런 감정을 하고 있어요.

나는 내 정맥을 더 짧게 자르고 (개인적으로 사진을 찍을 수 있음), 이제 내가 살아 있는지 여부를 이해하지 못합니다. 그러나 Peter의 주제는 내가 그렇지 않다고 말합니다. :(

모든 것이 짜증납니다 - 나는 매트릭스에 있습니다 :(
 
Vladimir Gribachev :

2년동안 살지 않고 xs 솔직하게 말해서 그런 감정을 하고 있어요.

나는 내 정맥을 더 짧게 자르고 (개인적으로 사진을 찍을 수 있음), 이제 내가 살아 있는지 여부를 이해하지 못합니다. 그러나 Peter의 주제는 내가 그렇지 않다고 말합니다. :(

모든 것이 짜증납니다 - 나는 매트릭스에 있습니다 :(

블라디미르 그리바초프 :

어떻게 되는지 모르겠어

그러나 나는 이미 그것을 꿈꿨다 - 엔진의 핵심

ppc 더 짧은

추신 다시 쉴 시간이야

동지, 그런 농담 하지마)

나도 홍수를 일으키고 싶지만 의로운 분노가 두렵습니다. 그리고 당신은 분명히하지 않습니다. 나는 당신의 인내에 놀랐습니다. 그러한 등급과 시장에 있는 제품의 수 =))
 
Ilya Malev :
나도 홍수를 일으키고 싶지만 의로운 분노가 두렵습니다. 그리고 당신은 분명히하지 않습니다. 나는 당신의 인내에 놀랐습니다. 그러한 등급과 시장에 있는 제품의 수 =))

관리자의 분노 - 그는 정당하다

나는 목욕을 한 번 이상 보았지만 * 쇼가 아니라 그들이 쓰는 모든 말도 안되는 소리를 읽을 때 네, 죽이는 것만으로는 충분하지 않다는 것을 이해합니다.

그리고 내가 뭐라고 했지? 뭔가 잘못되면 nazdorovye.

 
Ilya Malev :

동지, 그런 농담 하지마

역사를 지켜주셔서 감사합니다. 당신에게 행복, 건강, 사랑, 번영, 더 많은 돈, 두 개의 빨간 포르쉐와 폴란드의 집

 
Vladimir Gribachev :

역사를 지켜주셔서 감사합니다. 당신에게 행복, 건강, 사랑, 번영, 더 많은 돈, 두 개의 빨간 포르쉐와 폴란드의 집

죄송합니다, 직업적인 습관입니다.

추신 그리고 제가 인용하지 않고 답글을 달았던 글을 삭제해주셔서 감사합니다.

 

약속한 대로 엔진의 두 번째 데모가 있습니다. 이 엔진은 테스트 EA(파일은 아래 첨부)에 연결하고 사용자의 작업을 전달합니다.

  1. 엔진 창에는 두 개의 탭이 있습니다. "그룹 폴더" 탭에는 "G_FOLDER" 그룹을 축소하는 요소가 있습니다. 클릭하면 표가 나타나거나 사라집니다.
  2. "모양 컨트롤러" 탭에는 두 개의 버튼이 있습니다. 각각은 텍스트의 현상을 제어합니다. 그들을 클릭하면 하나의 텍스트가 나타나고 다른 텍스트는 사라집니다.
설치:
  1. 두 개의 연결 파일(외부 연결 및 연결 속성)을 첨부합니다. 포함 폴더에 설치해야 합니다. (있는 경우 전자 대신).
  2. 지표 폴더(있는 경우 이전 폴더 대신)에 엔진을 설치하고 차트에 넣습니다.
  3. 차트에 테스트 어드바이저를 설치합니다. (파일이 없을 경우 아래에 첨부합니다. Experts 폴더에 설치하여 열고, 저장하고, 컴파일하여 차트에 업로드하십시오.)

이러한 절차를 거친 후 테스트 어드바이저의 연결을 확인할 수 있습니다.

테이블의 요소 를 클릭하면 텍스트를 입력하거나 옵션을 선택하면 테스트 어드바이저가 이벤트에 대한 설명과 함께 경고 메시지를 표시합니다.

외부 연결 파일의 장치를 검사할 수 있습니다. 매우 간단합니다.

연결 속성 파일을 열거나 수정하면 안 됩니다!.



추신. 또한 공부에 관심이 있는 분들을 위해 아래에 윈도우 코드 파일을 첨부합니다.

 
Dmitry Fedoseev :

그리고 버튼 하나를 누르면 한 세트의 컨트롤이 표시되고 다른 버튼을 누르면 다른 컨트롤이 표시되도록 만드십시오. 동시에 창을 최소화하고 최대화할 수 있습니다. 또한 많은 옵션이 있을 수 있다고 가정합니다.

Peter에게 이 문제를 어떻게 해결할 수 있는지 묻는 것은 흥미로울 것입니다.

여기서 Dmitry는 위의 예에서 요소 현상을 제어하는 세 가지 원칙이 동시에 작동합니다.

  1. 탭 전환.
  2. G_FOLDER 요소를 사용하여 요소 그룹을 표시하거나 숨깁니다.
  3. 이벤트 컨트롤을 사용하여 그룹 또는 개별 요소를 표시하거나 숨깁니다.

표준 라이브러리 (내가 이해하는 한)에는 그러한 기능이 없습니다.

탭, 탭, 버튼, 라디오 버튼, 항목 및 기타 요소 간의 전환은 SWITCH 키워드를 사용하여 수행됩니다.

SWITCH, "Элемент 1" , "Элемент 2" , "Элемент 3" , "Элемент 4" ,..., END,

요소 그룹 또는 개별 요소 차단은 키워드 BLOCKS를 사용하여 수행됩니다.

 "Элемент 1" ,BLOCKS,"Элемент 2", "Элемент 3" , "Элемент 4" ,..., END,

G_FOLDER 요소로 그룹 현상을 제어합니다.

 //Объявляем элемент G_FOLDER:
//----------------------------------------------------------------------------------
GROUP,A,

__,  G_FOLDER, "Group opener 1" ,  

END_GROUP,
//--------------------------------------------
i,IN, "V1" ,                       <------------- Устанавливаем канвас на котором рисуем группу элементов.
i, AT, LEFT_TOP, 1 , 20 ,           <------------- Устанавливаем позицию группы элементов.

//Устанавливаем свойства элементов типа G_FOLDERS внутри группы:
i,G_FOLDERS, N_COLOR, ( int ) C'245,245,245' ,   N_COLOR, ( int ) C'245,245,245' ,  AH_COLOR, ( int ) C'245,245,245' ,  NH_COLOR, ( int ) C'245,245,245' , END,
//----------------------------------------------------------------------------------
//Делаем таблицу:
//----------------------------------------------------------------------------------
GROUP,A, IS_TABLE,  ROOT, "Group opener 1" , <------------------- Устанавливаем привязку явления группы к элементу "Group opener 1" , (который является G_FOLDER)


__,     T_HEADER, "The name of the table" , H, 30 ,   C_HEADER, "Text cells" , C_HEADER, "Checkbox cells" ,  C_HEADER, "R button cells" , C_HEADER, "C list cells" ,      C_HEADER, "Edit cells" , 
__,     R_HEADER, "Row header 1" ,    T_CELL, "text 1" , CHECKBOX, "Checkbox cell 1" ,    R_BUTTON, "R button cell 1" , C_LIST, "C list cell 1" ,    EDIT, "Edit cell 1" ,     
__,     R_HEADER, "Row header 2" ,    T_CELL, "text 2" , CHECKBOX, "Checkbox cell 2" ,    R_BUTTON, "R button cell 2" , C_LIST, "C list cell 2" ,    EDIT, "Edit cell 2" ,  
__,     R_HEADER, "Row header 3" ,    T_CELL, "text 3" , CHECKBOX, "Checkbox cell 3" ,    R_BUTTON, "R button cell 3" , C_LIST, "C list cell 3" ,    EDIT, "Edit cell 3" ,       
__,     R_HEADER, "Row header 4" ,    T_CELL, "text 4" , CHECKBOX, "Checkbox cell 4" ,    R_BUTTON, "R button cell 4" , C_LIST, "C list cell 4" ,    EDIT, "Edit cell 4" , 

END_GROUP,
//----------------------------------
i,  IN, "V1" ,
i, Y_GAP,- 1 ,
i, X_GAP,- 1 ,

//Устанавливаем свойства элементов типа CHECKBOXES, R_BUTTONS, EDITS внутри группы:
//---------------------------------------------------------------------------------
i, CHECKBOXES, POINTED, 0 , END, 
i, R_BUTTONS,  POINTED, 0 , END, 
i, EDITS, POINTED, 0 , END, 

//Устанавливаем переключение радио-кнопок внутри таблицы:
//---------------------------------------------------------------------------------
"Radio buttons option" ,SWITCH, "R button cell 1" , "R button cell 2" , "R button cell 3" , "R button cell 4" ,  END,

i,IS_ZEBRA_STYLE, <-----------------------------------Устанавливаем стиль Зебра.
i, AT, _X2X, "V1" , 4 , _Y2H, "Group opener 1" , 5 ,<-----------------------------------Устанавливаем позицию группы относительно сворачивателя.
//----------------------------------------------------------------------------------

표준 라이브러리를 사용하여 이를 수행하려면 얼마나 많은 코드를 작성해야 합니까?

이것이 마크업 언어와 라이브러리를 구별하는 것입니다. 간편함과 속도.

 
Реter Konow :

여기서 Dmitry는 위의 예에서 요소 현상을 제어하는 세 가지 원칙이 동시에 작동합니다.

  1. 탭 전환.
  2. G_FOLDER 요소를 사용하여 요소 그룹을 표시하거나 숨깁니다.
  3. 이벤트 컨트롤을 사용하여 그룹 또는 개별 요소를 표시하거나 숨깁니다.

표준 라이브러리 (내가 이해하는 한)에는 그러한 기능이 없습니다.

탭, 탭, 버튼, 라디오 버튼, 항목 및 기타 요소 간의 전환은 SWITCH 키워드를 사용하여 수행됩니다.

요소 그룹 또는 개별 요소 차단은 키워드 BLOCKS를 사용하여 수행됩니다.

G_FOLDER 요소로 그룹 현상을 제어합니다.

표준 라이브러리를 사용하여 이를 수행하려면 얼마나 많은 코드를 작성해야 합니까?

이것이 마크업 언어와 라이브러리를 구별하는 것입니다. 간편함과 속도.

탭은 일반적으로 흥미롭지 않은 제어 요소이며, 탭 없이도 완벽하게 살 수 있습니다. 탭 수가 너무 제한되어 있습니다.

그리고 2와 3 - 숲으로 더 들어갈수록 더 많은 장작이 나옵니다. 그것이 무엇인지, 왜 필요한지 전혀 모르고, 알아내지도 못할 것입니다. 정말 필요하고 필요한 컨트롤 세트는 오랫동안 정의되어 왔으며 GUI 생성 작업을 해결하기에 충분하기 때문입니다. 그러나 여기에서 이것은 종파처럼 보입니다. 고유한 이름, 방법론, 정의 등을 생각해 냅니다.

그리고 Expert Advisor를 제어하기 위한 표시기에서 이러한 별도의 GUI 구현은 OOP 대신 어레이를 사용하더라도... Expert Advisor에 연결할 필요가 전혀 없음을 다시 한 번 상기시켜 드립니다. 그것이 커브 접근법입니다. 그것은 "제품의 얼굴"이라고 말할 수 있기 때문에 가장 이상적으로 생각해야 할 곳에서 구부러져 있습니다.

 
Dmitry Fedoseev :

탭은 일반적으로 흥미롭지 않은 제어 요소이며, 탭 없이도 완벽하게 살 수 있습니다. 탭 수가 너무 제한되어 있습니다.

그리고 2와 3 - 숲으로 더 들어갈수록 더 많은 장작이 나옵니다. 그것이 무엇인지, 왜 필요한지 전혀 모르고, 알아내지도 못할 것입니다. 정말 필요하고 필요한 컨트롤 세트는 오랫동안 정의되어 왔으며 GUI 생성 작업을 해결하기에 충분하기 때문입니다. 그러나 여기에서 이것은 종파처럼 보입니다. 고유한 이름, 방법론, 정의 등을 생각해 냅니다.

그리고 Expert Advisor를 제어하기 위한 표시기에서 이러한 별도의 GUI 구현은 OOP 대신 어레이를 사용하더라도... Expert Advisor에 연결할 필요가 전혀 없음을 다시 한 번 상기시켜 드립니다. 그것이 커브 접근법입니다. 그것은 "제품의 얼굴"이라고 말할 수 있기 때문에 가장 이상적으로 생각해야 할 곳에서 구부러져 있습니다.

탭은 전체 캔버스를 전환합니다. 그리고 두 번째와 세 번째 옵션은 캔버스를 전환하지 않고 요소의 현상을 제어하도록 설계되었습니다. 즉, 동일한 캔버스가 다시 그려지고 매번 다른 요소 집합이 사용 됩니다.

연결에 관해서는 귀하의 아이디어를 이해하지 못했습니다. 왜 고문에 연결하면 안 됩니다. 설정을 동기화하는 방법은 무엇입니까?

GUI가 어드바이저에 완전히 포함되어 있거나 외부에서 연결되어 있습니다. 외부에서 연결하는 경우 연결 속성을 설정하고 양쪽에서 매개변수 값을 동기화해야 합니다.

 

어드바이저에서 표시기로 GUI를 제거하는 것은 모호합니다(MT 아키텍처에 따르면 표시기는 인터페이스 스레드에서 작동하며 모든 것을 느리게 할 수 있습니다. 따라서 MT의 표시기는 속도가 느려지지 않으며 일부 기능은 그들에게 금지되어 있습니다)

글쎄, 그것에 관한 것이 아닙니다.

불행한 사용자가 몇 가지 (타사) 표시기와 고문을 사용하고 모두 원격 코어 엔진이 있는 GUI인 경우. 무슨 일이 일어날 것?

PS/ Peter, 최소한 무료 호스팅 을 시작하고 거기에 제품을 배치하십시오. 코드 기반이 좋지 않은 경우. 알파/베타/미리 보기 버전을 게시하는 것은 몇 시간 만에 완료됩니다. 당신은 시간을 찾을 수 없습니다