은행 근무 시 0:00까지 직위 전환. 식별하는 방법? 홀은 도움이 필요합니다. - 페이지 7

 
Oldman_Evgeny :

글쎄, voschem, 아무도, 찔리지 않은 곳은 없습니다.

나는 나 자신을 발명해야 했다.

그래서.

23:50에 EA가 열리거나 닫히면 각 틱을 처리하는 것으로 전환합니다.

Expert Advisor가 틱으로 작동하면 아무데도 갈 필요가 없습니다.))))

23시 50분 이후 첫 번째 틱에 포지션을 강제로 청산합니다.

(23시 50분에 닫지 않으려고 하다가 나중에 23시 56분에 닫으려고 했더니 23시 56분부터 00시까지 틱이 한개도 안나오더군요.

롤오버가 켜진 다음 모든 것이 낭비되었습니다! ... 23:50의 여유를 가지고 가져갈 때마다 - 10 분에 최소 한 틱, 올 것입니다!)

동시에, 나는 포지션의 모든 매개변수를 기억합니다 - 매수 또는 매도 포지션, 손절매, 이익실현 등이 있었습니다....

나는 00:00까지 포지션을 여는 것을 금지합니다.

첫 번째 통과 틱에 00:00 이후, 나는 그 포지션의 모든 속성이 23:00에 닫히면서 같은 방향으로 강제로 포지션을 엽니다.

따라서 롤오버를 우회합니다.

일반적으로 롤오버보다 더 많은 손실을 입지만 정상적인 위치를 계속 유지합니다.

다른건 생각이 안나더군요...

월요일 시장이 01:00에 열리기 때문에 유일한 문제는 금요일입니다.

하지만 월요일 밤에 포지션을 열지 않기로 결정했습니다. 종종 다양한 "대격변"(갭, 반전 및 기타 쓰레기)이 있습니다.

금요일에는 포지션을 청산하면 끝입니다. 휴무일에도 똑같이 합니다.


추신. 롤오버 사기 중에 위치 데이터 전송이 부족하다고 생각합니다. AFD를 처리하겠습니다. Che에 있는 경우 중앙 은행에 불만을 제기할 수도 있습니다.

그리고 그들은 외환 거래자를 선호하지 않습니다.

그리고 롤오버 중에 위치의 식별자(티켓 아님)가 저장되지 않는 것은 무엇입니까?
 
로트의 방향과 크기만 저장됩니다. 다른 건 없습니다.
 
Oldman_Evgeny :
로트의 방향과 크기만 저장됩니다. 다른 건 없습니다.
 PositionGetInteger ( POSITION_IDENTIFIER )

그것은 무엇을 반환합니까?

 

PositionGetInteger( POSITION_IDENTIFIER )는 예상대로 티켓 번호를 반환합니다.

롤오버 이전의 위치가 아니라 롤오버의 결과로 생성된 새 티켓 번호....

그러나 롤오버 후 새 위치에서 m_position.Magic()=0이 됩니다. 따라서 전문가에서는 아무것도 작동하지 않습니다....

아마도 어떻게 든 수정을 통해 Magic을 새 위치로 밀어넣고 이전 위치에서 다른 모든 것을 밀어낼 수 있습니다.

그러나 나는 위에 쓴 대로 했다. 그러나 나는 이것에 대해 더 생각할 것입니다.

플랫폼을 갖춘 PSB가 그런 식으로 속임수를 쓰고 있다는 사실에 분노합니다.

그리고 내가 이해하는 한 그들은 혼자가 아닙니다 ...

상인의 침묵은 놀랍습니다! 모두가 장중 거래 또는 핍 거래만 합니까?

글쎄, 면허가있는 러시아 중개인이있을 때 "alparey"와 같은 일종의 부엌에서 거래하지 마십시오 ....
 

OnTick에 구성을 삽입하려고했습니다.

if(m_position.Magic() == 0) m_trade.SetExpertMagicNumber(EA_Magic);

구조가 작동하지 않습니다.

오픈 포지션 에서 마법을 바꿀 수 있는 방법은 없는 것 같습니다....

그래서 제가 위에서 설명한 것이 유일한 선택인 것 같습니다.

 
Oldman_Evgeny :

OnTick에 구성을 삽입하려고했습니다.

if(m_position.Magic() == 0) m_trade.SetExpertMagicNumber(EA_Magic);

구조가 작동하지 않습니다.

오픈 포지션 에서 마법을 바꿀 수 있는 방법은 없는 것 같습니다....

그래서 제가 위에서 설명한 것이 유일한 선택인 것 같습니다.

마법사랑 다들 뭐해? 클래스의 각 위치를 래핑하고 눈금에서 찾지 말고 계속 추적하십시오. 갑자기 닫히면 폐쇄 이유를 분석합니다. 이유가 롤오버인 경우 새 항목을 찾고 클래스 필드를 현재 필드로 변경합니다. 실패 후 다시 시작을 구성하기 위해 필요한 모든 정보를 별도의 파일에 작성합니다(글쎄, 저는 전역 터미널 변수를 좋아하지 않습니다).
 
Vladimir Simakov :
실패 후 다시 시작을 구성하기 위해 필요한 모든 정보를 별도의 파일에 작성합니다(글쎄, 저는 전역 터미널 변수를 좋아하지 않습니다).

Expert Advisor가 다른 시스템에서 작동한다면 파일을 가지고 다니시겠습니까?

 
Ihor Herasko :

Expert Advisor가 다른 시스템에서 작동한다면 파일을 가지고 다니시겠습니까?

FTP, 클라우드 - 옵션으로.
로봇이 데이터를 교환하기만 하면 파이프와 ws가 필요합니다.
 
Vladimir Simakov :
FTP, 클라우드 - 옵션으로.
로봇이 데이터를 교환하기만 하면 파이프와 ws가 필요합니다.

매직이 있다면 왜 이 모든 문제가 발생합니까? 대부분의 경우 눈으로 충분합니다. 적어도 나는 그것을 포장할 수 있었다:

  1. 주문/포지션이 열리는 신호 발생 시간
  2. 주문이 속한 그리드의 인덱스(전략이 그리드인 경우)
  3. 그리드의 주문 인덱스
  4. 전문가 ID 직접
물론 이 모든 것은 약간의 제한이 있습니다. 그러나 제한 사항은 상당히 합리적입니다. 그것들을 넘어서는 것은 드뭅니다.

 
Ihor Herasko :

매직이 있다면 왜 이 모든 문제가 발생합니까? 대부분의 경우 눈으로 충분합니다. 적어도 나는 그것으로 포장할 수 있었다:

  1. 주문/포지션이 열리는 신호 발생 시간
  2. 주문이 속한 그리드의 인덱스(전략이 그리드인 경우)
  3. 그리드의 주문 인덱스
  4. 전문가 ID 직접
물론 이 모든 것은 약간의 제한이 있습니다. 그러나 제한 사항은 상당히 합리적입니다. 그것들을 넘어서는 것은 드뭅니다.

그래서 당신은 스스로 대답했습니다 - 이 스레드에서 논의되는 제한 사항. 래퍼 장점:

  1. 신호 발생 시간 - 따라서 클래스의 구성원입니다 .
  2. 그리드 인덱스는 동일합니다.
  3. 그리드에서 인덱스를 주문하고 명시적인 형식으로 다시 주문하십시오.
  4. 전문가 ID - 글쎄, 당신은 ..

전체 기쁨은 확인하는 동안 위치의 시장 상태가 확인되고 클래스 필드가 수정되지만 위치를 반복하지 않는 동안 거래 기능 의 핸들러 는 클래스 메서드라는 것 입니다. 그리고 실패에서 복구하는 방법 - 아무도 마술 사용을 금지하지 않으므로 이러한 구현을 통해 전체 기록을 바이너리로 안전하게 포장하고 형식을 개발할 수 있습니다.

다른 작업장에서 공통 명령을 받는 로봇의 작업에 대해 - 요점은 무엇입니까? 동기화와 관련된 두통을 제외하고는 아무 것도 마음에 떠오르지 않습니다. 견적 - 한 작업장에서 로봇 이 포지션 을 청산하라는 명령을 내리고 다른 곳에서 로봇이 이 특정 포지션이 열려 있다는 사실을 기반으로 거래 결정을 내립니다. 이를 동기화하는 방법은 무엇입니까?