답변완료
buy, exitlong 함수 문의드립니다.
안녕하세요.
buy, exitlong 함수의 경우 예스랭귀지 메뉴얼에는 생략 가능하다는 부분이 많이 있는데요, 어떻게 생략하는건지 모르겠습니다. 정확한 사용법을 잘 모르겠습니다.
질문1.
buy("", ,DEF,suRyang);
ExitLong("", ,DEF,"",Quantity,);
이렇게 하면 생략이 되는겁니까?
질문2.
buy("",OnClose,DEF,suRyang);
ExitLong("",AtMarket,DEF,"",Quantity);
이렇게 하면 진입시 신호명칭을 지정하지 않고 진입하는 거고, 청산시 진입명을 상관하지 않고 청산을 실행하는 겁니까?
2020-03-01
606
글번호 136471
사용자 함수
답변완료
수식변환 요청드립니다.
수고하십니다.
귀사 홈페이지에서 복사한 아래 수식을 다음과 같이 변환 부탁 드립니다.
1] 오늘 검색하는 것이 아니고 "N일전에 검색"하는 경우로 변환 부탁드립니다.
2] 사용자함수로 바꿔주세요..
3] 지표식으로도 변환 부탁합니다.
늘 감사드리고 있습니다. 수고하세요..
/*
from 수식지왕
매수조건식을 종목검색조건으로 변경했습니다.
종목검색 속성에서 검색에 필요한 최소기간에 400정도로 지정하고
검색하시기 바랍니다.(종목검색에는 최대 500봉까지만 제공됩니다.)
*/
Input:length(10),추세선연장(5),추세판단범위(10),진입횟수제한(1),shortPeriod(120),midPeriod(1),
#ssssssssssssssssssssssssssssssssss
파동선두께(1),추세선두께(0),파동선색(GREEN),수치표시(0);
#eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
Var:j(0),jj(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),진입횟수(0),
TL1(0),TL2(0),TL3(0),Text1(0),TL9(0),short(0),
고추세최종(0),저추세최종(0),고ID(0),저ID(0);
Array:고[100,4](0),저[100,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
#ssssssssssssssssssssssssssssssssss
Short = ma(C, midPeriod);
If Index == 0 Then
{
고[1,1] = C;
저[1,1] = C;
}
#eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
Condition1 = Highest(C,length) == C and 최종고가 <> C;
Condition2 = Lowest (C,length) == C and 최종저가 <> C;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then 처리구분 = "고점처리"; // 저 - 고 순으로 처리
Else 처리구분 = "저점처리"; // 고 - 저 순으로 처리
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
최종고가 = C; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
진입횟수 = 0;
For j = 100 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = C;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
}
Else If 고[1,1] < C Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = C;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
}
/* 고점추세선 */
If 고[2,2][1] <> 고[2,2] Then // 고2의 Index값이 변동 없음 즉, 새로운 고점이 생기지 않았음
{
고추세최종 = 0;
For j = 3 To 추세판단범위
{
If 고[2,1] < 고[j,1] Then
{
고추세최종 = (고[2,1] - 고[j,1])/(고[2,2] - 고[j,2]) * (Index - 고[j,2]) + 고[j,1];
고ID = j;
j = 100;
}
}
}
Else If 고추세최종[1] > 0 Then
{
고추세최종 = (고[2,1] - 고[고ID,1])/(고[2,2] - 고[고ID,2]) * (Index - 고[고ID,2]) + 고[고ID,1];
}
If 저추세최종[1] > 0 Then
{
저추세최종 = (저[2,1] - 저[저ID,1])/(저[2,2] - 저[저ID,2]) * (Index - 저[저ID,2]) + 저[저ID,1];
}
최종꼭지점 = "고점";
If 진입횟수 < 진입횟수제한 and
고추세최종 > 0 and 고추세최종 < C AND Short > ma(C,shortPeriod) Then
{
find(1);
}
}
#==========================================#
If 처리구분 == "저점처리" Then
{
최종저가 = C;
If 최종꼭지점 == "고점" then
{
진입횟수 = 0;
For j = 100 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = C;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
}
Else If 저[1,1] > C then
{
저[1,1] = C;
저[1,3] = sDate;
저[1,4] = sTime;
저[1,2] = Index;
}
/* 저점추세선 */
If 저[2,2][1] <> 저[2,2] Then
{
저추세최종 = 0;
For j = 3 To 추세판단범위
{
If 저[2,1] > 저[j,1] and 저[j,1] > 0 Then
{
저추세최종 = (저[2,1] - 저[j,1])/(저[2,2] - 저[j,2]) * (Index - 저[j,2]) + 저[j,1];
저ID = j;
j = 100;
}
}
}
Else If 저추세최종[1] > 0 Then
{
저추세최종 = (저[2,1] - 저[저ID,1])/(저[2,2] - 저[저ID,2]) * (Index - 저[저ID,2]) + 저[저ID,1];
}
If 고추세최종[1] > 0 Then
{
고추세최종 = (고[2,1] - 고[고ID,1])/(고[2,2] - 고[고ID,2]) * (Index - 고[고ID,2]) + 고[고ID,1];
}
최종꼭지점 = "저점";
}
#==========================================#
If 처리구분 == "" Then
{
If Index - 고[1,2] <= 추세선연장 Then
{
If 고추세최종[1] > 0 Then
{
고추세최종 = (고[2,1] - 고[고ID,1])/(고[2,2] - 고[고ID,2]) * (Index - 고[고ID,2]) + 고[고ID,1];
}
}
Else
{
고추세최종 = 0;
}
If Index - 저[1,2] <= 추세선연장 Then
{
If 저추세최종[1] > 0 Then
{
저추세최종 = (저[2,1] - 저[저ID,1])/(저[2,2] - 저[저ID,2]) * (Index - 저[저ID,2]) + 저[저ID,1];
}
}
Else
{
저추세최종 = 0;
}
}
2020-03-02
489
글번호 136469
종목검색
답변완료
문의드립니다
input : ntime1(60),P(20);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),TL1(0),TL2(0);
Array : HH[10](0),LL[10](0),CC[10](0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime1;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
TL_Delete(TL1);
TL_Delete(TL2);
HH[0] = c;
LL[0] = c;
for cnt = 1 to 9
{
CC[cnt] = CC[cnt-1][1];
HH[cnt] = LL[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
if HH[1] > 0 and LL[1] > 0 then
{
TL1 = TL_New(sdate[1],stime[1],CC[1],sdate,stime,CC[1]);
TL_SetColor(TL1,YELLOW);
TL_SetSize(TL1,2);
TL_SetExtRight(Tl1,true);
}
}
else
{
TL_SetEnd(TL1,sdate,stime,CC[1]);
}
CC[0] = C;
if c > HH[0] Then
HH[0] = c;
if c < LL[0] Then
LL[0] = c;
}
종가 +5틱으로 나오게추가 부탁드립니다~~
2020-02-29
462
글번호 136462
지표