답변완료
매도, 매도식 부탁드립니다.
=======매수========
1. a,b,c,d종목의 전일종가대비 n%에 m1 수량만큼 매수주문한다.(장전 주문)
2. a,b,c,d종목 현재가가 전일종가의 n%(==매수가) 보다 p% 낮으면 m2 매수주문한다.
3. t1시에 미체결 매수 취소
(영어는 외부변수로 빠지게 해 주세요)
=======매도========
1. t2시부터 미체결 매도 취소
2. 보유종목 호출
3. s회차 매도 시행(최우선) : 매도량은 (호출시 보유량)/(k-s+1) (총 k회 분할매도)
***매도간격은 t3***
ex) 총10회 매도 예정일 때,
1회차 매도시
(호출된 보유량)/(10-1+1) = (보유량)/10
5회차 매도시
(호출된 보유량)/(10-5+1) = (보유량)/6
4. 마지막 회차에서는 (1번,2번) 진행후 잔량 모두 시장가 매도
==> 1-3번을 (k-1)회차 진행후 마지막회차 시장가 매도 진행(4번 항목)
(영어는 외부변수로 빠지게 해 주세요)
부탁드리겠습니다. 감사합니다.
2019-09-05
3375
글번호 224970
답변완료
파워종목검색후 자동매수 그리고 몇가지
제가 하고 싶은것
1. 파워종목 검색(1분단위)
2. 검색된 종목들을 단주, 시장가로 매수
-단, 기존에 보유종목인 경우에는 매수하지 않음
사실 언어 이런것도 모르고 샘플을 보면서 살짝 살짝 수정하고자 하고 있습니다.
메뉴얼 보면서 공부는 병행하고 있습니다.
아래는 게시판 답변에서 찾은 샘플인데 이 샘플에 위 두가지 조건을 적용한 전략을 부탁드립니다. 감사합니다.
var List;
var ListCnt;
var RcvCount;
var ItemCode = new Array(200);
var ItemPrice = new Array(200);
var ItemUnits = new Array(200);
var RcvCount = 0;
var Ymoney;
//스팟 첫 실행시
function Main_OnStart()
{
// 파워종목검색의 사용자검색조건 검색 요청
Main.ReqPowerSearch("Winning")
//예수금 저장
Ymoney = Account1.GetBalanceETCinfo(0);
}
//종목검색 완료되어 리스트(검색된 종목코드) 수신
function Main_OnRcvItemList(aItemList, nCount)
{
//검색된 종목코드를 저장
List = aItemList;
//검색된 종목수 저장
ListCnt = nCount;
//종목코드 디버깅창에 출력
Main.MessageList("전체종목코드",List);
//검색된 종목에 대해 종목객체 요청
for (var i = 0; i < nCount; i++)
{
Main.ReqMarketData(List[i], 0, 0);
}
}
//요청한 종목객체가 생성되면
function Main_OnRcvMarketData(MarketData)
{
//생성 횟수 카운트
RcvCount = RcvCount+1;
//생성된 순서로 1번방부터 종목코드 저장
ItemCode[RcvCount] = MarketData.code;
//생성된 순서로 1번방부터 현재가 저장
ItemPrice[RcvCount] = MarketData.current;
ItemUnits[RcvCount] = MarketData.tradeUnit;
//값저장 후 해당 종목객체는 삭제
Main.RemoveMarketData(ItemCode[RcvCount]);
//생성횟수와 해당 종목의 코드와 현재가, 매매단위를 디버깅창에 출력
Main.MessageList("생성순번",RcvCount,"종목코드",ItemCode[RcvCount],"현재가",ItemPrice[RcvCount],"주문수량단위",ItemUnits[RcvCount]);
//검색된 종목에 대해 모두 종목객체가 생성되었다면
if (RcvCount == ListCnt)
{
//현재가가 큰 종목순으로 상위 5개 주문
for (var ii = 1; ii <= 5; ii++)
{
var HH = -1;
var Hi = -1;
//각 종목이 현재가를 비교해 가장 큰 종목 선택
for (var iii = 1; iii <= RcvCount; iii++)
{
if (ItemPrice[iii] > HH)
{
HH = ItemPrice[iii];
Hi = iii;
}
}
//매수주문
if (Hi > -1)
{
//수량 계산
var vol;
if (ItemUnits[Hi] == 1) //1주단위이면
vol = Math.floor((Ymoney/5)/ItemPrice[Hi]);
if (ItemUnits[Hi] == 10)//10주 단위이면
vol = Math.floor(((Ymoney/5)/ItemPrice[Hi])/10)*10;
//시장가로 매수주문
Main.MessageList("순번",ii,"매수주문종목",ItemCode[Hi],"현재가",ItemPrice[Hi],"주문수량단위",ItemUnits[Hi]);
//디버깅창에 매수 종목의 코드와 현재가,주문수량 표시
Account1.OrderBuy(ItemCode[Hi], vol, 0,1);
//해당 종목의 종목코드와 현재가는 다음순위를 찾기위해 -1로 지정
ItemCode[Hi] = -1;
ItemPrice[Hi] = -1;
}
}
}
}
2019-08-26
3425
글번호 224968
답변완료
스팟수식 요청 드립니다.
안녕하세요.
연결선물 차트에서 매도신호 발생하면 (매도신호->콜옵션)
당일 등가 콜옵션 2개 매도, 등가+2.5 콜옵션 3개 매수, 등가+5.0 콜옵션 4개 매도하고
매도청산신호가 발생하면 전량 청산하고 당일 매매종료.
연결선물 차트에서 매수신호 발생하면 (매수신호->풋옵션)
당일 등가 풋옵션 2개 매도, 등가-2.5 풋옵션 3개 매수, 등가-5.0 풋옵션 4개 매도하고
매수청산신호가 발생하면 전량 청산하고 당일 매매종료.
옵션가격은 현재 주문가에서 호가 잔량이 있는 + - 5호가 이내에서 미체결이 발생하지
않도록하고, 미체결이 발생할경우 즉시 정정주문으로 체결되도록 스팟수식 요청 드립니다.
옵션 가격별 매도수량 매수량은 변수로 요정드리고, 수식 설명 주석 요청 드립니다.
1.일반옵션진입 2.미니옵션진입 2가지 스팟수식요청 드립니다.
감사합니다.
2019-08-26
3641
글번호 224958