예스스탁
예스스탁 답변
2015-09-11 17:52:09
안녕하세요
예스스탁입니다.
예 내부파일에 값을 적어 저장해서 사용하셔야야 합니다.
아래식 참고하시기 바랍니다.
var T,daycount,YYYYMMDD;
//스팟시작시
function Main_OnStart()
{
T = 0;
var d = new Date();
YYYYMMDD = d.getFullYear()*10000+(d.getMonth()+1)*100+d.getDate();//오늘날짜
//오늘날짜를 당일진입횟수를 저장하는 변수로 이용
//내부변수에서 변수(오늘날짜)에 저장된 값을 불러와
//값이 없으면 daycount에 0, 있으면 해당 값을 저장
if (Main.GetUserValue(YYYYMMDD) == "")
daycount = 0;
else
daycount = Main.GetUserValue(YYYYMMDD);
}
function Chart1_OnRiseSignal(Signal)
{
//매수신호가 발생하고 당일 진입횟수가 3회이내일때
if (Signal.signalKind == 1 && daycount < 3)
{
T = 1;
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0);
//daycount를 1증가
daycount = daycount+1;
//변수(오늘날짜)에 daycount 저장
Main.SetUserValue(YYYYMMDD, daycount);
}
if (T == 1 && Signal.signalKind == 2)
{
Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0);
}
if (Signal.signalKind == 3 && daycount < 3)
{
T = -1;
Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0);
//daycount를 1증가
daycount = daycount+1;
//변수(오늘날짜)에 daycount 저장
Main.SetUserValue(YYYYMMDD, daycount);
}
if (T == -1 && Signal.signalKind == 4)
{
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0);
}
}
즐거운 하루되세요
> 탄젠트80 님이 쓴 글입니다.
> 제목 : 스팟으로 집입횟수 제한
> 안녕하세요~ 언제나 한결같은 답변 감사드립니다.
예스랭귀지가 아닌 스팟으로 진입횟수를 제한하고 싶습니다.
게시물 살펴보니 "GetUserValue"를 사용해서 제한한다고 나와있던데
아래 샘플 스팟수식은 선물신호발생시 미니선물 거래하는 예제입니다.
당일 스팟 진입청산을 3회로 제한하고 싶습니다. 부탁드립니다.
=================================================================
function Main_OnStart()
{
Main.MessageList("시작");
T = 0;
}
function Chart1_OnRiseSignal(Signal)
{
if (Signal.signalKind == 1)
{
T = 1;
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0);
}
if (T == 1 && Signal.signalKind == 2)
{
Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0);
}
if (Signal.signalKind == 3)
{
T = -1;
Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0);
}
if (T == -1 && Signal.signalKind == 4)
{
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0);
}
}
=======================================================================
답변 부탁드립니다. ~