안녕하세요?
랭귀지에 대한 기초지식이 없다보니 이것저것 테스트 하는데 시간이 많이 소요되어서
문의 드립니다.
1) 15분봉으로 검색기는 만들었습니다.("TEST")
2) 15분마다 읽어 들여서 기본적으로 매수/매도 하는 식을 부탁드립니다.
Main.ReqPowerSearch("TEST")
var MK = [];
var OrderCount = [];
var BuyPrice = [];
var MM = 500000;
var 타이머간격 = 5;// 5초
var 매수금 = 100000
var OrderList = [];
var MKList = [];
var req;
function Main_OnStart()
{
Main.SetTimer(1, 타이머간격*1000); //1번타이머, 주기 5분(종목검색간격)
// Main.SetTimer(1, 300000); //1번타이머, 주기 5분(종목검색간격)
// Main.SetTimer(2, 10000); //2번타이머, 주기 10초 (추가매수 타이밍 및 익절을 체크하는 시간간격)
}
//타이머동작
function Main_OnTimer(nEventID)
{
var d = new Date();
YYYYMMDD = d.getFullYear()*10000+(d.getMinutes()+1)*100+d.getSeconds();
HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
//1번타이머
if (nEventID == 1 && HHMMSS > 90000 && HHMMSS < 151500) //9시 ~15시15분
{
// Main.KillTimer(1); //타이머중지
Main.ReqPowerSearch("TEST"); //****** 종목검색실행
}
//2번타이머
if (nEventID == 2)
{
// Main.KillTimer(2);
Main.ReqMarketData(MKList[req]);
}
}
답변 1
예스스탁
예스스탁 답변
2024-11-01 17:22:22.0
안녕하세요
예스스탁입니다.
15분마다 읽어 들여서 기본적으로 매수/매도라고 하시면
저희가 가이드를 해드리기 어렵습니다.
매수식까지만 작성해 드립니다.
15분간격으로 검색해서 검색된 종목에 대해 지정한 금액으로 매수하며
1종목당 한번만 매수합니다. 매도는 어떤 내용인지 알수 없습니다.
게시판에 ReqPowerSearch로 검색하면 모두 종목검새과 관련된 수식입니다.
검색된 내용들 참고하셔서 수식 보완하시기 바랍니다.
var 타이머간격 = 900; // 900초(15분)
var 매수금 = 1000000;
var OrderList = [];
var BuyList = [];
var MKList = [];
var req;
function Main_OnStart()
{
// 1번 타이머
Main.SetTimer(1, 타이머간격*1000);
}
//타이머동작
function Main_OnTimer(nEventID)
{
var d = new Date();
YYYYMMDD = d.getFullYear()*10000+(d.getMinutes()+1)*100+d.getSeconds();
HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
if (nEventID == 1 && HHMMSS > 90000 && HHMMSS < 151500) //9시 ~15시15분
{
Main.ReqPowerSearch("TEST");
}
if (nEventID == 2)
{
Main.ReqMarketData(MKList[req]);
}
}
function Main_OnRcvItemList(aItemList, nCount)
{
Main.KillTimer(1);
OrderList = [];
if (nCount >= 1)
{
if (BuyList.length == 0)
{
OrderList = aItemList;
}
else
{
for (var a = 0; a < nCount; a++)
{
var Add = true;
for (var b = 0; b < BuyList.length; b++)
{
if (aItemList[a] == BuyList[b])
{
Add = false;
}
}
if (Add == true)
{
OrderList.push(aItemList[a]);
}
}
}
}
if (OrderList.length == 0)
{
Main.SetTimer(1, 타이머간격*1000);
}
else
{
req = 0;
Main.ReqMarketData(OrderList[req]);
}
}
function Main_OnRcvMarketData(MarketData)
{
if (MarketData.code == OrderList[req])
{
MKList.push(MarketData);
BuyList.push(MarketData.code);
Account1.OrderBuy(MarketData.code,Math.floor(매수금/MarketData.Ask(1)),MarketData.Ask(1),0);
req = req+1;
if (req < OrderList.length && MKList.length < 최대보유종목수)
{
var aa = Main.ReqMarketData(OrderList[req]);
if (aa == -1)
{
Main.SetTimer(2, 15000);
}
}
else
{
Main.SetTimer(1, 타이머간격*1000);
}
}
}
즐거운 하루되세요
> 배움이 님이 쓴 글입니다.
> 제목 : 문의드립니다.
>
안녕하세요?
랭귀지에 대한 기초지식이 없다보니 이것저것 테스트 하는데 시간이 많이 소요되어서
문의 드립니다.
1) 15분봉으로 검색기는 만들었습니다.("TEST")
2) 15분마다 읽어 들여서 기본적으로 매수/매도 하는 식을 부탁드립니다.
Main.ReqPowerSearch("TEST")
var MK = [];
var OrderCount = [];
var BuyPrice = [];
var MM = 500000;
var 타이머간격 = 5;// 5초
var 매수금 = 100000
var OrderList = [];
var MKList = [];
var req;
function Main_OnStart()
{
Main.SetTimer(1, 타이머간격*1000); //1번타이머, 주기 5분(종목검색간격)
// Main.SetTimer(1, 300000); //1번타이머, 주기 5분(종목검색간격)
// Main.SetTimer(2, 10000); //2번타이머, 주기 10초 (추가매수 타이밍 및 익절을 체크하는 시간간격)
}
//타이머동작
function Main_OnTimer(nEventID)
{
var d = new Date();
YYYYMMDD = d.getFullYear()*10000+(d.getMinutes()+1)*100+d.getSeconds();
HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
//1번타이머
if (nEventID == 1 && HHMMSS > 90000 && HHMMSS < 151500) //9시 ~15시15분
{
// Main.KillTimer(1); //타이머중지
Main.ReqPowerSearch("TEST"); //****** 종목검색실행
}
//2번타이머
if (nEventID == 2)
{
// Main.KillTimer(2);
Main.ReqMarketData(MKList[req]);
}
}