유진, 기사 감사합니다! 통화 시장에 대한 제 지식 퍼즐의 많은 공백이 거의 완전히 채워졌습니다.
한 가지 뉘앙스가 있습니다. 테스트 중인 통화쌍에 접미사 또는 접두사가 있는 경우 일부 기사 독자는 전략 테스터에서 전문가 조언을시작하지 않을 수 있습니다 . 이 점을 고려하여 전문가 조언자 매개변수 설정에서 지정해야 합니다.
하지만 모든 것이 최고입니다 !!!
안부, 블라디미르.
유진, 어제 저는 기사의 텍스트 부분에 더 관심이 있었기 때문에 Expert Advisor의 코드를 자세히 보지 않았기 때문에 노란색으로 강조 표시된 코드 부분에 대해 질문하지 않았습니다:
//+------------------------------------------------------------------+ //|| //+------------------------------------------------------------------+ int CountOrders(string symb,ENUM_ORDER_TYPE type) { int count=0; for(int i=OrdersTotal()-1; i>=0; i--) { if(OrderSelect(OrderGetTicket(i))) { if(OrderGetInteger(ORDER_TYPE)==type && PositionGetString(POSITION_SYMBOL)==symb && PositionGetInteger(POSITION_MAGIC)==Magic) count++; } } return(count); }
저는 즉시 경고에 주목했습니다: 미체결 주문과 미체결 포지션을 계산하는 함수는 다음과 같습니다. 카운트오더와 카운트트레이드는 특정 심볼의 미체결 주문과 포지션을 매직 EA 숫자를 고려하여 계산합니다. 아직 코드에서 실제로 사용되지는 않지만 향후 버전에서 제한 사이의 스프레드를 중앙에 배치하는 일반 함수를 작성할 때 사용될 것입니다.....
그러나 나는 잘 이해하지 못합니다 - 당신의 아이디어입니까 아니면 다른 것이어야합니까?
안부, 블라디미르.
하지만 잘 이해가 되지 않습니다 - 여러분의 아이디어인가요 아니면 다른 것이어야 하나요?
안부, 블라디미르.
그렇지 않으면 Expert Advisor가 마술사의 주문을 다른 주문과 혼동하기 시작할 수 있습니다.) Symb는 향후 Expert Advisor의 다중 통화 버전을 만들 예정입니다. 아직 만들지 못했습니다)))))
이것은 기사가 아니라 MQ의 수치입니다. 어떻게 이런 것이 게시될 수 있을까요?
//+------------------------------------------------------------------+ //|| //+------------------------------------------------------------------+ int CountTrades(string symb) { int count=0; for(int i=PositionsTotal()-1; i>=0; i--) { if(PositionSelectByTicket(PositionGetTicket(i))) { if(PositionGetString(POSITION_SYMBOL)==symb && PositionGetInteger(POSITION_MAGIC)==Magic) { count++; } } } return(count); }
문서에 따르면 포지션겟티켓(i)은"이 함수는 오픈 포지션 목록에서 인덱스별로 포지션의 티켓을 반환하고 추가 작업을 위해 이 포지션을 자동으로 선택합니다..."라고 설명되어 있습니다. 포지션이 이미 선택되어 있는데 왜 PositionSelectByTicket 함수를 사용하여 티켓으로 포지션을 선택해야 하나요? 초보자에게 그렇게 하지 않는 방법을 가르치고 계신 건가요?
블라디미르의 발언은 상당히 공평합니다. 그리고 당신의 대답은 전혀 그것에 관한 것이 아닙니다... 주문으로 작업하는 경우 기호와 포지션 마법을 확인하는 이유????
코드를 제외하면 텍스트 부분도 마음에 들지 않았습니다.
쓰레기에 불과한 종이 조각에 불과하거든요.
흥미로운 주제지만 논쟁의 여지가 없죠.
우리가 어떤 종류의 시장을 만들고 있는 건지, 무슨 의미가 있을까요?
저자가 매트릭스가 부족해서 만들 수 없었다는 사실은 사실입니다.
그리고 거기에는 많은 것이 있습니다.
적어도 10년은 더 고민해야 만들 수 있을지도 모르죠.
시작이자 개선의 한 방법으로서 저는 이를 지지합니다.
Renat Akhtyamov #:
우리는 어떤 종류의 시장 조성을 만들고 있으며, 요점은 무엇입니까?
저자가 필요한 매트릭스가 부족했기 때문에 그것을 만들 수 없었다는 사실은 사실입니다.
기사를 대각선으로 읽지 말고 처음부터 끝까지, 즉 완전히 읽어야 그러한 질문이 발생하지 않습니다.
티켓이 이미 선택되지 않은 상태에서 PositionSelectByTicket () 함수를 사용하는 것에 대한 Alexey Viktorov의 비판에전적으로 동의합니다. 그건 그렇고, 나는 그것에주의를 기울이지 않았습니다.
어쨌든 기사 작성해 주셔서 감사합니다!
안부 전해주세요, 블라디미르
알렉세이 님, 설명해 주셔서 감사합니다. )) 제가 메시지를 작성할 때 동일한 문서(노란색으로 강조 표시됨)에 의존했습니다:
Функция возвращает тикет позиции по индексу в списке открытых позиций и автоматически выбирает эту позицию для дальнейшей работы с ней при помощи функций PositionGetDouble, PositionGetInteger, PositionGetString. ulong PositionGetTicket( int index // 항목 목록의 번호 ); Параметры index [in] Индекс позиции в списке открытых позиций, начиная с 0. Возвращаемое значение Тикет позиции. В случае неудачного выполнения возвращает 0.
안부, 블라디미르.
새로운 기고글 MQL5에서 마켓 메이킹 알고리즘 만들기 가 게재되었습니다:
많은 사람들은 마켓 메이커가 전혀 위험을 감수하지 않는다고 생각합니다. 하지만 이는 사실이 아닙니다. 마켓 메이커의 주요 위험은 재고 위험입니다. 이러한 위험은 포지션이 한 방향으로 급격하게 움직일 때 이를 청산하여 스프레드로 수익을 낼 수 없다는 사실에 있습니다. 예를 들어 사람들이 열광적으로 자산을 매도할 때 마켓 메이커는 공급량 전체를 사들일 수밖에 없습니다. 결과적으로 가격이 하락되면 마켓 메이커는 손실을 입게 됩니다.
기업들은 특수한 스프레드 중심적인 방정식을 사용하고 매수 및 매도에 대한 최적 가격을 결정함으로써 이러한 위험을 피하려고 노력합니다. 하지만 이것이 항상 가능한 것은 아닙니다. 가격이 최적이 아니더라도 마켓 메이커의 역할은 시장에 유동성을 공급하는 것이며 일시적으로 손실을 감수하더라도 이러한 역할을 반드시 수행해야 합니다.
작성자: Yevgeniy Koshtenko