답변완료
질문입니다.
안녕하세요. 질문이 있습니다.
파일을 첨부하려고 했지만 마땅치 않아 맨아래에 코드복사하여 올리겠습니다.
function C1_OnRiseSignal(Signal)
{
여기에서 'Signal.count'란 걸 썼습니다.
}
function Main_OnOrderResponse(OrderResponse)
{
그 후에 이곳에서 MesssageList안에 'Signal.count'를 넣었는데,
Signal이 not define 되었다고 나옵니다.
}
function Main_OnNotifyFill(NotifyFill)
{
이곳도 마찬가지로 MesssageList안에 'Signal.count'를 넣었는데,
Signal이 not define 되었다고 나옵니다.
}
Signal.count를 다른 함수안에서도 사용할 수 있는 방법이 없을까요?
그리고, 하나 더 질문이 있는데 혹시 MessageList안에서 +와 ,의 쓰임은 어떤 차이가 있나요?
답변 부탁드리겠습니다.
[코드]
var Start;
var fillcountSum = 0;
function Main_OnStart()
{
Main.MessageList("시작",getTHHMMSS());
//잔고, 미체결수량 확인 사용자함수
BalanceAndUnfill();
Start = 0;
}
function C1_OnRiseSignal(Signal)
{
var dayma1 = C2.GetIndicatorData("이동평균 5_20_60", 1, 0);
var dayma2 = C2.GetIndicatorData("이동평균 5_20_60", 2, 0);
var dayma3 = C2.GetIndicatorData("이동평균 5_20_60", 3, 0);
var predayma1 = C2.GetIndicatorData("이동평균 5_20_60", 1, 1);
var slowK = C2.GetIndicatorData("Stochastics", 1, 0);
if (Signal.signalKind == 1
&& dayma1 > dayma2 && dayma2 > dayma3
&& dayma1 > predayma1
&& slowK >= 50)
{
Position = 1;
BID = A1.OrderBuy(Signal.code, Signal.count, SSE.Ask(2), 0);
Start = 1;
Main.MessageList("신호완성/", Signal.signalKind, ".매수주문:", getTHHMMSS()
, "주문수량[", Signal.count, "] 주문식별번호[", BID, "]");
}
if (Signal.signalKind == 2 && Start == 1)
{
Position = -1;
SID = A1.OrderSell(Signal.code, Signal.count, SSE.Bid(2), 0);
Main.MessageList("신호완성/", Signal.signalKind, ".매도주문:", getTHHMMSS()
, "주문수량[", Signal.count, "] 주문식별번호[", SID, "]");
}
}
//각 경우에 주문 응답
function Main_OnOrderResponse(OrderResponse)
{
fillcountSum = 0;
if (Position == 1 && OrderResponse.orderID == BID)
{
BNum = OrderResponse.orderNum;
Main.MessageList("OnOrdRes_매수주문응답:", getTHHMMSS()
, "주문수량[" + Signal.count + "] 누적체결수량[0]"
, " 주문식별번호[", BID, "]", " 주문번호["
, OrderResponse.orderNum, "]");
}
if (Position == -1 && OrderResponse.orderID == SID)
{
SNum = OrderResponse.orderNum;
Main.MessageList("OnOrdRes_매도주문응답:", getTHHMMSS()
, "주문수량[" + Signal.count + "] 누적체결수량[0]"
, " 주문식별번호[", SID, "]", " 주문번호["
, OrderResponse.orderNum, "]");
}
}
//각 경우에 주문 체결
function Main_OnNotifyFill(NotifyFill)
{
if (Position == 1 && NotifyFill.orderNum == BNum)
{
fillcountSum = fillcountSum + NotifyFill.fillCount;
Main.MessageList("OnNotify_매수주문체결:", getTHHMMSS()
, "주문수량[" + Signal.count + "] 누적체결수량[", fillcountSum
, "] 체결수량[", NotifyFill.fillCount, "]", " 주문번호["
, NotifyFill.orderNum, "]");
}
if (Position == -1 && NotifyFill.orderNum == SNum)
{
fillcountSum = fillcountSum + NotifyFill.fillCount;
Main.MessageList("OnNotify_매도주문체결:", getTHHMMSS()
, "주문수량[" + Signal.count + "] 누적체결수량[", fillcountSum
, "] 체결수량[", NotifyFill.fillCount, "]", " 주문번호["
, NotifyFill.orderNum, "]");
}
}
2015-10-02
2237
글번호 223678