커뮤니티
부탁 드립니다.
2016-08-02 09:48:07
118
글번호 100602
48923 관련 추가 질문 입니다.
질문1)
아래 마지막줄에서 다섯번째
PLOT1(DAYOPEN);
를 추가 한결과 아침 7시부터 18:00까지만 지표가 나타 납니다.
아울러 지표가 00:00까지만 나타 납니다.
이것을 해선 영업시간(07:00~익일06:00)까지 나타 나도록 부탁 드립니다.
미리 감사 드립니다.
Input:inDate(20160801);
Var:j(0),date11(0),date12(0),time11(0),time12(0),TL1(0),
date21(0),date22(0),time21(0),time22(0),
hiVal(0),loVal(0),hiBar(0),loBar(0);
Array:r[5](0),fr[5](0),TL2[5](0);
r[0] = 0;
r[1] = 0.236;
r[2] = 0.50;
r[3] = 0.764;
r[4] = 1;
if DayClose(1) > DayHigh(0) then {
hiVal = DayClose(1);
hiBar = DayIndex + 1;
}
else {
hiVal = DayHigh(0);
hiBar = _DayHighBar(0);
}
if DayClose(1) < DayLow(0) then {
loVal = DayClose(1);
loBar = DayIndex + 1;
}
else {
loVal = DayLow(0);
loBar = _DayLowBar(0);
}
if (Date == CurrentDate and inDate == 0) ||
Date == inDate then {
if hiBar > loBar then {
date11 = date[hiBar];
time11 = stime[hiBar];
date12 = date[loBar];
time12 = stime[loBar];
TL_Delete(TL1);
TL1 = TL_New(date11,time11,hiVal,date12,time12,loVal);
date21 = date[hiBar];
time21 = stime[hiBar];
date22 = date[0];
time22 = stime[0];
for j = 0 to 4 {
fr[j] = hiVal - ((hiVal - loVal) * r[j]);
TL_Delete(TL2[j]);
TL2[j] = TL_New(date21,time21,fr[j],date22,time22,fr[j]);
TL_SetColor(TL2[2],RED);
TL_SetSize(TL2[2],3);
}
}
else {
date11 = date[loBar];
time11 = stime[loBar];
date12 = date[hiBar];
time12 = stime[hiBar];
TL_Delete(TL1);
TL1 = TL_New(date11,time11,loVal,date12,time12,hiVal);
date21 = date[loBar];
time21 = stime[loBar];
date22 = date[0];
time22 = stime[0];
for j = 0 to 4 {
fr[j] = loVal + ((hiVal - loVal) * r[j]);
TL_Delete(TL2[j]);
TL2[j] = TL_New(date21,time21,fr[j],date22,time22,fr[j]);
TL_SetColor(TL2[2],RED);
TL_SetSize(TL2[2],3);
PLOT1(DAYOPEN);
}
}
}
TL_SetSize(TL1,1);
질문2)같은 48923의 답변중
2,3번의 시스템식은
작동이 되지않아 수정 부탁 드립니다.
2
Input: p1(5),p3(10),p5(15);
var : T1(0),T2(0),T3(0);
var1=ma(c,p1);
var2=ma(c,p3);
var3=ma(c,p5);
if var1>var1[1] then
T1 = 1;
else
T1 = -1;
if var2>var2[1] then
T2 = 1;
Else
T2 = -1;
if var3>var3[1] then
T3 = 1;
else
T3 = -1;
Condition1 = T1 == 1 and T2 == 1 and T3 == 1;
Condition2 = T1 == -1 and T2 == -1 and T3 == -1;
if Condition1 == true and Condition1[1] == false Then
buy();
if MarketPosition == 1 and var1 == -1 and var2 == -1 Then
exitlong();
3
Input: p1(5),p3(10),p5(15);
var : T1(0),T2(0),T3(0);
var1=ma(c,p1);
var2=ma(c,p3);
var3=ma(c,p5);
if var1>var1[1] then
T1 = 1;
else
T1 = -1;
if var2>var2[1] then
T2 = 1;
Else
T2 = -1;
if var3>var3[1] then
T3 = 1;
else
T3 = -1;
Condition1 = T1 == 1 and T2 == 1 and T3 == 1;
Condition2 = T1 == -1 and T2 == -1 and T3 == -1;
if Condition2 == true and Condition2[1] == false Then
sell();
if MarketPosition == -1 and var1 == 1 and var2 == 1 Then
ExitShort();
답변 1
예스스탁 예스스탁 답변
2016-08-02 11:05:19
안녕하세요
예스스탁입니다.
1
PLOT1(DAYOPEN);이
if (Date == CurrentDate and inDate == 0) ||Date == inDate then {
위조건만족하고
else {) 일대만 동작합니다.
또한 currentdate는 컴퓨터의 날짜입니다.
inDate에 날짜를 정하시면 해당 일에만 출력되고
inDate가 0이면 컴퓨터의 날짜와 봉의 날짜가 같은 날에만 출력됩니다.
해외선물에서 다른방법이 있지는 않습니다.
날짜를 지정할땐 영업일로 비교해 출력하셔야 합니다.
Input:inDate(20160801);
if (Date == CurrentDate and inDate == 0) || BDate == inDate then {
PLOT1(DAYOPEN);
}
아래는 수정한 식입니다.
Input:inDate(20160801);
Var:j(0),date11(0),date12(0),time11(0),time12(0),TL1(0),
date21(0),date22(0),time21(0),time22(0),
hiVal(0),loVal(0),hiBar(0),loBar(0);
Array:r[5](0),fr[5](0),TL2[5](0);
r[0] = 0;
r[1] = 0.236;
r[2] = 0.50;
r[3] = 0.764;
r[4] = 1;
if DayClose(1) > DayHigh(0) then {
hiVal = DayClose(1);
hiBar = DayIndex + 1;
}
else {
hiVal = DayHigh(0);
hiBar = _DayHighBar(0);
}
if DayClose(1) < DayLow(0) then {
loVal = DayClose(1);
loBar = DayIndex + 1;
}
else {
loVal = DayLow(0);
loBar = _DayLowBar(0);
}
if (Date == CurrentDate and inDate == 0) || Date == inDate then {
PLOT1(DAYOPEN);
if hiBar > loBar then {
date11 = date[hiBar];
time11 = stime[hiBar];
date12 = date[loBar];
time12 = stime[loBar];
TL_Delete(TL1);
TL1 = TL_New(date11,time11,hiVal,date12,time12,loVal);
date21 = date[hiBar];
time21 = stime[hiBar];
date22 = date[0];
time22 = stime[0];
for j = 0 to 4 {
fr[j] = hiVal - ((hiVal - loVal) * r[j]);
TL_Delete(TL2[j]);
TL2[j] = TL_New(date21,time21,fr[j],date22,time22,fr[j]);
TL_SetColor(TL2[2],RED);
TL_SetSize(TL2[2],3);
}
}
else {
date11 = date[loBar];
time11 = stime[loBar];
date12 = date[hiBar];
time12 = stime[hiBar];
TL_Delete(TL1);
TL1 = TL_New(date11,time11,loVal,date12,time12,hiVal);
date21 = date[loBar];
time21 = stime[loBar];
date22 = date[0];
time22 = stime[0];
for j = 0 to 4 {
fr[j] = loVal + ((hiVal - loVal) * r[j]);
TL_Delete(TL2[j]);
TL2[j] = TL_New(date21,time21,fr[j],date22,time22,fr[j]);
TL_SetColor(TL2[2],RED);
TL_SetSize(TL2[2],3);
}
}
}
TL_SetSize(TL1,1);
2
Input: p1(5),p3(10),p5(15);
var : T1(0),T2(0),T3(0);
var1=ma(c,p1);
var2=ma(c,p3);
var3=ma(c,p5);
if var1>var1[1] then
T1 = 1;
else
T1 = -1;
if var2>var2[1] then
T2 = 1;
Else
T2 = -1;
if var3>var3[1] then
T3 = 1;
else
T3 = -1;
Condition1 = T1 == 1 and T2 == 1 and T3 == 1;
Condition2 = T1 == -1 and T2 == -1 and T3 == -1;
if Condition1 == true and Condition1[1] == false Then
buy();
if MarketPosition == 1 and T1 == -1 and T2 == -1 Then
exitlong();
3
Input: p1(5),p3(10),p5(15);
var : T1(0),T2(0),T3(0);
var1=ma(c,p1);
var2=ma(c,p3);
var3=ma(c,p5);
if var1>var1[1] then
T1 = 1;
else
T1 = -1;
if var2>var2[1] then
T2 = 1;
Else
T2 = -1;
if var3>var3[1] then
T3 = 1;
else
T3 = -1;
Condition1 = T1 == 1 and T2 == 1 and T3 == 1;
Condition2 = T1 == -1 and T2 == -1 and T3 == -1;
if Condition2 == true and Condition2[1] == false Then
sell();
if MarketPosition == -1 and T1 == 1 and T2 == 1 Then
ExitShort();
즐거운 하루되세요
> yes 님이 쓴 글입니다.
> 제목 : 부탁 드립니다.
> 48923 관련 추가 질문 입니다.
질문1)
아래 마지막줄에서 다섯번째
PLOT1(DAYOPEN);
를 추가 한결과 아침 7시부터 18:00까지만 지표가 나타 납니다.
아울러 지표가 00:00까지만 나타 납니다.
이것을 해선 영업시간(07:00~익일06:00)까지 나타 나도록 부탁 드립니다.
미리 감사 드립니다.
Input:inDate(20160801);
Var:j(0),date11(0),date12(0),time11(0),time12(0),TL1(0),
date21(0),date22(0),time21(0),time22(0),
hiVal(0),loVal(0),hiBar(0),loBar(0);
Array:r[5](0),fr[5](0),TL2[5](0);
r[0] = 0;
r[1] = 0.236;
r[2] = 0.50;
r[3] = 0.764;
r[4] = 1;
if DayClose(1) > DayHigh(0) then {
hiVal = DayClose(1);
hiBar = DayIndex + 1;
}
else {
hiVal = DayHigh(0);
hiBar = _DayHighBar(0);
}
if DayClose(1) < DayLow(0) then {
loVal = DayClose(1);
loBar = DayIndex + 1;
}
else {
loVal = DayLow(0);
loBar = _DayLowBar(0);
}
if (Date == CurrentDate and inDate == 0) ||
Date == inDate then {
if hiBar > loBar then {
date11 = date[hiBar];
time11 = stime[hiBar];
date12 = date[loBar];
time12 = stime[loBar];
TL_Delete(TL1);
TL1 = TL_New(date11,time11,hiVal,date12,time12,loVal);
date21 = date[hiBar];
time21 = stime[hiBar];
date22 = date[0];
time22 = stime[0];
for j = 0 to 4 {
fr[j] = hiVal - ((hiVal - loVal) * r[j]);
TL_Delete(TL2[j]);
TL2[j] = TL_New(date21,time21,fr[j],date22,time22,fr[j]);
TL_SetColor(TL2[2],RED);
TL_SetSize(TL2[2],3);
}
}
else {
date11 = date[loBar];
time11 = stime[loBar];
date12 = date[hiBar];
time12 = stime[hiBar];
TL_Delete(TL1);
TL1 = TL_New(date11,time11,loVal,date12,time12,hiVal);
date21 = date[loBar];
time21 = stime[loBar];
date22 = date[0];
time22 = stime[0];
for j = 0 to 4 {
fr[j] = loVal + ((hiVal - loVal) * r[j]);
TL_Delete(TL2[j]);
TL2[j] = TL_New(date21,time21,fr[j],date22,time22,fr[j]);
TL_SetColor(TL2[2],RED);
TL_SetSize(TL2[2],3);
PLOT1(DAYOPEN);
}
}
}
TL_SetSize(TL1,1);
질문2)같은 48923의 답변중
2,3번의 시스템식은
작동이 되지않아 수정 부탁 드립니다.
2
Input: p1(5),p3(10),p5(15);
var : T1(0),T2(0),T3(0);
var1=ma(c,p1);
var2=ma(c,p3);
var3=ma(c,p5);
if var1>var1[1] then
T1 = 1;
else
T1 = -1;
if var2>var2[1] then
T2 = 1;
Else
T2 = -1;
if var3>var3[1] then
T3 = 1;
else
T3 = -1;
Condition1 = T1 == 1 and T2 == 1 and T3 == 1;
Condition2 = T1 == -1 and T2 == -1 and T3 == -1;
if Condition1 == true and Condition1[1] == false Then
buy();
if MarketPosition == 1 and var1 == -1 and var2 == -1 Then
exitlong();
3
Input: p1(5),p3(10),p5(15);
var : T1(0),T2(0),T3(0);
var1=ma(c,p1);
var2=ma(c,p3);
var3=ma(c,p5);
if var1>var1[1] then
T1 = 1;
else
T1 = -1;
if var2>var2[1] then
T2 = 1;
Else
T2 = -1;
if var3>var3[1] then
T3 = 1;
else
T3 = -1;
Condition1 = T1 == 1 and T2 == 1 and T3 == 1;
Condition2 = T1 == -1 and T2 == -1 and T3 == -1;
if Condition2 == true and Condition2[1] == false Then
sell();
if MarketPosition == -1 and var1 == 1 and var2 == 1 Then
ExitShort();