답변완료
수식 수정 요청 드립니다.
안녕하세요.
당일 스팟수식 적용 후 차트에서 발생하는 첫 진입 신호로 1계약 진입, 동일방향 추가진입 보류 하고,
진입 후 첫 반대신호로 청산하게 요청 드립니다. 차트 신호 기준 입니다.
작성해주신 스팟수식을 장중 차트신호에 적용해보니 에러가 발생 하네요.
첨부파일 확인후 수정 요청 드립니다.
(진입수량은 변경 할수있도록 외부변수로 요청드립니다. 수식 주석요청 드립니다.)
감사합니다.
안녕하세요
예스스탁입니다.
당일 첫신호는 알수 없습니다.
스팟 적용이후 첫 진입신호만 주문하게 수정했습니다.
스위칭은 차트에서 청산신호와 함께 진입신호가 발생하는 신호입니다.
진입만 첫진입으로 제어하시면 됩니다.
var entry(0);
function Main_OnStart()
{
entry = 0;
}
function Chart1_OnRiseSignal(Signal)
{
if(entry == 0 && Signal.signalKind == 1)
{
entry = entry+1;
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current + MarketData1.GetTickSize()*5, 0);
}
if (entry == 1 && Signal.signalKind == 2)
{
Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current - MarketData1.GetTickSize()*5, 0);
}
if (entry == 0 && Signal.signalKind == 3)
{
entry = entry+1;
Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current - MarketData1.GetTickSize()*5, 0);
}
if (entry == 1 && Signal.signalKind == 4)
{
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current + MarketData1.GetTickSize()*5, 0);
}
}
즐거운 하루되세요
> dandy 님이 쓴 글입니다.
> 제목 : 수정요청드립니다.
> 안녕하세요.
연결선물 당일청산 차트 신호로 미니선물 진입 청산하는 아래스팟 시스템에서
연결선물 차트의 매수 매도 진입 신호가 여러번 발생하는 차트에서 당일 첫신호로
미니선물 1계약만 진입 나머지 진입신호는 진입 보류하고, 청산시호 발생시 첫신호로
진입한 미니선물 1계약 청산하고 당일 매매종료하는 스팟수식으로 수정 요청 드립니다.
연결선물 매수 첫신호로 미니선물 1계약만 매수진입(추가 매수 진입신호 진입보류)
-> 연결선물 매수청산신호 또는 매수 스위칭 반대신호 발생시 첫신호로 청산하고 당일매매종료.
연결선물 매도 첫신호로 미니선물 1계약만 매도진입(추가 매도 진입신호 진입보류)
-> 연결선물 매도청산신호 또는 매도 스위칭 반대신호 발생시 첫신호로 청산하고 당일매매종료.
(당일 첫진입신호 발생시 진입하고, 진입신호의 첫 반대신호 발생시 청산하고 당일 매매종료)
감사합니다.
function Chart1_OnRiseSignal(Signal)
{
if (Signal.signalKind == 1)
{
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current + MarketData1.GetTickSize()*5, 0);
}
if (Signal.signalKind == 2)
{
Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current - MarketData1.GetTickSize()*5, 0);
}
if (Signal.signalKind == 3)
{
Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current - MarketData1.GetTickSize()*5, 0);
}
if (Signal.signalKind == 4)
{
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.current + MarketData1.GetTickSize()*5, 0);
}
}
2019-05-15
3715
글번호 224867
답변완료
엑셀에 데이터를 매일 누적해서 쌓는 방법
엑셀에 데이터를 누적해서 쌓으려 하는데
아래 rayen님 께서 질문하신 내용을 참고하니까 킨 순간부터 끌때까지의 당일 데이터는 누적으로 받아지나, 매일 9시 이전에 키고, 장 마감할때 꺼서 데이터를 매일 누적하고 싶은데
어떤식으로 해야할까요.
rayan님처럼 하면 매일 엑셀데이터가 초기화 되네요
일단 이를 해결하기위해 Excel1.GetRowCount함수를 사용해서 현제 엑셀파일의 row를 읽은 후 +1을 해줘서 누적을 하려했는데, 잘 안되는거같네요
var Time;
var S; //기초자산(현재가)
var r; //무위험이자율
var K; //행사가
var T; //잔존만기
var xlRow; //엑셀의 행
function Main_OnStart()
{
xlRow =Excel1.GetRowCount(1) + 1; //2번째 행부터 시작
Time = getHHMMSSS();
S = MarketData1.current; //연결선물지수 현재가
r = Option1.RiskFreeRate;
K = Option1.GetExercisePrice(0, 0);
T = Option1.GetRemainDays(0, 0)/252;
Main.SetTimer(1, 5000)
}
function Main_OnTimer(nEventID)
{
Time = getHHMMSSS();
S = MarketData1.current; //연결선물지수 현재가
r = Option1.RiskFreeRate;
K = Option1.GetExercisePrice(0, 0);
T = Option1.GetRemainDays(0, 0)/252;
Excel1.SetRowData(1, "A"+xlRow, Time);
Excel1.SetRowData(1, "B"+xlRow, S);
Excel1.SetRowData(1, "C"+xlRow, K);
Excel1.SetRowData(1, "D"+xlRow, Option1.GetCurrent(0, 1));
Excel1.SetRowData(1, "E"+xlRow, Option1.GetCurrent(1, -1));
Excel1.SetRowData(1, "F"+xlRow, Option1.GetRemainDays(0,0));
Excel1.SetRowData(1, "G"+xlRow, Option1.RiskFreeRate);
xlRow = xlRow + 1;
에러 메세지가 4개가 뜨는데
1. 엑셀을 정상적으로 호출할 수 없습니다
2. excel1:객체를 생성할 수 없습니다.
3. 엑셀파일에 연결되지 않았습니다.
4. 엑셀을 정상적으로 호출할 수 없습니다.
이렇게 뜨네요
2019-05-07
3842
글번호 224852