답변완료
GetUserValue()함수로 파일변수를 읽기전에 초기화하는 방법이 있나요?
파일에 변수를 만들어 스팟이 다시 실행되더라도 기존 값을 계속해서 읽고, 쓰고 싶을때가 많이 있습니다.
OnStart()함수에서 GetUserValue()를 해서 변수를 활용하고 싶은데,
해당 변수는 OnTimer() 함수내에서 만들어주기 때문에 최초에 OnStart()에서 초기화를 할 수 없는 상황입니다.(OnStart() 함수에서 초기화하면 스팟 실행할때마다 초기화가 되어 파일에서 기존 값을 읽어오는게 의미가 없어지므로 그렇게 하면 안될 것 같습니다.)
이렇게 되면 맨 처음에 전략 실행시 변수가 초기화되지 않은 상태에서 OnStart()함수에서 GetUserValue()를 이용해 변수를 불러오게 되므로 오류가 생길 수 밖에 없는데,
어떻게 초기화하면 될까요?
2013-10-07
691
글번호 222607
답변완료
질문드립니다.
안녕하세요.
제가 아래와 같이 선물 챠트 신호에 따라 옵션을 매매하는 수식을 작성해 보았는데요.
다음과 같이 청산식을 수정하고자 질문드립니다.
진입 - 기존 수식과 동일
청산1 - 챠트1 그리고 챠트2의 동시매수신호 발생시점의 선물가격이 1pt상승하면... 보유한 콜옵션 3개를 청산한다.
청산2 - 챠트1 또는 챠트2에서 매수익절신호(2) 또는 매도신호(3)이 발생하면 보유한 콜옵션 전량을 청산한다.
감사합니다.
--------------------------------------------------------------------------------------
var S1;
var S2;
var MP;
var Callcode;
function Main_OnStart()
{
S1 = 0;
S2 = 0;
MP = 0;
}
function Chart1_OnRiseSignal(Signal)
{
S1 = Signal.signalKind;
if (S1 == 1 && S2 == 1)
{
Callcode = Option.GetATMCallRecent(2,0);
Account1.OrderBuy(Callcode, 6, Option.GetAskByCode(Callcode, 2), 0);
MP = 1;
}
if (MP == 1 &&(S1 == 2 || S1 == 3))
{
MP = 0;
{
Account1.OrderSell(Callcode, 6, Option.GetBidByCode(Callcode, 2), 0);
}
}
2013-10-01
819
글번호 222597