답변완료
종목 검색 후 자동 매매
안녕하세요.
yestrader가 처음이라서 모르는게 많아서 기초 적인 수식 및 질문 드립니다.
제가 원하는것은 종목 검색 후 자동 매매를 하고 싶습니다.
질문,
1. 주식 종목 검색 후 자동 매매가 가능한지요?
2. 종목 검색된 이후 자동 매매를 할 수 있게 설명서 또는 참조할 만한 가이드(문서)가 있는지요?
3. 종목 검색으로 찾은 종목이 시간이 지나서 조건식을 만족하면 재 검색이 되나요?
이때, 보유중인 종목 이라면 추가 매수 가능 한가요?
또는 보유중이여서 추가 매수 할지 아님 그냥 skip 할 지 선택이 가능한가요?
4. 매수된 종목이 특정 수익을 보고 있을 때, 분할 매도가 가능한지 ?
즉, 수익 2% 이상일 때, 보유주식 70% 매도
나머지 보유주식 30%는 수익이 4%이상부터 -2% 하락하면 전량 매도.
수식 문의.
조건1 CCI(9) 지표가 1분주기 1분전 대비 200이상 변화가 있을 때,
조건2 거래량이 1분주기 1분전 대비 300%이상 일 때,
조건3 주가변동폭이 1분주기 1분전 (시가+종가)/2 대비 0봉전 종가가 1.7% 이상 발생시.
조건4 주가변동폭이 1분주기 0봉전 시가 대비 0봉전 고가등락률이 4.5% 이상 발생시 종목 검색 제외.
조건5 체결강도 변동률이 1분주기 1분전 대비 +30%이상 발생시.
조건6 체결강도 값이 현재 110%이상 일 때,
조건7 1분전 체결강도 값이 140% 이상은 종목 검색 제외.
조건8 현재시간 기준으로 변동성완화장치 Vi 발생 종목은 검색 제외.
조건9 1분봉기준 bollinger band(30, 1.8) 상한선이 envelope(20, 2) 저항선(상한선) 의 99% 보다 클 때(돌파할
때)
예를들어, envelope 저항선(상한선) 값이 1100원이면, bollinger band 상한선값이 1,089(=1100*0.99) 보다 클 때,
조건10, 1분봉 거래 대금이 시가총액별로 아래 조건을 만족할 때,
- 시가총액 800억 이하 종목은 1분 거래대금 6억 이상
- 시가총액 801억 ~1500억 종목은 1분 거래대금 7억 이상
- 시가총액 1501억 ~2500억 종목은 1분 거래대금 8억 이상
- 시가총액 2501억 이상 종목은 1분 거래대금 9억 이상
조건11 1분봉 거래량이 10만주 이상 일때,
즉, 위 조건10(거래대금)과 or 로 만족 할 때,
*조건12* 위 조건10과 같이 시가총액별 1분봉 거래대금 구분이 불가하면,
1분봉 거래량 10만주 or 거래대금 7억 이상 일때,
제가
Yes trader를 처음 접해봐서 수식과 사용 방법을 메뉴얼을 따라하고 있는데 어렵네요.
위 질문및 수식 문의 / 그리고 종목검색 후 자동매매 사용 방법등에 대한 검토 요청 드립니다.
감사합니다.
2020-05-12
4585
글번호 225216
답변완료
지표값이 엉뚱하게 나옵니다.
if (nEventID == 2 && BUYCON == 1 && SELLCON == 0)
{
BUYIK = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Account1.Balance.avgUnitCost)*1;
BUYIK2 = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Account1.Balance.avgUnitCost)*2;
BUYIK3 = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Account1.Balance.avgUnitCost)*3;
BUYIK4 = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Account1.Balance.avgUnitCost)*4;
BUYIK5 = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Account1.Balance.avgUnitCost)*5;
BUYSON = Chart1.GetIndicatorData("#11.DJ밴드_색상변화_중심_2배",2,0) - SCALE*8;
Main.MessageList("매수익절",BUYIK,"매수손절",BUYSON,"매도익절",SELLIK,"매도손절",SELLSON);
Main.MessageList("매수익절",BUYIK,"매수익절2",BUYIK2,"매수익절3",BUYIK3,"매수익절4",BUYIK4,"매수익절5",BUYIK5);
Main.KillTimer(2); //타이머 종료
}
위에 식을 이벤트가 발생했을때 지표값을 가져오게 작성했는데
제대로 나올때도 있는데 수시로 엉뚱한 값을 가져옵니다.
스팟시작시 제대로 읽어오는지 보려고 아래식으로 테스트해보았을땐 정상값을 읽어옵니다.
근데 포지션 진입후 1분뒤에 타이머 발동후 값을 가져올때는 엉뚱한 값이 나오는데
뭐가 잘못된건지 알고 싶습니다.
function Main_OnStart()
{
BUYIK = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Chart1.GetIndicatorData("#2.매수선키움(최종)",1,2));
BUYIK2 = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Chart1.GetIndicatorData("#2.매수선키움(최종)",1,2))*2;
BUYIK3 = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Chart1.GetIndicatorData("#2.매수선키움(최종)",1,2))*3;
BUYIK4 = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Chart1.GetIndicatorData("#2.매수선키움(최종)",1,2))*4;
BUYIK5 = Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)+(Chart1.GetIndicatorData("#1.매도선키움(최종)",1,2)-Chart1.GetIndicatorData("#2.매수선키움(최종)",1,2))*5;
Main.MessageList("매수익절",BUYIK,"매수익절2",BUYIK2,"매수익절3",BUYIK3,"매수익절4",BUYIK4,"매수익절5",BUYIK5);
}
2020-04-20
3346
글번호 225201