답변완료
스팟 문의
엑셀시트에 매매결과를 저장하고자 합니다.
엑셀객체: CXLRPT
(변수는 위에서 선언됨)
아래코드는 시그널이 발생하면 엑셀시트에 내용을 기록하는 일부코드입니다.
차트에서 기본적으로 피라미딩으로 진입합니다. A,B,C,D,E 신호가 발생한다고 가정(순서 랜덤)
A 매수진입신호가 발생하면
행 N에는 A신호에 대한 진입내역(진입시간, 시그널종류, 주문가격, 체결가격 등등)을 기록함
C 매수진입신호가 발생하면 N+1행에 C신호에 대한 진입내역 기록
B 매수신호가 발생하면 N+2행에 B신호에 대한 진입내역 기록
여기서 EXITLONG("A매수청산", ONCLOSE, DEF, "A", DEF); 신호가 발생하면 A진입에 대해 기록된 행(N)을 찾아서 바로 옆에 청산내역을 기록하고자 합니다. 핵심은 해당진입에 대해 해당 행에 기록하는 것인데 이부분이 좀 막힙니다. 코드 검증도 부탁드리겠습니다.
도움주시면 감사하겠습니다...
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// INIT
//
function CXLRPTInit()
{
var strData = CXLRPT.GetData(gCXLRPTxSheetIndex, "A1");
if (strData != "NO")
{
CXLRPT.SetRowData(gCXLRPTxSheetIndex,
"A1", "ITEM",
"OPEN TIME", "TYPE", "ORDER PRICE", "CONTRACT PRICE", "CONTRACTS",
"CLOSE TIME", "TYPE", "ORDER PRICE", "CONTRACT PRICE", "CONTRACTS",
"COMMISSION", "PROFITS");
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// XLS TRADING RESULT
//
function XLSTradingResult(TicketTime)
{
// BUY SIGNAL
if (gPosition == 1)
{
gCXLRPTxRowEB = CXLRPT.GetRowCount(gCXLRPTxSheetIndex) + 1;
CXLRPT.SetFont(gCXLRPTxSheetIndex, "A" + gCXLRPTxRowEB, "10", "Tahoma", "RED", false, true, 0);
CXLRPT.SetRowData(gCXLRPTxSheetIndex, "A" + gCXLRPTxRowEB, gOrderCode, TicketTime, "BUY", CMD.Ask(3), "-", gDefOrderContracts);
}
// EXITLONG SIGNAL
else if (gPosition == 2)
{
gCXLRPTxRowEXL = CXLRPT.GetRowCount(gCXLRPTxSheetIndex) + 1;
CXLRPT.SetRowData(gCXLRPTxSheetIndex, "G" + gCXLRPTxRowEXL, TicketTime, "EL", CMD.Bid(3), "-", gDefOrderContracts, gDefCommission * 2, gEBxContractPrice - gEXLxContractPrice);
}
// SELL SIGNAL
else if (gPosition == -1)
{
gCXLRPTxRowES = CXLRPT.GetRowCount(gCXLRPTxSheetIndex) + 1;
CXLRPT.SetRowData(gCXLRPTxSheetIndex, "A" + gCXLRPTxRowES, gOrderCode, TicketTime, "SELL", CMD.Bid(3), "-", gDefOrderContracts);
}
// EXISHORT SIGNAL
else if (gPosition == -2)
{
gCXLRPTxRowEXS = CXLRPT.GetRowCount(gCXLRPTxSheetIndex) + 1;
CXLRPT.SetRowData(gCXLRPTxSheetIndex, "G" + gCXLRPTxRowEXS, TicketTime, "ES", CMD.Ask(3), "-", gDefOrderContracts, gDefCommission * 2, gESxContractPrice - gEXSxContractPrice);
}
}
2014-06-23
1314
글번호 223044
답변완료
PrintOnFile
안녕하세요.
PrintOnFile 출력된 소스를 날짜별로 저장을 하고 싶어서 문의 드립니다.
Main.PrintOnFile("C:₩₩APM_Setup₩₩htdocs₩₩stock₩₩stock_d.xml","<Group>","<strategy>",InputVar3,"</strategy>","<day>",a1,+a2,+a3,+a4,+a5,"</day>","<code>",ItemCode[Hi],"</code>","<enter>",ItemPrice[Hi],"</enter>","<order>",ItemPriceX,"</order>","</Group>");
이부분에서... stock_d.xml 파일명을 오늘 날짜로 저장하고 싶은데 가능할까요?
2014-06-19
1169
글번호 223035
답변완료
문의
1. 예스트레이더에서 예스스팟으로 작성된 전략식이 있고, 옵션객체도 포함되어 있을 경우,
이를 YG에서 복사해서 옮겨넣을시 옵션객체를 삭제할 수가 없더군요. 확인부탁드립니다.
2. 또한, 예스트레이더에서는 그리드객체가 추가된것으로 알고 있습니다.
예스글로벌은 언제쯤 업데이트 예정인가요?
엑셀연동의 대안책으로 그리드객체가 나왔다고 추정이 되는데, 엑셀객체를 이용한 연동과 비교해서 그리드객체 사용의 장점은 무엇인지 간단히 설명부탁드립니다.
활용방안도 부탁드립니다.
3. 확장차트를 띄우면 초기 화면 사이즈 지정이나 봉의 색깔이라든지 배경화면색깔 등을 일반차트와 마찬가지로 변경할 수 가 없나요?? 현재 제가 오픈한 차트는 보기가 좀 난해합니다. 까만바탕에 빨강, 파랑 봉색깔... 해결방법 부탁드립니다. 그리고 추후에 확장차트 제거도 고려해주시면 고맙겠습니다. 메인시그널이 살아있는한 무한정 띄우게 되니 좀 어지럽네요.
4. 첨부그림2에서와 같이 확장차트를 띄우기 위한 조건이 스팟수식내에 성립이 되지 않았는데도 기본적으로 생성이 됩니다. 이는 정상인가요??
5. 예스글로벌 전략실행차트에서 메인은 틱차트, DATA2는 분봉을 띄울경우 이를 시스템식에 넣고 검증하면 신호가 나타나질 않습니다. 또한, DATA2의 이평선을 적용시켜도 표기가 되질 않습니다. 데이타는 최대로(5000봉) 불러들였습니다. 메인을 분봉으로하면 정상적으로 동작이 됩니다. 왜 틱차트에서는 안되는지요?? 아래 수식만 넣어도 시스템식이 정상적으로 동작하질 않네요.
VARS: MP1(100, DATA2);
VARS: M1(0, DATA2);
// D2C는 위에서 선언됨
M1 = DATA2(MA(D2C, MP1));
6. 스팟에서 YL의 아래 수식이 있을 경우 봉의 몇번째 이후라는 표현은 어떻게 가능한가요??
if (TSFs.UTRiDX > 0) AND (INDEX <= TSFs.UTRiDX + 10) then
7. 7026번 관련해서 다시 언급하자면,
첨부그림과 같이 성능보고서의 거래내역 탭에서 진입명을 클릭하면 진입명들이 콤보박스로 나오고 해당 진입명을 클릭하면 매수/청산 리스트가 쭈욱뜨는 것처럼 이를 에디터에서도 가능하게 해주십사 문의드린 것입니다. 청산도 마찬가지로...
에디터에서 콤보박스형태가 아니라 리스트로 보여지고 출력된 진입명을 클릭하면 해당진입명의 첫번째줄로 이동하면 진입 청산전략이 하나의 시스템식에 많은 사용자의 입장에서는 좋겠다는 생각입니다. General한 제 의견이 반영되었으면 좋겠습니다.
감사합니다.
2014-06-13
1501
글번호 223021