개발자! 당신은 당신이 만드는 것을 전혀 테스트합니까? - 페이지 7

 

안녕하세요!

C-4

Stock#은 새로운 Cgate Plaza II 게이트웨이에 대해 무료가 아닙니다.

API Cgate - 거래소에서 자유롭게 배포합니다. 자신의 터미널을 작성하십시오(물론 MQ만큼 아름답지는 않을 것입니다).

어렵지 않습니다. Cgate API를 모든 언어 (DLL)로 자신의 Expert Advisor를 작성할 수 있는 사용자의 API로 변환하는 것은 어렵습니다.

기본적으로 내 생각은 이렇습니다.

EXCHANGE --> PLAZAII(API Cgate) --> 단순 터미널 --> DLL-user Advisor.

무화과에. Plaza II 프로토콜을 사용하여 거래소에서 테스트 견적을 받습니다.


터미널이 거의 준비되었습니다(이미 3일 동안 작성했습니다)!

언어(모든, DLL 고문)에서 원하는 "종소리"를 만들 수 있습니다(안경, 단추, 추가 그래픽 등).

개발 환경에 의해서만 제한됩니다.

그러나 이 개념에는 큰 단점이 있습니다. 즉, 어드바이저 테스트의 복잡성(현재는 로그를 통해서만)입니다.

반면에 명백한 이점은 교환 및 모든 프로그래밍 언어에 대한 "직접" 연결입니다.

추신: 클라이언트-서버 개념(일반적으로 모든 전자 상거래 포함)은 이벤트 모델에만 기반합니다. REQUEST-RESPONSE는 기본입니다!

원하는 것은 무엇이든 생각해낼 수 있지만(다양한 검사 등) 요청-응답이 올바르게 작동하지 않으면 결국 모두 동일합니다.

필연적으로 고문의 작업에 오류가 발생합니다.


 
Mikalas :

...

그러나 이 개념에는 큰 단점이 있습니다. 즉, 어드바이저 테스트의 복잡성(현재는 로그를 통해서만)입니다.

...

MT5 개념에는 매우 큰 장점이 있습니다. 즉, 지적인 남성과의 포럼에서의 커뮤니케이션입니다. 별 가치가 없다면...

 
Mikalas :

터미널이 거의 준비되었습니다(이미 3일 동안 작성되었습니다)!

3일동안 감동!

유일한 질문은 다음과 같습니다. 모든 것이 그렇게 좋다면 왜 여전히 MT5를 사용하고 있습니까?

DC2008 :

MT5 개념에는 매우 큰 장점이 있습니다. 즉, 지적인 남성과의 포럼에서의 커뮤니케이션입니다. 별 가치가 없다면...

네, 확실합니다. 이제 그러한 제품은 자체 생태계 없이는 생존할 수 없습니다. 포럼, 커뮤니케이션, 수천 명의 사용자, 무엇인가 게시할 준비가 된 나와 같은 활동가, 토론, 블로그... 사용자 지원이 없으면 어떤 프로젝트 도 그것이 무엇이든 조만간 구부러지고 그것을 개발하는 것은 헛될 것입니다.
 

C-4!

터미널 - 무언가를 표시하는 역할만 합니다!

나는 이미 그것이 전혀 어렵지 않다고 썼습니다. 가장 어려운 점은 Cgate API를 User API로 변환하는 것인데,

나는 해야 할 일의 1/200(가장 어려운 것은 아님) 부분을 수행했습니다.

Cgate Plaza II는 스트리밍 비동기 클라이언트-서버이며 스트림은

균일하지 않은 정보를 포함합니다!

아쉽게도 이 변신을 빨리 마칠 수 있는 레벨이 없다....

씨게이트를 통해 작동하는 (유료) 제품은 시중에 2개뿐인데 저는 안씁니다

맞아요.

따라서 FORTS에서 내가 CGate Trader를 작성할 때까지 - MT5.

 

그건 그렇고, 2011년 1월 24일자 MetaQuotes Software Corp 의 MetaTrader 5의 거래 이벤트 라는 주제에 대한 흥미로운 기사를 보았습니다. 무엇보다도 다음과 같이 말합니다.

Сообщения о торговых событиях и об изменениях в торговой истории поступают по независимым каналам. При отправке запроса на покупку функцией OrderSend() можно сразу же узнать тикет ордера, который был создан при успешном результате проверки запроса. Но в то же время сам ордер еще может не появиться в клиентском терминале и попытка выбрать его с помощью функции OrderSelect() окажется неуспешной.

또한 :

거래 서버의 모든 작업과 거래 이벤트에 대한 메시지 전송은 비동기적으로 수행됩니다. 거래 계정에서 변경된 사항을 정확히 알아낼 수 있는 보장된 방법은 단 한 가지뿐입니다. 이 방법은 거래 및 거래 이력의 상태를 기억하고 저장된 상태와 새 상태를 비교하는 것입니다.

다음은 주문 및 거래 카운터를 올바르게 구성하는 방법의 예입니다.

topicstarter의 문제를 신중하게 조사하면 전혀 문제가 없다는 것이 밝혀졌습니다. OnTradeTransaction() 함수를 포기하고 높은 업데이트 해상도로 OnTimer()의 모든 변경 사항을 포착하려면 자신의 도덕적 힘을 찾아야 합니다. .

몇 분 만에 변경된 히스토리로 작업하는 예제를 던졌습니다.

 ///
/// Следит за поступлением новых трейдов и ордеров.
///
void OnTimer ()
{
     datetime tBegin = TimeCurrent ();
     HistorySelect (dataBegin, TimeCurrent ());
     //Если новые трейды не поступили, то и нечего обрабатывать.
     if ( HistoryDealsTotal () == 0 ) return ;
     AddDeals();
     dataBegin = tBegin;
}
이 예에서는 숨겨진 함정이 있어서 그대로 사용할 수는 없지만 개념은 명확하다고 생각합니다. 마지막으로 처리된 거래에서 시작하여 현재 시간으로 끝나는 기록 조각을 다운로드할 때마다. 새로운 거래가 도착하면 처리하고 거래가 도착한 시점에 히스토리 로딩 시작을 혼합합니다.
 
C-4 :

그건 그렇고, 2011년 1월 24일자 MetaQuotes Software Corp 의 MetaTrader 5의 거래 이벤트 라는 주제에 대한 흥미로운 기사를 보았습니다. 무엇보다도 다음과 같이 말합니다.

로쉬 :

또한 주제에 대한 기사가 있습니다.

 

그리고 나는 저자가 시간을 낭비하지 않고 거래 로봇을 만드는 방법 기사를 읽을 것을 권장합니다. 다음에 적합:

Программисты часто выбирают четвертый путь – они сразу начинают писать торгового робота и не хотят особенно тратить время на ручную торговлю. Зачем? Ведь можно сразу написать автомат, потратив на это несколько месяцев, и затем только пожинать плоды своего труда.

그러나 "노력 없이 연못에서 물고기를 꺼낼 수는 없습니다." 그리고 종종 거래 로봇 대신 프로그래머는 필요한 모든 인프라를 알고 있는 프로그래밍 언어로 처음부터 쓰기 시작합니다. 가격 데이터 수신 및 처리, 차트 및 지표, 전략 백테스팅을 위한 자체 도구 등

이 작업의 과정에서 그는 많은 유용한 경험을 얻습니다. 그러나 동시에 그는 가장 자주 궁극적인 목표인 자동 거래 시스템의 생성에 한 걸음도 다가가지 않습니다. 그리고 그것이 끝까지 간다 해도, 서면 로봇이 수익을 낼 것이라는 보장은 어디에 있습니까? 그리고 그가 다른 거래 시스템을 만들고 싶다면? 모든 것을 재구축하고 불가피한 새로운 프로그래밍 오류를 처리해야 합니다.

 

바실리!

물론, MT-5에 대한 당신의 애착을 이해하지만, 내 말을 받아들이십시오.

잘못된 데이터도 거기에 입력될 수 있기 때문에 역사를 파헤치는 것은 의미가 없습니다!

클라이언트-서버 = 요청-응답이라는 간단한 것을 이해하십시오!

보세요, 주문이 현대화되었고 부분적으로 채워졌다는 답변이 옵니다.

역사에 어떤 일이 일어날 것 같습니까?

 

로크!

당신은 내가 5번 읽었던 것을 나에게 너무 강요하고 있습니다.

로봇을 만드는 것(또는 로봇을 작성하는 방법)에 대해 말하는 것이 아니라

MT-5의 특정 오류!

사진을 유심히 보셔도 상관없어요

첨부했습니다( TIME MESSAGES)

 
Mikalas :

사진을 유심히 보셔도 상관없어요

첨부했습니다( TIME MESSAGES)

불쌍한 사람, 내가 당신을 도울 수 있다면 얼마나 좋을까... 너무 긴장하고 비명을 질렀습니다.


스크린샷 대신 텍스트 로그 파일을 줄 수 있습니까?

+ 오류를 재현할 수 있는 코드는 무엇입니까?