Metatrader(MQL) 또는 cTrader(cAlgo) 중 어느 것을 선호하십니까?
페이지 1 중 912 12 마지막마지막
결과 1 - 10 / 13

실: Metatrader(MQL) 또는 cTrader(cAlgo) 중 어느 것을 선호하십니까?

  1. #1
    나는 당신들에 대해 궁금할 뿐입니다. 여기 누군가(MQL을 작성하기 위해) MetaTrader를 많이 사용하지만 cTrader(cAlgo)를 사용하는 사람은 거의 없습니까?

    브로커가 제공하는 특전 외에도 MetaTrader가 EA를 구축하기에 가장 좋은 플랫폼은 아니라고 생각합니다. MQL = C , 기본 코드로 C 를 사용하고 있습니다. 문서 페이지에 다음과 같이 작성되어 있습니다.
    https://www.mql5.com/en/docs
    cTrader(cAlgo)는 C#을 기본 코드로 사용합니다.

    저는 전임 기술 컨설턴트, 응용 프로그램 개발자, 신인 웹 디자이너이며 최근 응용 프로그램 개발 기술의 대부분을 알고 있습니다. 저는 10년 이상 이 일을 해왔고 C#과 Java가 모두 강력한 경쟁자라는 것을 알게 되었습니다. 둘 다 Javascript, Scala, Go, Phyton과 함께 가장 인기 있는 10대 프로그래밍 언어에 이름을 올렸습니다. 그러나 그들 중 어느 것도 C 가 아닙니다. 내 경험에 따르면(3개의 EA를 작성한 후) MQL은 어렵습니다. 논리가 무언가를 계산하는 것처럼 단순하다면 시장을 기반으로 보류 주문이나 포지션을 생성하면 MQL이면 충분합니다. 그러나 더 복잡한 아이디어로 들어가면 MQL만으로는 충분하지 않습니다. 죄송합니다.


    제 EA 중 하나인 터널 마틴게일(TM)을 예로 들어 보겠습니다. 내 스레드를 팔로우하면 (
    https://www.koreaforex.kr/trading-sy...ivots-win.html) 상용 섹션에서는 실제로 MQL을 사용하여 빌드되었습니다. 논리가 간단하기 때문입니다! 무작위로 시장 포지션을 시작한 다음, 보류 주문에 도달/실행되면 반대 방향으로 보류 주문을 넣은 다음 반대 방향으로 또 다른 보류 주문을 하는 등의 작업을 수행합니다. 전략은 단지 전략일 뿐이고, 실패하고, 투자금을 빨아들인 다음, 다시 도면으로 돌아갑니다.
    개선 아이디어가 조금 더 발전함에 따라 MQL을 사용한 코딩은 점점 더 어려워지고 있습니다. 개선할 아이디어 중 하나는 martingale 시리즈를 무제한으로 실행하는 대신 특정 간격/기간 동안 특정 날짜와 시간에만 시간 프레임을 제한할 수 있다는 것입니다. 이제 여기 캐치가 있습니다.
    C 에서 날짜와 시간을 처리하는 방식은 현재 1970년 1월 1일부터 계산된 눈금을 나타내는 정수를 기반으로 하는 고대 데이터 유형을 사용하고 있습니다! 그것은 어떤 선사 시대 물건과 같습니다. 이제 A에서 B까지의 특정 날짜와 시간을 정의하려면 해당 날짜의 눈금 표시를 알아야 한다는 것을 이해했습니다.

    따라서 TM이 2020년 3월 31일 12:00:00에 시작한다고 쓰고 싶다면 매개변수, 변수 또는 EA의 사용자인 나 사이의 모든 통신 방법에 637212528000000000을 써야 합니다. 그게 아니라 MQL에서 DateTime 함수는 매우 제한적입니다.

    이제 또 다른 문제는 입력 매개변수에서 날짜에 대한 개체를 도입하려는 것입니다. MQL과 cAlgo 모두 복잡한 입력 매개변수를 정의하는 방법은 없습니다. 그러나 JSON 또는 XML과 같은 파일 구성을 도입하여 이를 수행할 수 있습니다. MQL에서는 파일을 읽는 데 몇 줄이 걸립니다. 포인터의 개념을 이해해야 합니다. 파일 핸들이 닫혀 있는지 확인해야 합니다. 닫히지 않은 경우 핸들을 닫아야 합니다. 그렇지 않으면 멈춥니다. 등등.
    cAlgo에서 이 작업은 함수를 호출한 다음 변수에 할당하여 수행할 수 있습니다. 딱 1줄.

    이제 프로그래밍 세계의 객체에 대해 이야기합니다. 일단 구성 파일을 읽으면 객체 내부에 다른 객체 등의 배열이 있는 OOP를 사용하여 구성에 액세스할 수 있습니다. C 의 OOP는 완전히 시간 낭비입니다. 그 이유는 다음과 같습니다.C 에서 단순히 XML이나 JSON을 객체로 읽을 수 없습니다. 이를 달성하기에는 너무 많은 단계가 있지만 cAlgo에서는 최소 2줄로 수행할 수 있습니다. 단순히 객체 배열을 정렬할 수는 없습니다(이것은 어리석은 일입니다). 정렬할 데이터 유형이 날짜 시간과 같은 다른 데이터 유형이 아닌 숫자(int, long, short)인 경우 정렬할 수 있습니다. 그리고 정렬은 매우 간단합니다. 다른 기능은 없습니다. 자신만의 정렬 기능을 만들어야 하고 이렇게 하면 시간이 많이 낭비됩니다. 그 두 가지 이유 때문에 저는 기회를 포기하고 cTrader로 옮겼습니다.

    MQL을 배우고 싶지 않다는 것이 아닙니다. 하지만 EA를 작성하는 것은 비즈니스 애플리케이션을 작성하는 것과 같아야 하며, 덜 중요한 내용을 계속 진행하면서 강력하고, 빠르고, 빠르고, 단순해야 합니다. 기계, 로봇, 게임을 위한 코드를 작성하거나 기계어 계층에 더 빠르게 액세스해야 하는 코드를 작성하는 경우가 아니라면 C 가 최선의 선택입니다.

    지금 하와이에 있는 서 있는 장소에서 목적지인 뉴욕으로 가고 싶다고 상상해 보십시오. C#(또는 cTrader/cAlgo)을 사용하면 자동차, 페리 티켓, 비행기 티켓, 버스, 기차 등 목적지에 빨리 도달할 수 있는 모든 교통 수단을 사용(또는 구매)하면 됩니다. MQL을 사용하면 1781년에 살고 있는 것처럼 느껴집니다. 그곳에 가려면 손으로 배를 만들어야 합니다.

    여러분의 경험은 어떻습니까?

  2. #2
    Quote 원래에 의해 게시 됨 ;
    {인용} 맞습니다. 그리고 당신과 같은 이유로 (정반대). 10년 전에 시작했을 때 MQL의 프레임워크 기능 부족에 짜증이 나서 직접 프레임워크를 작성하기로 결정했습니다(Github 참조). 이제 필요한 대부분의 기능이 있으며 모든 것을 다른 플랫폼으로 이식하려면 엄청난 시간과 노력이 필요합니다. 그것이 cTrader에 관한 나의 주요 관심사이며 일반적으로 그것에 대해 반대하는 것이 없습니다. 브로커 지원은 아직 좋지 않지만 일부 더 나은 브로커가 이미 지원하고 있습니다. 당신의 이정표는 다를 것입니다. 당신의 필요에 가장 잘 맞는 일을하십시오 ....
    그래, 맞아. 유일한 것은 10년 전에는 cTrader가 없었다는 것입니다.
    Quote 원래에 의해 게시 됨 ;
    {quot} 데이터 구조를 표현할 수 있는 모든 구성 메커니즘이 가능합니다. JSON을 사용하고 JSON 파서가 필요합니다. 괜찮은. 일반 .ini 파일을 사용하고 .ini 파서가 필요합니다. 나는 내 자신을 썼다. 개발자의 삶이 그렇습니다. :-) {이미지}
    나는 꽤 오랫동안 INI 파일을 듣지 못했습니다. 이것은 또한 더 나은 구조를 제공합니다.

  3. #3
    첨부 파일 1개
    Quote 원래에 의해 게시 됨 ;
    {quote}...EA에 태그를 추가할 날짜와 시간 목록을 아직 확인해야 합니다. 저는 완전히 자동화되고 모니터링이 덜하고 게임에 대한 감정이 덜하고 가끔씩 보고 잊어버릴 수 있는 거래 시스템을 찾고 있습니다. 이를 염두에 두고 다음과 같은 일련의 복잡한 구성이 필요합니다.{image}
    데이터 구조를 표현할 수 있는 모든 구성 메커니즘이 가능합니다. JSON을 사용하고 JSON 파서가 필요합니다. 괜찮은. 일반 .ini 파일을 사용하고 .ini 파서가 필요합니다. 나는 내 자신을 썼다. 개발자의 삶이 그렇습니다. :-)

  4. #4

    Quote 원래에 의해 게시 됨 ;
    {인용} 오, 아마도 당신은 cAlgo를 보았거나 시도했지만 내가 생각한 이후로 많이 탐색하지 않았습니까? n 이 토론을 계속...?
    옳은. 그리고 당신과 같은 이유로 (정반대). 10년 전에 시작했을 때 MQL의 프레임워크 기능 부족에 짜증이 나서 직접 프레임워크를 작성하기로 결정했습니다(Github 참조). 이제 필요한 대부분의 기능이 있으며 모든 것을 다른 플랫폼으로 이식하려면 엄청난 시간과 노력이 필요합니다. 그것이 cTrader에 관한 나의 주요 관심사이며 일반적으로 그것에 대해 반대하는 것이 없습니다. 브로커 지원은 아직 좋지 않지만 일부 더 나은 브로커가 이미 지원하고 있습니다. 당신의 이정표는 다를 것입니다. 귀하의 필요에 가장 잘 맞는 일을 하십시오. :-)

  5. #5
    첨부 파일 1개
    Quote 원래에 의해 게시 됨 ;
    이 요구 사항은 우리의 선택을 제한합니다. Java(내가 선호하는 언어) 및 C#은 그다지 좋지 않을 수 있지만 자동화된 거래(소매)는 불가능합니다. 따라서 내가 자동화된 거래자라면 프레임워크와 관련된 옵션이 더 적습니다. 내가 임의의 거래자라면 로컬 사용자 지정 지표(cTrader일 수 있음)가 있는 C#이 좋습니다.
    내 요구 사항이 너무 높거나 너무 게으름 때문일 수 있습니다.
    전자동 거래를 하고 싶지만 반자동 거래인 것 같습니다. EA에 태그를 지정하려면 날짜와 시간 목록을 아직 확인해야 하기 때문입니다. 저는 완전히 자동화되고 모니터링이 덜하고 게임에 대한 감정이 덜하고 가끔씩 보고 잊어버릴 수 있는 거래 시스템을 찾고 있습니다. 이를 염두에 두고 다음과 같은 일련의 복잡한 구성이 필요합니다.

  6. #6
    Quote 원래에 의해 게시 됨 ;
    cAlgo를 사용하면 실제로 매우 깨끗한 개발 환경을 갖게 되지만 여전히 거의 각 단계에서 벽에 부딪힙니다. 아직 당신의 시간이 아닙니다.
    오, 아마도 당신은 cAlgo를 보았거나 시도했지만 내가 생각한 이후로 많이 탐색하지 않았습니까? cAlgo에서는 MQL과 같은 거래 플랫폼으로 작성하고, 코드를 컴파일하고, *.algo 파일을 생성할 수 있습니다. 정확히 동일합니다! 그러나 Visual Studio에는 Open이라는 기능이 있으며 Visual Studio IDE는 무료입니다(
    https://visualstudio.microsoft.com/vs/community/). 그리고 EA를 만들 때마다(cAlgo는 정확한 이름임) 정확한 Visual Studio 프로젝트를 만듭니다. 당신은 그것을 꺼내고, 다른 클래스로 클래스를 확장하고, 다른 라이브러리를 추가할 수도 있습니다. 그래서 여기까지는 벽이 보이지 않습니다. 원하는 경우 트위터 메시지를 게시하는 것부터 시작하여 다른 웹 서비스, 웹훅, IoT 항목을 호출하고 Azure 등과 통합하는 등 원하는 모든 것을 코딩할 수 있습니다.
    Quote 원래에 의해 게시 됨 ;
    따라서 완벽한 플랫폼은 예산이 넉넉한 사람들(예: Deltix의 경우)에만 존재하며 우리의 소매 작업은 이 불완전한 소매 세계를 최대한 활용하는 것입니다. {quot}당신이 찾고 있는 것이 존재하지만 당신은 그것을 지불해야 합니다. 토끼는 그렇게 달린다. (So ​​läuft der Hase) :-) {이미지}
    이미 PDF를 보고 C# 및 .NET Framework도 사용하고 있습니다. 나는 이미 내가 찾고 있는 것을 찾았습니다.
    어쨌든 좋은 토론과 당신을 알게되어 반가워요! 이 토론을 계속할 수 있을까요...?

  7. #7

    Quote 원래에 의해 게시 됨 ;
    ...MQL이 C 인 줄 알고 헷갈렸을지도...
    나는 당신의 요점을 완전히 이해합니다. 아마도 당신은 애플리케이션 개발자의 관점에서 더 생각해야 할 것입니다. 사용자 입력은 항상 스칼라 값을 통해 입력됩니다. 나는 사용자 입력이 개체 인스턴스를 통해 입력되는 세계의 어떤 응용 프로그램도 모릅니다. 개체 인스턴스는 매개변수를 통해 전달될 수 있지만 사용자 입력으로는 전달되지 않습니다. 어쨌든, 언어를 비교하는 접근 방식은 기술과 취향이 우리 모두를 만족시키기에 다르기 때문에 실제로 아무 것도 얻지 못할 것입니다. 임호 일반적인 사용 사례를 비교하는 것이 좋습니다. 이는 네이키드 차트를 사용한 임의 거래입니다. 사용자 지정 표시기가 있는 임의 거래는 원격 신호 생성을 통한 임의 거래를 지원합니다. 완전 자동 거래(원격) 모든 사용 사례에 대해 플랫폼/언어/프레임워크에 대한 요구 사항이 다릅니다. 여기에서 우리에게 가장 적합한 결정을 내려야 합니다. XML 또는 JSON에 사용할 수 있는 라이브러리가 아닙니다. 또한 메일, 로깅, 모니터링, 메시징, 원격 제어 등과 같은 사용자 및/또는 기타 시스템과의 상호 작용이기도 합니다. 이러한 요구 사항은 우리의 선택을 제한합니다. Java(내가 선호하는 언어) 및 C#은 그다지 좋지 않을 수 있지만 자동화된 거래(소매)는 불가능합니다. 따라서 내가 자동화된 거래자라면 프레임워크와 관련된 옵션이 더 적습니다. 내가 임의의 거래자라면 로컬 사용자 지정 지표(cTrader일 수 있음)가 있는 C#이 좋습니다.

  8. #8
    Quote 원래에 의해 게시 됨 ;
    작업은 거래 로직을 쉽게 표현하는 것입니다. 예를 들어 Tradestation의 EasyLangugae는 MQL보다 훨씬 낫지만 여전히 MQL에 비해 기능이 제한적입니다. 이유가 있고 의도적입니다. 일반 응용 프로그램 개발에서 사용하던 모든 기능에 대한 완전한 프로그래밍 지원이 필요한 경우 다른 언어로 쉽게 전환하고 둘 사이를 연결할 수 있습니다. DLL(C/C , Pascal, C#)을 사용하여 수행되는 MQL에서 MQL의 큰 장점은 여기에 있습니다. 사용 가능한 모든 거래 플랫폼/언어에서 MQL은 가장 쉬운...
    저는 과거에 MQL과 다른 프로그래밍 언어 사이의 소위 브리징 언어인 이것을 평가하면서 연구를 수행했습니다. 그러나 모든 구성 요소에서 동일한 것을 사용하고 있습니다. 네트워크 소켓을 열고 네트워크 패킷을 통해 다른 언어의 브리지와 통신하도록 합니다. 이제 특정 시간에 1개의 주문인 것을 코딩하는 경우 이 기능이 좋습니다. 여러 거래를 열어야 하고 MQL을 코딩할 때와 같은 수준의 응답성을 요구하는 것은 좋지 않습니다. 본질적으로 네트워크 소켓을 통해 말하고 있기 때문입니다. 한 쪽 끝의 명령이 양쪽 끝에서 이해할 수 있는 공통 명령으로 변환되고 소켓을 통해 전송된 다음 다른 쪽 끝에 도달하면 본질적으로 MQL 코드로 변환되는 핸드셰이크를 기다려야 합니다. 그 당시 MT4API 개발자와 일련의 토론을 통해 작동 방식을 이해했습니다. MT4API는 무료이기 때문에! 무료가 아닌 다른 사람들은 분명히 네트워크 소켓을 사용하여 통신합니다. 따라서 결과가 무엇인지 예측할 수 있습니다.
    Quote 원래에 의해 게시 됨 ;
    MQL은 쉬운 API 덕분에 매우 좋으며 누락된 모든 기능을 지원할 필요가 없습니다. 다른 거래 플랫폼(이름 지정)에서도 동일한 작업을 시도하면 제 말을 이해하게 될 것입니다.
    MQL이 가장 쉽다고 해서 내가 가지고 있는 것과 같은 복잡한 시나리오를 지원할 수 있다는 의미는 아닙니다.
    정말 광범위한 기능이 필요하지 않습니다. 그러나 필요한 경우 MQL과 C# 간의 브리징 구성 요소에 대한 비용을 지불하거나 완전히 cTrader로 이동해야 합니다. 하지만 EA용으로 코딩하려는 경우 MQL이 가장 간단하다는 데 전적으로 동의합니다.

    Quote 원래에 의해 게시 됨 ;
    가장 누락된 부분은 EasyLanguage와 같은 예외 처리 및 COM 인터페이스입니다. 그러나 엉덩이의 가장 큰 고통은 제한된 기능이 아닙니다. 많은 기능의 버그입니다.
    EasyLanguage에 대해 잘 모릅니다. 그러나 내 의견으로는 IDE가 MQL보다 훨씬 나쁩니다. 그러나 우리는 상인이지만 코딩 방법을 모르는 사람을 수용하기 위해 이러한 것들이 있다는 요점을 알았습니다.

  9. #9
    MQL이 C 인 줄 알고 혼란스러웠을 수도 있습니다. 그러나 내 초점은 C 보다 MQL 자체에 더 중점을 둘 것입니다.
    Quote 원래에 의해 게시 됨 ;
    2020년 3월 31일 12:00:00과 같은 날짜는 정수로 표시되지 않고 D'2020.03.31 12:00:00'으로 표시됩니다. 더 쉬운 것은 상상하기 어렵습니다.
    DateTime IS는 정수로 표시되며 초 수를 나타내기 때문에 틱에 대해 잘못되었지만 요점은 알 수 있습니다. 인용:
    https://docs.mql4.com/dateandtime1970년 1월 1일 0시부터 경과한 초 수를 나타내는 정수 날짜를 있는 그대로 사용하는 것만이 목적은 아닙니다. 그러나 조작하려면(일, 분, 시간을 추가하고 텍스트로 변환하거나 그 반대로). 따라서 이 게시물은 내가 MQL을 계속 사용하지 못하도록 하는 이유 중 하나입니다.
    https://www.mql5.com/en/forum/101178. 하루를 추가하기에는 경로가 너무 많습니다.
    Quote 원래에 의해 게시 됨 ;
    datetime 입력 매개변수는 OS에서 제공하는 기본 DateTime 선택기를 지원합니다. 더 나은 것을 상상하기 어렵습니다.
    동의합니다. 지원됩니다. 그러나 MQL에서 EA의 입력 매개변수 중 하나로 DateTime의 배열을 지원할 수 있는지 알아보기 위해 수많은 시간을 보냈지만 내 기대를 충족할 수 없습니다. 내 말은, 우리가 MQL에서 제공하는 단순한 구조화되지 않은 입력 매개변수가 아니라 배열(복잡한)이기도 한 객체 내 다른 객체의 속성과 배열을 포함하는 다양한 유형의 객체인 입력 매개변수가 필요하다는 뜻입니다. 지금 참조하십시오. 그러나 해결 방법이 있습니다. 파일 경로를 입력 매개변수로 사용하십시오. 파일만 읽으면 코드 줄이 필요합니다(파일 핸들과 모든 것을 닫는 것은 말할 것도 없습니다). 이제 JSON 또는 XML을 지원하는 내장 함수가 표시되지 않습니다. 시중에 일부 라이브러리가 있지만 C#과 같은 견고성을 충족하지 못합니다. 특히 이보다 더 간단할 수는 없습니다.
    https://www.newtonsoft.com/json/help...lizeObject.htm코드의 핵심 라인은 단 2줄입니다. 나머지는 값과 클래스 자체를 덤프하는 것입니다.

  10. #10
    Quote 원래에 의해 게시 됨 ;
    {quot} 귀하의 게시물에 대해 생각나는 몇 가지 사항(불완전한 목록): 귀하의 대부분의 예는 프로그래밍 언어와 애플리케이션 프레임워크를 혼동하여 발생하는 문제를 지적합니다. MQL은 C 가 아닙니다. MQL은 C와 훨씬 더 유사한 스크립팅 언어입니다. 클래스 및 구조체 지원으로 인해 C 와 비슷하게 보이지만 C/C 는 실제 언어이고 MQL은 그렇지 않습니다. MQL은 바이트 코드로 컴파일되고 JavaScript와 더 유사한 인터프리터에 의해 실행됩니다. 사용 가능한 내장 함수는 C에서 사용할 수 있는 일부 기능을 다룹니다.
    감사. 마지막으로 C 전문가
    나는 C 와 MQL에 익숙하지 않지만 더 깊이 들어가지 않기로 선택한 것 같다. 이것은 MQL이 추가 기능과 거의 비슷하게 작동하는 dotnet의 MEF와 같다는 가정을 지웁니다. 이것이 (내 의견으로는) cAlgo가 해석되지 않고 컴파일되기 때문에 훨씬 더 나은 이유라고 생각합니다. 그것은 C#이기 때문에 C#과 똑같은 것을 상속합니다. 따라서 이것은 MQL이 내 아이디어로 작업하기 어려운 이유도 설명합니다.

게시 권한

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
쿠키 정책
쿠키 정책: koreaforex 웹사이트는 쿠키를 사용하며, 웹사이트를 사용자는 쿠키 사용에 동의하는 것입니다. 자세한 정보는 '쿠키 공개' 를 읽어주십시오.