커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4505
글번호 230811
답변완료
수식 부탁드립니다
안녕하세요
키움 수식 변환 부탁드립니다.
수식 1
valuewhen(1,avg(c,period)>avg(c,period,1),avg(c,period))
수식 2
valuewhen(1,avg(c,period)<avg(c,period,1),avg(c,period))
지표조건
period : 20
감사합니다.
2019-03-17
347
글번호 127130
답변완료
문의
print 기능이 정상작동하는지 알고싶습니다.
print("d:₩data.txt","%.2f",C);
구문을 실행해도 파일이 기록되지 않습니다.
프로그램이 정상인데 이런 현상이 생기면 주로 어떤 문제인지 알려주시면 감사하겠습니다.
2019-03-16
319
글번호 127129
답변완료
수식요청 드립니다.
* 항상 많은 도움에 정말 고맙습니다.
* 아래 수식중 청산 로직 좀 수정 요청 드립니다. (질문 4건)
var1= ma(c,5);
var2= ma(c,20);
if CrossUp(var1,var2) then buy();
if CrossDown(var1,var2) Then sell();
################# 청산 로직 질문 사항 입니다.###################################
Input : 익절틱수(20),손절틱수(20);
if Crossup(ma(c,3),ma(c,7)) Then { value1 = C; }
if Crossup(ma(c,10),ma(c,20)) Then { value2 = C; }
if CrossDown(ma(c,10),ma(c,20)) Then { value3 = C; }
if CrossDown(ma(c,10),ma(c,30)) Then { value4 = C; }
## 문의사항: 매매(매수,매도)후 청산
질문1번: if MarketPosition == 1 일경우 현재가격이 매수가격 보다 20틱 크고(이익)
현재가 가격이 이평선(ma(c,30)) 보다 크면 10일선이 30일선 다운되면서
청산(최대수익)
<공부용> if MarketPosition == 1 and c>Entryprice*익절틱수 and c>ma(c,30) Then { ExitLong("매수익절", crossdown(c,value4) } ◀ 이부분 수정 요청 좀 드립니다.
질문 2번: if MarketPosition == 1 일경우 현재가격이 매수가격 보다 10틱 작고(손실) 현재가 가격이 이평선(ma(c,30)) 보다
작으면 3일선이 7일선 다운되면 청산(최소손실)
<공부용> if MarketPosition == 1 and c<Entryprice*10 and c<ma(c,30) Then { ExitLong("매수손절", crossdown(c,value1) } ◀ 수정 요청 드립니다.
## 재매수 부분
Input : 익절틱수(20),손절틱수(20);
if Crossup(ma(c,3),ma(c,7)) Then { value1 = C; }
if Crossup(ma(c,10),ma(c,20)) Then { value2 = C; }
if CrossDown(ma(c,10),ma(c,20)) Then { value3 = C; }
if CrossDown(ma(c,10),ma(c,30)) Then { value4 = C; }
if MarketPosition == 1 and c<Entryprice*5 and c<value4 Then { ExitLong("매수익절",atlimit, EntryPrice + PriceScale*익절틱수);
## 5틱이상손실이고 이평선이 하락하면 청산
ExitLong("매수손절",AtStop , EntryPrice - PriceScale*손절틱수);
## 5틱이상손실이고 이평선이 상승하면 청산
}
if MarketPosition== -1 and c>Entryprice*5 and c<value4 Then { ExitShort("매도익절",atlimit, EntryPrice - PriceScale*익절틱수);
#20틱 수익이면 즉시 청산
ExitShort("매도손절",AtStop , EntryPrice + PriceScale*손절틱수);
#20틱 손실이면 즉시 청산
}
질문3번: 아래 로직에서 청산후 재매매(매수, 매도) 할려고 하는데 매매가 안됨니다. 뭐를 잘못 했나요??
.의미: 청산후 "매수익절" 했으면 매도로 스위칭 "매수손절" 했으면 매수로 스위칭 할려고 합니다.
if MarketPosition == 0 Then { if IsEntryName("매수익절") == true Then { if c<value2 Then sell("재매도"); }}
if MarketPosition == 0 Then { if IsEntryName("매수손절") == true Then { if c<value2 Then buy("재매수"); }}
질문 4번: 명칭에 따른 수익 청산 명령어가 안되는데 수식좀 봐주십시요.
.의미: 재매수 한것은 10틱 수익후 무조건 청산 입니다.
if MarketPosition == 1 and IsEntryName("재매도") == true then {ExitShort("sx1",AtStop,EntryPrice+PriceScale*10);}
if MarketPosition == 1 and IsEntryName("재매수") == true then {ExitLong("sx2",AtStop,EntryPrice+PriceScale*10);}
* 수고하십시요.
2019-03-18
320
글번호 127128
답변완료
수식 작성 부탁합니다
수고 하십니다~
추세매매 전략으로 매매코자 합니다
90일 이평선을 기준으로 해서
한쪽방향으로만 계속 추가매집!
90일 단순이평선 지지받고 있을때....
1일 단순이평선이 90일 단순이평선을 상향돌파시
1계약 매집진입하고 90일 단순이평선 하향이탈시 청산
추가 매집은 첫1계약보유분이 40틱이상 수익발생시부터
1일 단순이평선이 65일 단순이평선을 하향이탈했다 상향돌파시 1계약 추가매집
2계약보유분이 평균단가에 도달하거나
1일 단순이평선이 90일 단순이평선을 하향이탈시 보유분 모두 청산
3번째 추가매집도
2계약 보유분 평균수익이 40틱이상 발생시부터
1일 단순이평선이 65일 단순이평선을 하향이탈했다 상향돌파시 2계약 추가매집
4계약보유분이 평균단가에 도달하거나
1일 단순이평선이 90일 단순이평선을 하향이탈시 보유분 모두 청산
반대로
90일 단순이평선 저항받고 있을때....
1일 단순이평선이 90일 단순이평선을 하향돌파시
1계약 매집진입하고 90일 단순이평선 상향이탈시 청산
추가 매집은 첫1계약보유분이 40틱이상 수익발생시부터
1일 단순이평선이 65일 단순이평선을 상향이탈했다 하향돌파시 1계약 추가매집
2계약보유분이 평균단가에 도달하거나
1일 단순이평선이 90일 단순이평선을 상향이탈시 보유분 모두 청산
3계약째 추가매집도
2계약 보유분 평균수익이 40틱이상 발생시부터
1일 단순이평선이 65일 단순이평선을 상향이탈했다 하향돌파시 2계약 추가매집
4계약보유분이 평균단가에 도달하거나
1일 단순이평선이 90일 단순이평선을 상향이탈시 보유분 모두 청산입니다
감사합니다~
2019-03-18
335
글번호 127127
답변완료
조건검색식 매수매도 조건 부탁드립니다.
저는 해외선물 조건 검색식을 만드는데요. 이런 것도 가능할 지 문의드립니다. 제가 생각나는 대로 정리는 되는데 조건식으로 만드는데는 어려움이 많이 있네요. 도움 부탁드립니다.
매수조건
25이평선이 50이평선에 95%이상 100%이하 근접할때 또는 25이평선이 50이평선을 골드크로스하고 10봉 이내 이 2가지 조건 중에 한가지 이상 만족한 상태에서 주가가 종가기준으로 25이평선을 골드크로스 할 때 매수하는 겁니다.
매도조건
25이평선이 50이평선에 105%이하 100%이상 근접할때 또는 25이평선이 50이평선을 데드크로스하고 10봉 이내 이 2가지 조건 중에 한가지 이상 만족한 상태에서 주가가 종가기준으로 25이평선을 데드크로스 할 때 매도하는 겁니다.
제가 설명을 잘 한건지 모르겠네요. 설명이 부족하면 말씀해 주시고요.. 부탁드립니다.
그리고 항상 감사합니다...^^
2019-03-16
345
글번호 127126
답변완료
2개의 시스템식을 동시에 시험적용가능한지요??
안녕하세요 관리자님!!
지난주에 작성해주신 수식은 잘받았습니다. 감사합니다.
근데 시스템에 시험적용해보니 2개의 시스템식을 동시에 시험적용이 안되는지라 문의드립니다.
아래의 지표1,지표2의 수식을 동시에 시험적용할수 있게 부탁드립니다.
-지표1-
input : P(520);#10년 520주
input : ntime(120);#120분
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),Tcond(false),HH(0),LL(0),OO(0),diff(0);
Array : WH1[600](0),WH2[600](0),WH3[600](0),WH4[600](0),WH5[600](0);
Array : WL1[600](0),WL2[600](0),WL3[600](0),WL4[600](0),WL5[600](0);
var : WH1sum(0),WL1sum(0),WH1Sqrt(0),WL1Sqrt(0),Hma1(0),Lma1(0),WH1Stdv(0),WL1Stdv(0);
var : WH2sum(0),WL2sum(0),WH2Sqrt(0),WL2Sqrt(0),Hma2(0),Lma2(0),WH2Stdv(0),WL2Stdv(0);
var : WH3sum(0),WL3sum(0),WH3Sqrt(0),WL3Sqrt(0),Hma3(0),Lma3(0),WH3Stdv(0),WL3Stdv(0);
var : WH4sum(0),WL4sum(0),WH4Sqrt(0),WL4Sqrt(0),Hma4(0),Lma4(0),WH4Stdv(0),WL4Stdv(0);
var : WH5sum(0),WL5sum(0),WH5Sqrt(0),WL5Sqrt(0),Hma5(0),Lma5(0),WH5Stdv(0),WL5Stdv(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%ntime;
if (Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1])) then
{
OO = O;
HH = H;
LL = L;
if DayOfWeek(bdate) == 1 Then
{
for cnt = 1 to 599
{
WH1[cnt] = WH1[cnt-1][1];
WL1[cnt] = WL1[cnt-1][1];
}
}
if DayOfWeek(bdate) == 2 Then
{
for cnt = 1 to 599
{
WH2[cnt] = WH2[cnt-1][1];
WL2[cnt] = WL2[cnt-1][1];
}
}
if DayOfWeek(bdate) == 3 Then
{
for cnt = 1 to 599
{
WH3[cnt] = WH3[cnt-1][1];
WL3[cnt] = WL3[cnt-1][1];
}
}
if DayOfWeek(bdate) == 4 Then
{
for cnt = 1 to 599
{
WH4[cnt] = WH4[cnt-1][1];
WL4[cnt] = WL4[cnt-1][1];
}
}
if DayOfWeek(bdate) == 5 Then
{
for cnt = 1 to 599
{
wh5[cnt] = WH5[cnt-1][1];
WL5[cnt] = WL5[cnt-1][1];
}
}
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
if DayOfWeek(bdate) == 1 Then
{
WH1[0] = HH-OO;
WL1[0] = OO-LL;
}
if DayOfWeek(bdate) == 2 Then
{
WH2[0] = HH-OO;
WL2[0] = OO-LL;
}
if DayOfWeek(bdate) == 3 Then
{
WH3[0] = HH-OO;
WL3[0] = OO-LL;
}
if DayOfWeek(bdate) == 4 Then
{
WH4[0] = HH-OO;
WL4[0] = OO-LL;
}
if DayOfWeek(bdate) == 5 Then
{
WH5[0] = HH-OO;
WL5[0] = OO-LL;
}
}
if WH1[P-1] > 0 and WL1[P-1] > 0 and DayOfWeek(bdate) == 1 then
{
WH1sum = 0;
WL1sum = 0;
for cnt = 0 to P-1
{
WH1sum = WH1sum + WH1[cnt];
WL1sum = WL1sum + WL1[cnt];
}
Hma1 = WH1sum/P;
Lma1 = WL1sum/P;
WH1Sqrt = 0;
WL1Sqrt = 0;
For cnt = 0 To P - 1
{
WH1Sqrt = WH1Sqrt + (WH1[cnt] - Hma1)^2;
WL1Sqrt = WL1Sqrt + (WL1[cnt] - Lma1)^2;
}
WH1Stdv = SquareRoot(WH1Sqrt / P);
WL1Stdv = SquareRoot(WL1Sqrt / P);
var1 = OO+(Hma1+WH1Stdv*2);
var2 = OO-(Lma1+WL1Stdv*2);
var3 = OO+(Hma1+WH1Stdv);
var4 = OO-(Lma1+WL1Stdv);
Var5 = OO+(Hma1+WH1Stdv*3);
Var6 = OO-(Lma1+WL1Stdv*3);
Var7 = (OO+Hma1);
Var8 = (OO-Lma1);
}
if WH2[P-1] > 0 and WL2[P-1] > 0 and DayOfWeek(bdate) == 2 then
{
WH2sum = 0;
WL2sum = 0;
for cnt = 0 to P-1
{
WH2sum = WH2sum + WH2[cnt];
WL2sum = WL2sum + WL2[cnt];
}
Hma2 = WH2sum/P;
Lma2 = WL2sum/P;
WH2Sqrt = 0;
WL2Sqrt = 0;
For cnt = 0 To P - 1
{
WH2Sqrt = WH2Sqrt + (WH2[cnt] - Hma2)^2;
WL2Sqrt = WL2Sqrt + (WL2[cnt] - Lma2)^2;
}
WH2Stdv = SquareRoot(WH2Sqrt / P);
WL2Stdv = SquareRoot(WL2Sqrt / P);
var1 = OO+(Hma2+WH2Stdv*2);
var2 = OO-(Lma2+WL2Stdv*2);
var3 = OO+(Hma2+WH2Stdv);
var4 = OO-(Lma2+WL2Stdv);
Var5 = OO+(Hma2+WH2Stdv*3);
Var6 = OO-(Lma2+WL2Stdv*3);
Var7 = (OO+Hma2);
Var8 = (OO-Lma2);
}
if WH3[P-1] > 0 and WL3[P-1] > 0 and DayOfWeek(bdate) == 3 then
{
WH3sum = 0;
WL3sum = 0;
for cnt = 0 to P-1
{
WH3sum = WH3sum + WH3[cnt];
WL3sum = WL3sum + WL3[cnt];
}
Hma3 = WH3sum/P;
Lma3 = WL3sum/P;
WH3Sqrt = 0;
WL3Sqrt = 0;
For cnt = 0 To P - 1
{
WH3Sqrt = WH3Sqrt + (WH3[cnt] - Hma3)^2;
WL3Sqrt = WL3Sqrt + (WL3[cnt] - Lma3)^2;
}
WH3Stdv = SquareRoot(WH3Sqrt / P);
WL3Stdv = SquareRoot(WL3Sqrt / P);
var1 = OO+(Hma3+WH3Stdv*2);
var2 = OO-(Lma3+WL3Stdv*2);
var3 = OO+(Hma3+WH3Stdv);
var4 = OO-(Lma3+WL3Stdv);
Var5 = OO+(Hma3+WH3Stdv*3);
Var6 = OO-(Lma3+WL3Stdv*3);
Var7 = (OO+Hma3);
Var8 = (OO-Lma3);
}
if WH4[P-1] > 0 and WL4[P-1] > 0 and DayOfWeek(bdate) == 4 then
{
WH4sum = 0;
WL4sum = 0;
for cnt = 0 to P-1
{
WH4sum = WH4sum + WH4[cnt];
WL4sum = WL4sum + WL4[cnt];
}
Hma4 = WH4sum/P;
Lma4 = WL4sum/P;
WH4Sqrt = 0;
WL4Sqrt = 0;
For cnt = 0 To P - 1
{
WH4Sqrt = WH4Sqrt + (WH4[cnt] - Hma4)^2;
WL4Sqrt = WL4Sqrt + (WL4[cnt] - Lma4)^2;
}
WH4Stdv = SquareRoot(WH4Sqrt / P);
WL4Stdv = SquareRoot(WL4Sqrt / P);
var1 = OO+(Hma4+WH4Stdv*2);
var2 = OO-(Lma4+WL4Stdv*2);
var3 = OO+(Hma4+WH4Stdv);
var4 = OO-(Lma4+WL4Stdv);
Var5 = OO+(Hma4+WH4Stdv*3);
Var6 = OO-(Lma4+WL4Stdv*3);
Var7 = (OO+Hma4);
Var8 = (OO-Lma4);
}
if WH5[P-1] > 0 and WL5[P-1] > 0 and DayOfWeek(bdate) == 5 then
{
WH5sum = 0;
WL5sum = 0;
for cnt = 0 to P-1
{
WH5sum = WH5sum + WH5[cnt];
WL5sum = WL5sum + WL5[cnt];
}
Hma5 = WH5sum/P;
Lma5 = WL5sum/P;
WH5Sqrt = 0;
WL5Sqrt = 0;
For cnt = 0 To P - 1
{
WH5Sqrt = WH5Sqrt + (WH5[cnt] - Hma5)^2;
WL5Sqrt = WL5Sqrt + (WL5[cnt] - Lma5)^2;
}
WH5Stdv = SquareRoot(WH5Sqrt / P);
WL5Stdv = SquareRoot(WL5Sqrt / P);
var1 = OO+(Hma5+WH5Stdv*2);
var2 = OO-(Lma5+WL5Stdv*2);
var3 = OO+(Hma5+WH5Stdv);
var4 = OO-(Lma5+WL5Stdv);
Var5 = OO+(Hma5+WH5Stdv*3);
Var6 = OO-(Lma5+WL5Stdv*3);
Var7 = (OO+Hma5);
Var8 = (OO-Lma5);
}
if crossup(C,var1) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
if CrossDown(C,var2) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
if crossup(C,var3) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
if CrossDown(C,var4) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
if crossup(C,var5) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
if CrossDown(C,var6) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
if crossup(C,Var7) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
if CrossDown(C,Var8) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
diff = DayHigh-daylow;
if crossup(c,var7) and diff > diff[1] Then
sell("s");
if CrossDown(c,var8) and diff > diff[1] Then
buy("b");
-지표2-
input : P(3);
var : hh(0),ll(0),cnt(0);
#1일전에서 P일전까지 최고가/최저가
hh = DayHigh(1);
ll = DayLow(1);
for cnt = 1 to P
{
if DayHigh(cnt) > hh Then
hh = DayHigh(cnt);
if DayLow(cnt) < ll Then
ll = DayLow(cnt);
}
if crossup(c,hh) Then
buy("b");
if CrossDown(c,ll) Then
sell("s");
2019-03-16
324
글번호 127125
답변완료
dayopen 관련
안녕하세요
예를들어 1분봉에서 dayopen > var1 이상일때 var2가격 atlimit 매수하려고 합니다.
var1 = (DayClose(2)+DayClose(1)+C[1])/3 ;
var2 = (DayClose(2)+DayClose(1)+C[1])/3.2 ;
그런데 90000 시가가 var1 미만인 경우에도 090000부터 090100 사이에 var2로 매수가 됩니다.
dayopen이 첫봉에서 인식이 안되는거 같은데, 대체할수 있는 수식있으면 부탁드립니다.
2019-03-16
316
글번호 127124
답변완료
일자별 거래량 더하기
변수값을 기간값을 받아서요.
기간별 거래량 합산한 값을 구하고 싶습니다.
2019-03-15
316
글번호 127123
답변완료
수식부탁드립니다
$,안녕하세요
*,아래수식(MACD골든/데드크로스시,신호발생)에서 시스템 신호발생시점을 수정변경
부탁드립니다.
1,Red칼라 추세선이 완성된후 연속두번째(외부변수)양봉이 완성됨과 동시에 매수신호가
확정되게 수정하면 좋겠습니다.
2,Blue칼라 추세선이 완성된후 연속두번째(외부변수)음봉이 완성됨과 동시에 매도신호가
확정되게 수정하면 좋겠습니다.
$$,부탁드립니다.
Input : short(12), long(26), signal(9),굵기(1);
Var : MACDV(0) , MACDS(0),T(0);
var : HIV(0),HID(0),HIT(0),HIV1(0),HID1(0),HIT1(0);
var : HPV(0),HPD(0),HPT(0),HPV1(0),HPD1(0),HPT1(0);
var : LIV(0),LID(0),LIT(0),LIV1(0),LID1(0),LIT1(0);
var : LPV(0),LPD(0),LPT(0),LPV1(0),LPD1(0),LPT1(0);
var : TL1(0),TL2(0);
MACDV = MACD(short, long);
MACDS = ema(MACDV,signal);
if crossup(MACDV,MACDS) Then
{
T = 1;
HIV = MACDV;
HID = sdate;
HIT = stime;
HIV1 = HIV[1];
HID1 = HID[1];
HIT1 = HIT[1];
HPV = L;
HPD = sdate;
HPT = stime;
HPV1 = HPV[1];
HPD1 = HPD[1];
HPT1 = HPT[1];
Condition1 = false;
if LPV1 > 0 and LPV < LPV1 and LIV > LIV1 Then
buy();
}
if CrossDown(MACDV,MACDS) Then
{
T = -1;
LIV = MACDV;
LID = sdate;
LIT = stime;
LIV1 = LIV[1];
LID1 = LID[1];
LIT1 = LIT[1];
LPV = L;
LPD = sdate;
LPT = stime;
LPV1 = LPV[1];
LPD1 = LPD[1];
LPT1 = LPT[1];
Condition2 = false;
if HPV1 > 0 and HPV > HPV1 and HIV < HIV1 Then
sell();
}
if T == 1 Then
{
if MACDV > HIV Then
{
HIV = MACDV;
HID = sdate;
HIT = stime;
}
if H > HPV Then
{
HPV = H;
HPD = sdate;
HPT = stime;
}
if Condition1 == false and HPV1 > 0 and HPV > HPV1 and HIV < HIV1 Then
{
TL1 = TL_New(HPD1,HPT1,HPV1,HPD,HPT,HPV);
TL2 = TL_New_Self(HID1,HIT1,HIV1,HID,HIT,HIV);
TL_SetColor(TL1,BLUE);
TL_SetColor(TL2,BLUE);
TL_SetSize(TL1,굵기);
TL_SetSize(TL2,굵기);
PlaySound("C:₩예스트레이더₩data₩Sound₩1point.wav");
Condition1 = true;
}
if Condition1 == true then
{
if HPV > HPV1 and HIV < HIV1 then
{
TL_SetEnd(TL1,HPD,HPT,HPV);
TL_SetEnd(TL2,HID,HIT,HIV);
}
Else
{
TL_Delete(TL1);
TL_Delete(TL2);
}
}
}
if T == -1 Then
{
if MACDV < LIV Then
{
LIV = MACDV;
LID = sdate;
LIT = stime;
}
if L < LPV Then
{
LPV = L;
LPD = sdate;
LPT = stime;
}
if Condition2 == false and LPV1 > 0 and LPV < LPV1 and LIV > LIV1 Then
{
TL1 = TL_New(LPD1,LPT1,LPV1,LPD,LPT,LPV);
TL2 = TL_New_Self(LID1,LIT1,LIV1,LID,LIT,LIV);
TL_SetColor(TL1,RED);
TL_SetColor(TL2,RED);
TL_SetSize(TL1,굵기);
TL_SetSize(TL2,굵기);
PlaySound("C:₩예스트레이더₩data₩Sound₩1point.wav");
Condition2 = true;
}
if Condition2 == true then
{
if LPV < LPV1 and LIV > LIV1 then
{
TL_SetEnd(TL1,LPD,LPT,LPV);
TL_SetEnd(TL2,LID,LIT,LIV);
}
Else
{
TL_Delete(TL1);
TL_Delete(TL2);
}
}
}
2019-03-17
317
글번호 127122