답변완료
Data2() 사용 시 도움 부탁드립니다.
항상 도움 주셔서 늘 고맙습니다.
아래 수식에서 NumOfDay가 첫봉에서 값이 3개씩 증가하는데, 원하는 것은 1씩 증가하는 것입니다.
해결책이 있을까요? 꼭 부탁드립니다.
// 1분봉 차트사용
// 종목: 중앙에너비스
// 시뮬레이션 기간: 2021/1203 ~ 2022/02/04
Var: NumOfDay(0);
Var: KorMarketLow(0), KorMarket1DayBefore(0);
if barIndex == 1 then {
ClearDebug();
}
if BDate[1] != Bdate then {
NumOfDay = NumOfDay + 1;
}
var1 = Ma(C, 5);
Var2 = Ma(C, 10);
if var1[1] < var2[1] and var1 > Var2 then {
buy("b1", atmarket);
var3 = NumOfDay;
}
if sDate != NextBarSdate Then {
KorMarket1DayBefore = Data2(C[1]);
KorMarketLow = Data2(L);
}
else {
KorMarketLow = iff(KorMarketLow > Data2(L), Data2(L), KorMarketLow);
}
if KorMarket1DayBefore/KorMarketLow > 1.03 then {
exitlong("o1", onClose);
}
if sDate == 20220127 and ((sTime > 111000 and sTime < 112700) or sTime == 90000) Then {
MessageLog("KQ[1][%.0f] KQ_L[%.0f] KQ_Lowest[%.0f] [%.3f] NumOfDay[%.0f]", KorMarket1DayBefore, Data2(L), KorMarketLow, KorMarket1DayBefore/KorMarketLow, NumOfDay);
}
// NumOfDay 는, 매일 첫봉에서 1씩 증가하는 변수임.
// 위와 같이 Data2 로 코스닥 지수 데이터(1분봉)를 사용할 경우에, 매일 첫봉에서 1씩 증가하는 것이 아니라 3개씩 증가하는 현상이 있음.
// NumOfDay를 사용하여 시스템을 만들려고 하는데, 1씩 증가하지 않고 3씩 증가하여 고민임.
// 해결책이 있으면 좋겠습니다.
2022-10-07
817
글번호 162799
시스템
답변완료
부탁드립니다
수고하십니다
아래수식은 모든 콜,풋종가에 그려지던데, 현재의등가콜,풋에만 그려지다가, 등가가 변경될때 마다 변경된등가의 콜,풋종가 가 아닌 ,콜4틱위에,풋4틱아래에 그려지는 수식으로 변경 부탁드립니다
var : V1(0,Data1),V2(0,Data1),ATM(0,Data1);
var : cnt(0,Data1);
var : Ci(0,Data1),Pi(0,Data1);
Array : CS[7](0),CC[7](0),PS[7](0),PP[7](0);
#콜종가
CC[2] = Data2(c);
CC[3] = Data4(c);
CC[4] = Data5(c);
CC[5] = Data6(c);
CC[6] = Data7(c);
#풋가격
PP[2] = Data3(c);
PP[3] = Data8(c);
PP[4] = Data9(c);
PP[5] = Data10(c);
PP[6] = Data11(c);
if data1(Bdate != Bdate[1]) then
{
V1 = Data12(c);
V2 = data12(Floor(c/2.5)*2.5);
if V1-V2 > 2.5/2 Then
ATM = V2+2.5;
else
ATM = V2;
#콜행사가
CS[2]= data2(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
CS[3]= data4(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
CS[4]= data5(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
CS[5]= data6(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
CS[6]= data7(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
#풋행사가
PS[2]= data3(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
PS[3]= data8(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
PS[4]= data9(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
PS[5]= data10(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
PS[6]= data11(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
var1 = 0;
Var2 = 0;
Var3 = 0;
For cnt = 2 to 6
{
if CS[cnt] == ATM Then
var1 = cnt;
if CS[cnt] == ATM+2.5 Then
Var2 = cnt;
if CS[cnt] == ATM-2.5 Then
Var3 = cnt;
if PS[cnt] == ATM Then
value1 = cnt;
if PS[cnt] == ATM+2.5 Then
Value2 = cnt;
if PS[cnt] == ATM-2.5 Then
Value3 = cnt;
}
}
if var1 > 0 Then
Plot1(CC[var1]);
if Var2 > 0 Then
Plot2(CC[Var2]);
if Var3 > 0 Then
Plot3(CC[Var3]);
if value1 > 0 then
plot4(PP[value1]);
if value2 > 0 then
plot5(PP[value2]);
if value3 > 0 then
plot6(PP[value3]);
2022-10-06
1132
글번호 162797
지표