답변완료
문의 드립니다.
안녕하세요.
저번에 도와주셔서 감사드립니다.
아래 수식에
시간만 나오게 해주셨는데
시간에 시분초 나오게 되어있는데 너무 햇갈려서
이것을 시:분:초 이렇게 수정할 수 있을까요?
또
고가에서 저가까지 몇틱이고
저가에서 고가까지 몇틱인지 표시 나오게 해줄 수 없을까요?
그러니까 고가에서 저가까지 시간 나오고 그 시간 아래에 +몇틱인지 표시 나왔으면 좋겠습니다.
또 저가에서 고가까지 시간 나오고 그 시간 위에 +몇틱인지 표시 나오게 하고 싶습니다.
감사합니다.
주말 잘 보내세요~~!!
input:length(4),종가사용여부(0),파동선두께(5),수치표시(1),수평선표시(1);
Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),
TL1(0),Text1(0),tl2(0),tl3(0),tl4(0),tl5(0),T(0);
Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
HH = IFF(종가사용여부==1,C,H);
LL = IFF(종가사용여부==1,C,L);
If Index == 0 Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Condition1 = Highest(HH,length) == HH and 최종고가 <> HH;
Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
If 수치표시 == 1 Then
{
Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,4],0));
Text_SetStyle(Text1, 2, 1);
Text_SetColor(Text1,BLACK);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,red);
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]);
Text_SetString(Text1,NumToStr(고[1,4],0));
}
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
If 수치표시 == 1 Then
{
Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,4],0));
Text_SetStyle(Text1, 2, 0);
Text_SetColor(Text1,BLACK);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,blue);
}
Else If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]);
Text_SetString(Text1,NumToStr(저[1,4],0));
}
}
최종꼭지점 = "저점";
}
if T == -1 and T[1] != -1 Then
{
if 수평선표시 == 1 Then
{
TL2 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]);
TL_Delete(TL3);
TL3 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]);
TL_SetExtRight(TL3,true);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,BLUE);
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,BLUE);
}
if T == 1 and T[1] != 1 Then
{
if 수평선표시 == 1 Then
{
TL4= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]);
TL_Delete(TL5);
TL5= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]);
TL_SetExtRight(TL5,true);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,RED);
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,RED);
}
2022-05-13
1576
글번호 158817
지표
답변완료
질문입니다
input : P1(5),P2(10),P3(20),P4(60),P5(120);
var : T(0),Xcond1(False),Xcond2(False),Xcond3(False),Xcond4(False),Xcond5(False);
var1 = WMa(C,P1);
var2 = WMa(C,P2);
var3 = WMa(C,P3);
var4 = WMa(C,P4);
var5 = WMa(C,P5);
Condition1 = var1 > Var2 and Var2 > Var3;
Condition2 = var1 < Var2 and Var2 < Var3;
if Condition1 == true Then
T = 1;
if Condition2 == true Then
T = -1;
if Condition1 == true and
Var3 > Var4 and Var3 > Var5 Then
Buy();
if MarketPosition == 1 Then
{
if T != T[1] and T == 1 Then
ExitLong();
if CurrentContracts > CurrentContracts[1] then
{
xcond1 = False;
xcond2 = False;
xcond3 = False;
xcond4 = False;
xcond5 = False;
}
if CurrentContracts < CurrentContracts[1] Then
{
if LatestExitName(0) == "bx1" Then
Xcond1 = true;
if LatestExitName(0) == "bx2" Then
Xcond2 = true;
if LatestExitName(0) == "bx3" Then
Xcond3 = true;
if LatestExitName(0) == "bx4" Then
Xcond4 = true;
if LatestExitName(0) == "bx5" Then
Xcond5 = true;
}
if Xcond1 == False Then
ExitLong("bx1",AtStop,EntryPrice*0.99,"",1,1);
if Xcond2 == False Then
ExitLong("bx2",AtStop,EntryPrice*0.98,"",1,1);
if Xcond3 == False Then
ExitLong("bx3",AtStop,EntryPrice*0.97,"",1,1);
if Xcond4 == False and CrossDown(c,Var4) Then
ExitLong("bx4",OnClose,DEf,"",1,1);
if Xcond5 == False and CrossDown(c,Var5) Then
ExitLong("bx5",OnClose,DEf,"",1,1);
}
Else
{
xcond1 = False;
xcond2 = False;
xcond3 = False;
xcond4 = False;
xcond5 = False;
}
추가해야 할게 있는데 ,
1번 : 진입신호때 천만원 자동진입!
2번 :
이 식에서 분할청산 추가해주세요!
1) 1퍼일때 전체물량20퍼 청산
2) 2퍼일때 전체물량20퍼 청산
3) 3퍼일때 전체물량20퍼 청산
4) 위로 가다가 var1,var2 역배열되서 꺾일때 전체물량20퍼 청산
5) 위로 가다가 var2,var3 역배열되서 꺾일때 전체물량20퍼 청산
3번
4,5번 위에서 1,2,3다시 정배열이면 분할청산 중 조건에 뜨지 않아 정리되지 않았었던 기존물량 모두 다 정리하고, 자동 재진입
4번 : 손절일때도 분할추가요
1) 1퍼일때 전체물량20퍼 손절
2) 2퍼일때 전체물량20퍼 손절
3) 3퍼일때 전체물량20퍼 손절
4) 위로 못가고 var1,var2 역배열일때 전체물량20퍼 손절
5) 위로 못가고 var2,var3 역배열일때 전체물량20퍼 손절
늘 감사드립니다
2022-05-12
1409
글번호 158813
시스템