구매 중지 판매 중지 Grid Expert Advisor를 클래스로 - 페이지 2

 

기능을 조금씩 추가하고 있습니다. 시작 시, 포지션과 보류 주문 이 없으면 보류 중인 스탑 오더가 배치됩니다. 버전 설명은 클래스 파일에서 수정됩니다.

 //+------------------------------------------------------------------+
//| 1.001:                                                           |
//|   when starting, sets Buy stop and sell stop                     |
//+------------------------------------------------------------------+

ds

 

흥미로운 점 - CBuyStopSellStopGrid::RefreshRates(void) 함수에서 Ask-bid에서 0 값을 확인합니다.

이게 현실적인 상황인가요?

일반적으로 더 이상 주석이 없으며 코드가 매우 투명하고 명확합니다.

 
George Merts :

흥미로운 점 - CBuyStopSellStopGrid::RefreshRates(void) 함수에서 Ask-bid에서 0 값을 확인합니다.

이게 현실적인 상황인가요?

일반적으로 더 이상 주석이 없으며 코드가 매우 투명하고 명확합니다.


예, 이것이 삶이며 모든 것이 여기에서 가능합니다. 일반적으로 테스터 때문에 값이 0인지 확인하는 방법을 도입했습니다(약 1년 전 사례가 있었습니다. 처음에는 처음 m = 몇 틱, 테스터는 0을 주었습니다).

기능을 조금씩 추가하고 있습니다. OnTradeTransaction 에서 포지션("DEAL_ENTRY_IN")이 있는 경우 보류 중인 주문을 삭제하고 두 개의 중지 보류 중인 주문을 다시 배치합니다.

 //+------------------------------------------------------------------+
//| 1.001:                                                           |
//|   when starting, sets Buy stop and sell stop                     |
//| 1.002:                                                           |
//|   OnTradeTransaction: if DEAL_ENTRY_IN delete all pending orders,|
//|   and, sets Buy stop and sell stop                               |
//+------------------------------------------------------------------+ 

BuyStopSellStopGrid 1.002

지금까지 단점은 다음과 같습니다.

  1. 각 틱에서 포지션 및 보류 주문의 수를 확인합니다.
  2. 거래 작업 실행에 대한 통제권이 없습니다(대기 주문 배치) - 대기 중인 주문이 제출되지 않은 경우 고문은 어떤 방식으로든 상황을 처리하지 않습니다.
  3. 차원이 없는 위치 집합 - 예를 들어 모집하고 매수 위치를 모집한 다음 bam 및 Sell 위치가 작동하는 상황은 어떤 식으로든 처리되지 않습니다.
 
Vladimir Karputov :

예, 이것이 삶이며 모든 것이 여기에서 가능합니다. 일반적으로 테스터 때문에 값이 0인지 확인하는 방법을 도입했습니다(약 1년 전 사례가 있었습니다. 처음에는 처음 m = 몇 틱, 테스터는 0을 주었습니다).

기능을 조금씩 추가하고 있습니다. OnTradeTransaction 에서 포지션("DEAL_ENTRY_IN")이 있는 경우 보류 중인 주문을 삭제하고 두 개의 중지 보류 중인 주문을 다시 배치합니다.


현재까지 다음과 같은 단점이 있습니다.

  1. 각 틱에서 포지션 및 보류 주문의 수를 확인합니다.
  2. 거래 작업 실행에 대한 통제권이 없습니다(대기 주문 배치) - 대기 중인 주문이 제출되지 않은 경우 고문은 어떤 방식으로든 상황을 처리하지 않습니다.
  3. 차원이 없는 위치 집합 - 예를 들어 모집하고 매수 위치를 모집한 다음 bam 및 Sell 위치가 작동하는 상황은 어떤 식으로든 처리되지 않습니다.

화면에 있는 알고리즘은 아무리 비틀어도 작동하지 않습니다. 알고리즘이 작동하려면 다음을 수행해야 합니다.

매수 신호가 수신되면 BUY STOP 주문 그리드가 첫 번째 캔들의 고점 위에 놓입니다. SELL STOP 주문의 종가보다 낮습니다. 손익의 사실이 아니라 다른 신호에 의해 주문을 마감해야 합니다. 다소 정상적인 신호가 있으면 그러한 시스템은 항상 작동합니다.

이것은 단지 선택 사항이며 모든 것이 다르게 수행 될 수 있습니다.

 
Ibragim Dzhanaev :

다소 정상적인 신호가 있으면 그러한 시스템은 항상 작동합니다.

"저점에서 매수하고 고점에서 매도하면 항상 이익을 얻을 것입니다."라고 쓰는 것이 좋습니다.

누가 논쟁하고 있습니까? 여기서 전체 문제는 "제정신의 신호"를 찾는 것입니다.

 

버전 1.003:

 //+------------------------------------------------------------------+
//| 1.001:                                                           |
//|   when starting, sets Buy stop and sell stop                     |
//| 1.002:                                                           |
//|   OnTradeTransaction: if DEAL_ENTRY_IN delete all pending orders,|
//|   and, sets Buy stop and sell stop                               |
//| 1.003:                                                           |
//|   OnTradeTransaction: DEAL_ENTRY_IN                              |
//|      DEAL_TYPE_BUY => ClosePositions(POSITION_TYPE_SELL)         |
//|      DEAL_TYPE_SELL => ClosePositions(POSITION_TYPE_BUY)         |
//|   PlacesXXXX:                                                    |
//|      "RefreshRates()" is now inside the "PlacesXXXX"             |
//|   OnTradeTransaction:                                            |
//|      a "while" loop for "PlacesXXXX"                             |
//+------------------------------------------------------------------+

  • 이제 위치를 열 때 모든 반대 위치가 닫힙니다.
  • 현재 가격 가져오기가 PlacesBuy 및 PlacesSell 기능 내부로 이동되었습니다. 이는 격차와 미끄러짐을 방지하기 위한 것입니다.
  • OnTradeTransaction에서 보류 중인 주문은 while 루프에 배치됩니다. 즉, 서버를 쓰디쓴 끝으로 망치는 것입니다. :) - 최상의 솔루션은 아니지만 현재로서는 유지됩니다.

실제로 이제 다음과 같이 생각할 수 있습니다.

  1. 위치를 늘리는 가장 좋은 방법(로트 볼륨 계산)
  2. 반대 입장은 어떻게 하지...

 
George Merts :

"저점에서 매수하고 고점에서 매도하면 항상 이익을 얻을 것입니다."라고 쓰는 것이 좋습니다.

누가 논쟁하고 있습니까? 여기서 전체 문제는 "제정신의 신호"를 찾는 것입니다.


가장 간단하고 확실한 옵션입니다.


 
난 당신을 가입 할 수 있습니다?
 

그 쯤.


 
Artiom Morochin :
난 당신을 가입 할 수 있습니다?

준비가 된. 저장소를 연결하고 저장소 에서 프로젝트 파일을 업데이트합니다.

사유: