커뮤니티
자동매매식 좀 부탁드립니다.
이거는 자동 매매식이고여........ 밑에 충족하는 종목을 매수 할수 있도록 좀 부탁드립니다.
var timer5 = 2; //5초
var 매수금 = 100000;
var OrderList = [];
var MKList = [];
var req;
function Main_OnStart()
{
//1번 타이머, 1초
Main.SetTimer(1, timer5*1000);
// 오늘 매수한 종목 관리 배열 초기화
MKList = [];
}
function Main_OnTimer(nEventID)
{
var d = new Date();
YYYYMMDD = d.getFullYear()*10000+(d.getMonth()+1)*100+d.getDate();
HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
if (nEventID == 1 && HHMMSS > 090000 && HHMMSS < 151500)
{
//종목검색 수행
Main.ReqPowerSearch("최고")
}
if (nEventID == 2)
{
Main.ReqMarketData(OrderList[req]);
}
}
function Main_OnRcvItemList(aItemList, nCount)
{
Main.KillTimer(1);
OrderList = [];
if (nCount >= 1)
{
if (MKList.length == 0)
{
OrderList = aItemList;
}
else
{
for (var a = 0; a < nCount; a++)
{
var Add = true;
for (var b = 0; b < MKList.length; b++)
{
if (aItemList[a] == MKList[b].code)
{
Add = false;
}
}
if (Add == true && !IsStockInAccount(aItemList[a]))
{
OrderList.push(aItemList[a]);
}
}
}
}
if (OrderList.length == 0)
{
Main.SetTimer(1, timer5*1000);
}
else
{
req = 0;
Main.ReqMarketData(OrderList[req]);
}
}
function Main_OnRcvMarketData(MarketData)
{
if (MarketData.code == OrderList[req])
{
MKList.push(MarketData);
// 계좌에 같은 종목이 있는지 확인
if (!IsStockInAccount(MarketData.code)) {
// 계좌에 없는 경우에만 매수
Account1.OrderBuy(MarketData.code,1,0,1);
//Account1.OrderBuy(MarketData.code,Math.floor(매수금/MarketData.Ask(1)),0,1);
// Account1.OrderBuy(MarketData.code,Math.floor(매수금/MarketData.Ask(1)),MarketData.Ask(1),0);
//지정가로 주문하고자 하시면 주문함수 내용을 위와 같이 변경하시면 됩니다.
Main.MessageList(MarketData.code + " 주식을 매수합니다.");
} else {
Main.MessageList( MarketData.code + " 주식은 이미 계좌에 있으므로 매수하지 않습니다.");
}
req = req+1;
if (req < OrderList.length)
{
var aa = Main.ReqMarketData(OrderList[req]);
if (aa == -1)
{
Main.SetTimer(2, 15000);
}
}
else
{
Main.SetTimer(1, timer5*1000);
}
}
}
function IsStockInAccount(stockCode) {
// 계좌에 해당 종목이 있는지 확인하는 함수
var numberOfBalances = Account1.GetTheNumberOfBalances();
for (var i = 0; i < numberOfBalances; i++) {
Account1.SetBalance(i);
if (stockCode == Account1.Balance.code) {
return true; // 계좌에 같은 종목이 있으면 true 반환
}
}
return false; // 계좌에 같은 종목이 없으면 false 반환
}
--위에자동매매식에서 밑에 종목 검색에 일치하는 종목매수 자동매매식 좀 알려주세요 그리고 밑에식에 충족시 1분봉 100억이 들어오고 매도까지 다른 종목은 매수 안되게 부탁드립니다
<밑에식은 3가지가 동시 돌파하는 종목 검색식입니다.>
input : P(3);
var : cnt(0),sum(0),mav(0);
Array : CC[100](0);
if Bdate != Bdate[1] and
(DayOfWeek(Bdate)< DayOfWeek(Bdate[1]) or
DateToJulian(Bdate) >= DateToJulian(Bdate[1])+7) Then
{
for cnt = 99 downto 1
{
CC[cnt] = CC[cnt-1];
}
}
CC[0] = C;
if CC[P-1] > 0 Then
{
sum = 0;
for cnt = 0 to P-1
{
sum = sum+CC[cnt];
}
mav = sum/P;
if L < mav and CrossUp(C,mav) Then
Find(1);
}
2
input : P(10);
var : cnt(0),sum(0),mav(0);
Array : CC[100](0);
if Bdate != Bdate[1] and
(DayOfWeek(Bdate)< DayOfWeek(Bdate[1]) or
DateToJulian(Bdate) >= DateToJulian(Bdate[1])+7) Then
{
for cnt = 99 downto 1
{
CC[cnt] = CC[cnt-1];
}
}
CC[0] = C;
if CC[P-1] > 0 Then
{
sum = 0;
for cnt = 0 to P-1
{
sum = sum+CC[cnt];
}
mav = sum/P;
if L < mav and CrossUp(C,mav) Then
Find(1);
}
3
input : P(3);
var : cnt(0),sum(0),mav(0);
Array : CC[100](0);
if Bdate > Bdate[1]+30 Then
{
for cnt = 99 downto 1
{
CC[cnt] = CC[cnt-1];
}
}
CC[0] = C;
if CC[P-1] > 0 Then
{
sum = 0;
for cnt = 0 to P-1
{
sum = sum+CC[cnt];
}
mav = sum/P;
if L < mav and CrossUp(C,mav) Then
Find(1);
}