50ms마다 선물 가격을 폴링하기 위해 Java 코드 (대화 형 브로커 API 사용)를 작성했으며 내가 원하는 상황에 처하면 X 계약 등을 구매하거나 판매 할 것입니다.
Timer t = new Timer( );
t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// get pricing, look for situational stuff
}
}, 0, 50);
그러나 프로그램이 항상 백그라운드에서 실행되도록 코드를 작성하는 방법을 잃었습니다. 중요한 경우 OS X에서 개발 중이며 프로덕션 환경은 ubuntu 또는 centOS 일 수 있습니다.
Java 프로그램은 마지막 비 데몬 스레드가 중지되거나 중지 메서드 (예 : System.exit (0)) 중 하나를 호출 할 때까지 실행됩니다. 타이머는 데몬이 아니기 때문에 영원히 실행됩니다. 창이 있으면 스레드도 있습니다.
아마도 IB에 연결되었으므로 EReader는 소켓에서 읽을 데몬이 아닌 스레드를 만듭니다. 이 스레드를 중지하려면 연결을 끊어야합니다.
더 나은 선택은 시장 데이터를 구독하고 새로운 데이터가 수신 될 때 무언가를하는 것입니다. IB는 어쨌든 초당 몇 번만 업데이트하므로 50ms는 데이터를 요청하기에는 너무 빠릅니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다