답변완료
문의 드립니다.
항상 친절하신 답변에 깊이 감사드립니다.
"스팟으로 이동평균값을 구해서 이용할 수 있는 방법"을 공부하고 있습니다.
제가 알고자 하는 것은, 굳이 차트에서의 이평선 값을 이용하는 것이 아니라, "스팟 자체에서 이평선 값을 구해서 이용하려면 어떻게 하면 되는가" 하는 것입니다.
아래의 3가지 질문을 올리오니, 알려 주시면 대단히 감사하겠습니다.
1.
현재, 차트에서 본다면, 200 이평선 위에 가격이 존재하는데, 이럴 때는 매수포지션만 보유하고, 매도포지션은 생성이 안 되게 하고 싶습니다.
만일 "현재 가격이 200 이평선 위" 수준인데,
잔고에 롱포지션도 없는데 미체결 매도주문이 있다면 그 것이 몇 개든 다 취소하고 싶고,
잔고에 롱포지션이 가령 두 계약이 있다 그러면, 그 것을 매수청산할 수 있도록, 두 계약 매도할 수 있는 미체결 매도주문만 남기고 나머지 미체결 매도주문은 다 취소해 버리고 싶습니다.
가능한 대로 "차트 쪽의 신세를 지지 않고 최대한 스팥 소스를 이용해서, 가격이 200 이동평균값 이상일 때는 미체결 매도주문을 취소"하려면 어떻게 소스를 짜는 것이 좋을지요?
2.
차트에서 매수진입신호가 왔을 때에,
"스팟 식으로만 100 이평 값을 구해서 신호가격과 스팟에서의 이평가격을 비교해서
신호가격이 이평가격보다 높아야 스팟으로 매수주문"을 내고,
차트에서 매도진입신호가 왔을 때,
"스팟에서 계산한 100 이평값보다 그 매도진입신호가격이 낮아야 스팟으로 매도주문"을 내는 식으로 하려면 어떻게 하면 좋을지요?
((예를 들자면, 차트에서 Buy신호가 발생했을 때에,
그 때 진입신호가격이 가령 245 라고 했을 때,
그 값이 100 이평선 값 위에 있으면, 가령 100 이평 값이 238이라면, 이 때는 실제로 매수주문을 내고,
만일 100 이평선이 그 진입신호가격보다 위라면, 가령 100 이평 값이 251이라면, 이 때는 매수신호를 무시하고 하는 것과 같은 식을,
최대한 차트에서 보내 주는 신호[정보]보다는, 스팥 자체로 해결하는 방법을 알고 싶습니다))
3.
가급적이면 차트에의 의존을 줄이고 스팟으로 처리하는 비중을 높여 보려고 하는데,
아주 간단한 예로,
차트를 이용하지 않고,
"스팟으로만,
가령 50 이평선과 200 이평
골든크로스에 매수, 데드크로스에 매도"
하는
수식을 부탁드리고 싶습니다.
대단히 감사합니다.
2013-08-15
1100
글번호 222507
답변완료
문의 드립니다.
항상 상세하시고 친절하신 답변에 감사드립니다.
예스스팟에서 손절 익절 추적스탑 등을 구현하는 방법을 공부하려고 하는데,
예스스팟의 "객체정보" 화면에서 보면,
StopLoss, StopPrifitTarget, StopTrailing이라는 객체들이 보입니다.
YesLanguage의 SetStopLoss, SetStopPrifitTarget, SetStopTrailing이라는 강제청산함수들과 기능이 매우 유사할 것으로 짐작이 되는데,
이 객체들의 실제 적용례를 부탁드립니다.
1.
StopLoss,
StopPrifitTarget,
StopTrailing
객체들의 실제 사용례를, 아주 간단하게라도 예문을 각각 보여 주시면 대단히 감사하겠습니다.
2.
특히, 이 객체들의 properties 중에 보면 "color"라고 하는 프라퍼티가 있어서, 화면상에 손절선, 익절선, 추적스탑선 등을 색깔로 표시해 주는 좋은 기능일 것으로 짐작이 되는데, 시뮬레이션 등을 할 수 없는 예스스팟에서 색깔로라도 그 것들을 볼 수 있으면 크게 도움이 될 거 같습니다.
이 color의 사용례도 (소스 코드 문장 중에) 보여 주시면 대단히 감사하겠습니다.
(3. 더불어서, StopEndOfDay, StopInactivity 객체들의 예문도 짧게라도 보여 주시면 감사하겠습니다)
감사합니다.
2013-08-09
1032
글번호 222496
답변완료
옵션데이타 데이타베이스 저장
옵션 데이타를 개인데이타 베이스에 저장하려 합니다.
아래와 같이 수식을 만들었는데
장시작시 부터 장 종료시까지만 데이타를 등록하고자 하려면
무엇을 추가해야 할까요 ?
var CCode = new Array(101);
var PCode = new Array(101);
var CPrice = new Array(101);
var PPrice = new Array(101);
var SQL_C;
var SQL_P;
function Main_OnStart()
{
for(var i = -50; i <= 50; i++)
{
CCode[50+i] = Option.GetATMCallRecent(i);
PCode[50+i] = Option.GetATMPutRecent(i);
Main.ReqMarketData(CCode[50+i], 1,0);
Main.ReqMarketData(PCode[50+i], 1,0);
}
Main.SetTimer(1, 60 * 1000);
}
function Main_OnTimer(nEventID)
{
if (nEventID == 1)
{
for(var i = 0; i <= 100; i++)
{
CPrice[i] = Option.GetCurrentByCode(CCode[i]);
PPrice[i] = Option.GetCurrentByCode(PCode[i]);
SQL_C = "OPTION_DATA (O_CODE, O_VALUE, O_TIME) VALUES ('" + CCode[i] + "' , " + CPrice[i] + ", SYSTIMESTAMP )";
SQL_P = "OPTION_DATA (O_CODE, O_VALUE, O_TIME) VALUES ('" + PCode[i] + "' , " + PPrice[i] + ", SYSTIMESTAMP )";
DataBase1.In$ert(SQL_C);
DataBase1.In$ert(SQL_P);
}
}
}
2013-08-05
510
글번호 222489