안녕하세요. 나는 mql5를 배우고 있고 아주 오랫동안 땅에서 벗어날 수 없습니다. 사람마다 프로그램을 작성하는 방식이 다르기 때문에 모두 자신의 접근 방식에 자신 있고 초보자는 어떤 것이 최적인지 이해하기 어렵습니다.
나는 그것을 스스로 알아내고 싶고, Expert Advisors의 일반적인 블록에 대한 최적의 솔루션 구현에 대한 공개 토론이 커뮤니티에 유용할 것 같습니다. 예를 들어, 초기화에서 누군가는 거의 아무것도 쓰지 않고 누군가는 이 블록을 아주 많이 채웁니다. EA가 수행해야 하거나 수행하지 않아야 하는 확인 사항. 가상 테이크 앤 스톱 여부 등 전략을 실행하는 방식도 흥미롭다.
그래서 제 제안은 누군가가 지식을 공유하기를 원하는 경우입니다. 그런 다음 예를 들어 그리드의 예 또는 이동 평균을 기반으로 하는 단순 어드바이저의 구현에 대해 논의할 수 있습니다. 예를 들어 평균과의 편차가 있는 경우 평균으로의 복귀를 기다리고 있습니다. 또는 보여주고 싶은 다른 전략. 왜 이런 식으로 작성하기로 결정했는지 설명과 함께 코드를 퍼뜨리십시오.
공개 커뮤니티의 교육 및 코드 품질 향상에 기여하기로 결정한 사람들에게 미리 감사드립니다.
이 사이트에서 Expert Advisors 개발 에 대한 모든 기사를 읽었는데 충분하지 않은 것 같습니까? 그리고 당신은 리터럴리스트입니다 ..)
프로그램 실행 패러다임을 형성하는 것이 어렵다고 생각합니다. 예, 시간 단축에 대한 이 기사를 보았습니다. 매우 유용합니다. 그러나 단일 조각의 실행 시간을 줄이는 것이 무슨 소용이겠습니까. 예를 들어, 솔루션 접근 방식 자체가 다른 솔루션 접근 방식과 비교하여 상당한 속도 저하를 가져올 때. 당신은 당신보다 전문가 고문을 작성하는 더 좋은 방법이 없다고 확신합니다. 축하합니다. 당신은 아마도 최고 수준의 전문가일 것입니다. 그럼 예제 코드를 보여주시겠습니까?
프로그램 실행 패러다임을 형성하는 것이 어렵다고 생각합니다. 예, 시간 단축에 대한 이 기사를 보았는데 매우 유용합니다. 하지만 한 조각의 실행 시간을 줄이는 것이 무슨 소용이겠습니까. 예를 들어, 솔루션 접근 방식 자체가 다른 솔루션 접근 방식과 비교하여 상당한 속도 저하를 가져올 때. 당신은 당신보다 전문가 고문을 작성하는 더 좋은 방법이 없다고 확신합니다. 축하합니다. 당신은 아마도 최고 수준의 전문가일 것입니다. 그럼 예제 코드를 보여주시겠습니까?
여기 기사에 대한 링크는 키워드에 의해 자동으로 삽입됩니다.
그리고 나는 작성자가 특히 당신과 같은 사람들을 위해 코드를 씹고 설명하는 기성 고문이 있는 많은 기사를 의미했습니다. 당신은 그들을 보았습니까? 거기에도 많은 예가 있습니다.
최적의 경로는 상황적 개념입니다.
체계적인 접근이 좋습니다.
Expert Advisor를 만드는 과정을 두 단계로 나눕니다.
1. 알고리즘
2. 코드.
가장 중요한 것은 알고리즘을 공식화하는 방법을 배우는 것입니다. 그리고 여러 가지 방법 중 더 편리한 방법으로 코딩할 수 있습니다.
여러 피드백이 있는 상태 머신 - 친숙한가요? 그렇지 않은 경우 이론을 공부하면 춤을 출 위치가 더 명확해질 것입니다.
안녕하세요. 나는 mql5를 배우고 있고 아주 오랫동안 땅에서 벗어날 수 없습니다. 사람마다 프로그램을 작성하는 방식이 다르기 때문에 모두 자신의 접근 방식에 자신 있고 초보자는 어떤 것이 최적인지 이해하기 어렵습니다.
나는 그것을 스스로 알아내고 싶고, Expert Advisors의 일반적인 블록에 대한 최적의 솔루션 구현에 대한 공개 토론이 커뮤니티에 유용할 것 같습니다. 예를 들어, 초기화에서 누군가는 거의 아무것도 쓰지 않고 누군가는 이 블록을 아주 많이 채웁니다. EA가 수행해야 하거나 수행하지 않아야 하는 확인 사항. 가상 테이크 앤 스톱 여부 등 전략을 실행하는 방식도 흥미롭다.
주제의 의미가 명확하지 않습니다.
각 코더는 자신의 선호도, 원칙, 프로그램 구조에 대한 자신의 견해를 가지고 있음이 분명합니다. 당신은 당신의 것입니다. 이를 개발하려면 코드를 작성하고 테스트해야 합니다. 패턴이 식별되고 오류가 식별되면 어떤 프로그램 구조가 더 적합한지에 대한 아이디어가 형성됩니다.
특정 구현 - KodoBase에는 많은 옵션이 있습니다. 무엇이든 가져 와서 고려하고 사용하고 변경하십시오.
그 밖에 무엇이 필요합니까?
주제의 의미가 명확하지 않습니다.
각 코더는 자신의 선호도, 원칙, 프로그램 구조에 대한 자신의 견해를 가지고 있음이 분명합니다. 당신은 당신의 것입니다. 이를 개발하려면 코드를 작성하고 테스트해야 합니다. 패턴이 식별되고 오류가 식별되면 어떤 프로그램 구조가 더 적합한지에 대한 아이디어가 형성됩니다.
특정 구현 - KodoBase에는 많은 옵션이 있습니다. 무엇이든 가져 와서 고려하고 사용하고 변경하십시오.
그 밖에 무엇이 필요합니까?
코드 베이스를 보고 있습니다. 나는 단 한 명의 작성자의 코드에 대해 의심의 여지가 없었습니다. metaquotes, 이것은 공식 개발자입니다. 나는 그에게서 배우고 있다. 거기에서 사람은 논리적으로 작성하고 내장 기능을 최대한 활용합니다. 하지만 그는 조언자가 많지 않습니다. 일반적으로 다른 작성자의 의심스러운 코드가 많이 있으며, 왜 그런 식으로 작성되었는지 보고 이해하지 못하는 경우가 종종 있습니다. 글쎄요, 사람들이 이러한 구현에 대해 어떻게 그렇게 확신하는지 놀랍습니다. 물론 내가 지나치게 생각하고 있을지도 모른다. 그들이 여기에서 말했듯이 그것이 효과가 있었다면 아마도 이미 쓸 필요가 있습니다.
그러나 조만간 오픈 소스에서 일종의 합의가 있을 것으로 보입니다. 결국, 사람들은 때때로 같은 것을 단지 변형만 씁니다. 그러니 기성품을 만들어 토론해 보세요. 마찬가지로 그리드의 구현은 이미 속도와 기능면에서 최적의 한계에 도달했습니다. 나는 그것을 할 거 야. 나만 최적의 솔루션을 사용하기에 충분한 지식이 없습니다. 이제 나는 다이어그램을 그릴 것입니다. 가장 먼저 떠오르는 것이 그 다음이 될 것입니다. 아니면 같은 수준의 지식을 가진 다른 사람에게서 가져갈 것입니다. 그리고 실천의 예를 들었다면 경험이 많고 박식한 사람들이 가세해 시정하고 서로 논쟁하고 공감대를 형성했을 것이다. 그리고 결국 모든 사람은 품질 코드 또는 따라야 할 최소한의 예를 얻게 됩니다.
좋은 아이디어입니다. 한 때 김이고르 의 베이스가 많은 도움이 되었고, 많은 도움이 되었습니다. :)
코드 베이스를 보고 있습니다. 나는 단 한 명의 작성자의 코드에 대해 의심의 여지가 없었습니다. metaquotes, 이것은 공식 개발자입니다. 나는 그에게서 배우고 있다. 거기에서 사람은 논리적으로 작성하고 내장 기능을 최대한 활용합니다. 하지만 그는 조언자가 많지 않습니다. 일반적으로 다른 작성자의 의심스러운 코드가 많이 있으며, 왜 그렇게 작성되었는지 보고 이해하지 못하는 경우가 종종 있습니다. 글쎄요, 사람들이 이러한 구현에 대해 어떻게 그렇게 확신하는지 놀랍습니다. 물론 내가 지나치게 생각하고 있을지도 모른다. 그들이 여기에서 말했듯이 그것이 효과가 있었다면 아마도 이미 쓸 필요가 있습니다.
그건 다른 문제입니다.
추산, 가끔 내 자신의 코드를 보는데 왜 여기에서 그렇게 쓰여졌는지 이해가 되지 않는다. 그러므로 나는 모든 미묘함을 언급하려고 노력하면서 그러한 장소에 대해 아주 자세하게 언급하려고 노력합니다. 동시에, 어쨌든, 나는 정기적으로 내가 몇 가지 점을 고려하지 않은 것을 봅니다.
또한 - 저는 매우 권위 있는 포럼 회원이 작성한 다음 코드(실행 유형을 결정하기 위해)를 사용합니다.
ENUM_ORDER_TYPE_FILLING CSymbolInfo::GetTypeFilling( string strSymbol, ENUM_ORDER_TYPE_FILLING otfFilingType) { #ifndef __MQL5__ return (otfFilingType); #else // __MQL5__ const ENUM_SYMBOL_TRADE_EXECUTION steExeMode = ( ENUM_SYMBOL_TRADE_EXECUTION ):: SymbolInfoInteger (strSymbol, SYMBOL_TRADE_EXEMODE ); const int iFillingMode = ( int ):: SymbolInfoInteger (strSymbol, SYMBOL_FILLING_MODE ); return ((iFillingMode == 0 || (otfFilingType >= ORDER_FILLING_RETURN ) || ((iFillingMode & (otfFilingType + 1 )) != otfFilingType + 1 )) ? (((steExeMode == SYMBOL_TRADE_EXECUTION_EXCHANGE ) || (steExeMode == SYMBOL_TRADE_EXECUTION_INSTANT )) ? ORDER_FILLING_RETURN : ((iFillingMode == SYMBOL_FILLING_IOC ) ? ORDER_FILLING_IOC : ORDER_FILLING_FOK )) : otfFilingType); #endif // __MQL5__ };
나는 그것이 어떻게 작동하는지 이해하지 못합니다. 더욱이 이 포럼 회원은 질문을 받았을 때 더 이상 기억이 나지 않는다고 말했습니다. 단지 이 코드가 이미 여러 번 테스트되었기 때문에 신뢰할 수 있을 뿐입니다.
음 ... 이 어리석은 "질문"을 정상적인 if 문으로 대체할 수 있다면 어떻게 그리고 무엇을 ... 지금까지 - 그래서 ...
안녕하세요. 나는 mql5를 배우고 있고 아주 오랫동안 땅에서 벗어날 수 없습니다. 사람마다 프로그램을 작성하는 방법이 다르기 때문에 모두 자신의 접근 방식에 자신 있고 초보자는 어떤 것이 최적인지 이해하기 어렵습니다.
나는 그것을 스스로 알아내고 싶고, Expert Advisors의 일반적인 블록에 대한 최적의 솔루션 구현에 대한 공개 토론이 커뮤니티에 유용할 것 같습니다. 예를 들어, 초기화에서 누군가는 거의 아무것도 쓰지 않고 누군가는 이 블록을 아주 많이 채웁니다. EA가 수행해야 하거나 수행하지 않아야 하는 확인 사항. 가상 테이크 앤 스톱 여부 등 전략을 실행하는 방식도 흥미롭다.
그래서 제 제안은 누군가가 지식을 공유하기를 원하는 경우입니다. 그런 다음 예를 들어 그리드의 예 또는 이동 평균을 기반으로 하는 단순 어드바이저의 구현에 대해 논의할 수 있습니다. 예를 들어 평균과의 편차가 있는 경우 평균으로의 복귀를 기다리고 있습니다. 또는 보여주고 싶은 다른 전략. 왜 이런 식으로 작성하기로 결정했는지 설명과 함께 코드를 퍼뜨리십시오.
공개 커뮤니티의 교육 및 코드 품질 향상에 기여하기로 결정한 사람들에게 미리 감사드립니다.