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

 
Maxim Kuznetsov :
아마도 그는 핵심 엔진을 작성하도록 지시 받았을 것입니다 .. 글쎄, 포럼이 산만하지 않도록 :-)

내가 기억하는 한 다음 작업은 캔버스에 글을 쓰는 것이었습니다.

"나는 매트리스에 누워 캔버스에 쓸 것입니다")))

 
Реter Konow :

조지, 이해가 되지 않습니다. 제 접근 방식은 어디에 있습니까? 경량 마크업 언어로 만든 GUI 연결 인터페이스를 제공합니다. 누가 내 접근 방식을 연구해야 하며 그 이유는 무엇입니까?

내가 제안하는 모든 것은 가장 단순한 MQL보다 훨씬 간단합니다.

음 ... 아니. 나는 보았다 - 그리고 나는 그것이 더 어렵다는 것을 안다. 무엇을, 어디서, 어디서, 어떻게 기억해야 하는 곳에서 많은 기회가 한 번에 제공되기 때문입니다. 그리고 내 기억력은 당신보다 훨씬 나쁩니다. 따라서 모든 것을 기억하는 사람들에게는 사실 모든 것이 어렵지 않습니다. 그리고 기억이 안 나는 사람들을 위해?

마크업 언어는 "모든 것을 항상 사용할 수 있는" 접근 방식의 한 예일 뿐입니다.

그러나 다시 말하지만, 문제는 이 마크업 언어가 좋은지, 접근 방식이 좋은지, 구현이 좋은지 여부가 아닙니다.

주요 질문은 - 누가 그것을 필요로 하는지, 누가 대상 고객인지입니다.

나는 이미 여러 번 말했습니다. 나는 그녀를 보지 못합니다. 당신은 "그녀가 나타날 것이다"라고 반대했다. 음 ... 우리는 기다리고 있습니다 ...

 
시스템이 충돌합니다. 나는 나의 일에서 안다. :) 지원해 주셔서 감사합니다. 이제 나도 모두에게 금지 해제를 요구할 것이다. (만약에. 갑자기 실수로. :))
 
Georgiy Merts :

음 ... 아니. 나는 보았다 - 그리고 나는 그것이 더 어렵다는 것을 알았다. 무엇을, 어디서, 어디서, 어떻게 기억해야 하는 곳에서 많은 기회가 한 번에 제공되기 때문입니다. 그리고 내 기억력은 당신보다 훨씬 나쁩니다. 따라서 모든 것을 기억하는 사람들에게는 사실 모든 것이 어렵지 않습니다. 그리고 기억이 안 나는 사람들을 위해?

마크업 언어는 "모든 것을 항상 사용할 수 있는" 접근 방식의 한 예일 뿐입니다.

그러나 다시 말하지만, 문제는 이 마크업 언어가 좋은지, 접근 방식이 좋은지, 구현이 좋은지 여부가 아닙니다.

주요 질문은 - 누가 그것을 필요로 하는지, 누가 대상 고객인지입니다.

나는 이미 여러 번 말했습니다. 나는 그녀를 보지 못합니다. 당신은 "그녀가 나타날 것이다"라고 반대했다. 음 ... 우리는 기다리고 있습니다 ...

바실리 소콜로프 :

Peter에게 미안하지만 지금까지 제시한 것은 수십 개의 매개변수와 알 수 없는 것에 대한 호출이 포함된 MQL 프로그램의 지옥 같은 라인입니다. 이것이 마크업 언어의 프로토타입이라면 이미 두렵습니다.

글쎄, 어제 나는 두 개의 창으로 솔루션을 제시했습니다. 다음은 마크업 언어로 된 코드의 예입니다.

(솔직히 여기서 지옥처럼 복잡한 것이 무엇인지 알지 못합니다)

 //-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 1" ,  W_ICON, 98 ,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================
GROUP,A, 

__,BUTTON, "Button 1" , GAP, 30 ,  BUTTON, "Button 2" , 

__, CHECKBOX, "Checkbox 1" ,  GAP, 100 ,  EDIT, "Edit box 1" ,  W, 130 ,
__, CHECKBOX, "Checkbox 2" ,
__, CHECKBOX, "Checkbox 3" ,

END_GROUP,
//----------------------------------
i,AT,_X2X, "MF" , 10 ,  _Y2Y, "MF" , 10 ,
//----------------------------------
i,Y_GAP, 20 ,
//----------------------------------
i,BUTTONS,  PARAM_TYPE,_BOOL, W, 150 ,  H, 100 ,   N_COLOR,( int ) C'235,235,235' , END,
//----------------------------------


//-----------------------------------------------------------------
GROUP,A, 

__, BOARD, "Enter text" ,   

END_GROUP,
//----------------------------------
"Enter text" , H_C2C,   "Edit box 1" , 0 ,
"Enter text" , ON_LEFT, "Edit box 1" , - 20 ,
//-----------------------------------------------------------------


//====================================================================================================================
END_WINDOW,


//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 2" ,  W_ICON, 99 ,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================

GROUP, A,

__, T_BOX, "T_1" ,
             "This window's" ,
             "appearance controlled" ,
             "by user's programm." ,
             END,

END_GROUP,
//----------------------------
i,AT,_X2X, "MF" , 10 ,  _Y2Y, "MF" , 10 ,
"T_1" ,FONT_SIZE, 20 ,
"T_1" ,text,N_COLOR,( int ) C'255,110,10' ,
"T_1" ,text,TEXT_FONT, "Arial Bold" ,
"T_1" ,N_COLOR,( int ) C'240,240,240' ,

//====================================================================================================================
END_WINDOW,

물론 설명이 없으면 모든 것이 명확하지는 않지만 설명이 없어도 한 번에 많은 것을 이해할 수 있습니다 (내 생각에 ...).

 

결과:


 
Реter Konow :

솔직히 여기서 뭐가 그렇게 복잡한지 모르겠어

나는 "힘들다"라고 말하지 않았다. 나는 말했다 - 당신은 많이 기억해야합니다.

프로젝트 에서 직접 작업하는 동안 설명을 확인하고 이는 그리 중요하지 않습니다. 모든 것이 어떻게 든 머리에 보관됩니다. 그러나 이제 인터페이스를 만들었고 다른 영역으로 전환했습니다. 그리고 한 달 후, 무언가를 바꿔야 했습니다. 당신은 그것을 열고 당신이 아무것도 이해하지 못한다는 것을 깨닫고 다시 알아 내야합니다.

한 가지입니다. 설명의 구조가 단순히 물리적으로 무언가를 혼동할 수 없는 것과 같은 경우입니다. "잘못된" 일을 하면 프로젝트가 컴파일되지 않기 때문입니다. 그리고 모든 것을 쉽게 섞을 수는 있지만 아무도 당신을 막지 않을 때 완전히 다른 문제입니다. 코드를 살펴보고 "모든 것이 괜찮은 것 같습니다"라고 말하면 가장 부적절한 순간에 오류가 발견됩니다.


그러나 이 모든 것이 사실 그렇게 심각한 문제는 아닙니다. 당신의 주요 문제, Peter는 타겟 고객입니다. 그녀는 아니다.

 
Georgiy Merts :

....

그러나 이 모든 것이 사실 그렇게 심각한 문제는 아닙니다. 당신의 주요 문제, Peter는 타겟 고객입니다. 그녀는 아니다.

조지, 나는 거대한 일을 하기로 결정한 프로젝트 를 염두에 두고 있었습니다. 즉, 모든 MQL 사용자로 구성된 대상 고객을 계산했습니다.

내가 틀렸을 수도 있습니다. 아마도 그것을 필요로 하는 사람은 거의 없을 것입니다. 누가 알겠습니까... 삶은 보여줄 것입니다...))

 
Реter Konow :

내가 틀렸을 수도 있습니다. 아마도 그것을 필요로 하는 사람은 거의 없을 것입니다. 누가 알겠습니까... 삶은 보여줄 것입니다...))

이를 위해서는 "옵션 B"가 필요합니다.

늘 그렇듯이 저는 제 리그를 예로 들 수 있습니다. 처음에는 그들이 리그에 관심을 갖고 최적화에 도움을 줄 것이라고 생각했습니다. 답변한 사람은 단 2명. 하지만 저는 "옵션 B"가 있었습니다. 새 컴퓨터를 구입하고 누군가의 도움이 더 이상 필요하지 않게 되었습니다. 제가 리그를 만든 이후로는 데모 작업을 하고 있는 "차량 풀"을 항상 유지하기 위해 . 그리고 이제 그것을 얻었습니다. 나는 그들 중 최고를 실제로 선택할 가능성을 연구하고 있습니다.

그것이 당신이 그것을 필요로 하는 방법입니다. 그래서 당신 자신이 프로젝트 의 결과를 필요로 합니다. 그런 다음 그것을 사용하고 멤버들에게 자랑합니다. 관심있는 사람들이 나타날 것입니다 - 그들과 공유(또는 판매). 그것은 나타나지 않을 것입니다 - 글쎄, 당신은 그것을 스스로 필요로합니다. 어느 쪽이든, 당신은 승리합니다.

 
Реter Konow :

(솔직히 여기서 지옥처럼 복잡한 것이 무엇인지 알지 못합니다)

 //+------------------------------------------------------------------+
//|                                               Forum sample 2.mqh |
//|                                                      Peter Konow |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Window 1" ,  W_ICON, 98 ,   W_TYPE, SETTINGS,  OOI,
//====================================================================================================================
GROUP,A, 

__,BUTTON, "Button 1" , GAP, 30 ,  BUTTON, "Button 2" , 

__, CHECKBOX, "Checkbox 1" ,  GAP, 100 ,  EDIT, "Edit box 1" ,  W, 130 ,
__, CHECKBOX, "Checkbox 2" ,
__, CHECKBOX, "Checkbox 3" ,

END_GROUP,
//----------------------------------
i,AT,_X2X, "MF" , 10 ,  _Y2Y, "MF" , 10 ,
//----------------------------------
i,Y_GAP, 20 ,
//----------------------------------
i,BUTTONS,  PARAM_TYPE,_BOOL, W, 150 ,  H, 100 ,   N_COLOR,( int ) C'235,235,235' , END,
//----------------------------------

...

정말 물어보는거야, 장난하는거야? 테이블로 전달하려는 수백 개의 변수를 정의하는 지옥 같은 줄이 있습니다. 의사 테이블 자체는 구조가 없고 모호한 약어를 포함하는 곡선입니다.

그러나 이것이 바로 다음과 같습니다.

 void Sync_params( int ID){ for ( int a1 = 0 ; a1 < All_params; a1++){ if (( int )P_CORE[a1][_SYNC_ID] == ID){P_CORE[a1][_LAST_VALUE]    = P_CORE[a1][_CURRENT_VALUE];P_CORE[a1][_CURRENT_VALUE] = P_CORE[a1][_NEW_VALUE];}}}
void Sync_P_CORE(){ for ( int a1 = 0 ; a1 < All_params; a1++){ if (P_CORE[a1][_CURRENT_VALUE] != P_CORE[a1][_NEW_VALUE]){P_CORE[a1][_LAST_VALUE]    = P_CORE[a1][_CURRENT_VALUE];P_CORE[a1][_CURRENT_VALUE] = P_CORE[a1][_NEW_VALUE]; if (P_CORE[a1][_SYNC_ID] != NULL )Sync_params(( int )P_CORE[a1][_SYNC_ID]); EventChartCustom ( 0 ,_SYNC_P_CORE,( int )P_CORE[a1][_ELEMENT], 0 ,P_CORE[a1][_CURRENT_VALUE]);}}}

이 형식을 스스로 생각해 냈습니까? 수고하셨습니다. ioccc.org 에서 1위를 차지할 수 있는 모든 기회가 있습니다.

그러나 친구, 그들은 그렇게 쓰지 않습니다. 일반적으로. 아무도 이 코드를 사용할 수 없습니다.

The International Obfuscated C Code Contest
  • ioccc.org
International Obfuscated C Code Contest
 
Vasiliy Sokolov :

그러나 친구, 그들은 그렇게 쓰지 않습니다. 일반적으로. 아무도 이 코드를 사용할 수 없습니다.

바실리, 피터에게서 손을 떼라!!!

사람을 방해하지 마십시오.

타겟층 보고싶다!!! 적어도 누군가가 "이 라이브러리를 내 Expert Advisor에 연결하고 사용했습니다"라고 말하려면

사유: