커뮤니티
수식수정
2018-05-28 19:18:57
132
글번호 119287
늘 도움 감사합니다.
아래의 그림처럼 수식수정부탁드립니다.
Input : af(0.02), maxAF(0.2);
var : T(0),HH(0),LL(0);
var1 = CSar(af,maxAF);
if crossup(c,var1) Then
{
buy();
T = 1;
HH = H;
if LL > 0 Then
{
value1 = TL_new(sdate[1],stime[1],HH,sdate,stime,HH);
TL_SetColor(value1,RED);
value2 = Text_New(sdate,stime,HH,NumToStr((HH-LL)/PriceScale,0));
Text_SetStyle(value2,2,1);
}
}
if CrossDown(c,var1) Then
{
sell();
T = -1;
LL = L;
if HH > 0 Then
{
value3 = TL_new(sdate[1],stime[1],HH,sdate,stime,HH);
TL_SetColor(value3,blue);
value4 = Text_New(sdate,stime,HH,NumToStr((HH-LL)/PriceScale,0));
Text_SetStyle(value4,2,0);
}
}
if T == 1 then
{
if H > HH Then
{
HH = H;
Text_Delete(value2);
value2 = Text_New(sdate,stime,HH,NumToStr(abs(HH-LL)/PriceScale,0));
Text_SetStyle(value2,2,1);
}
TL_SetBegin(value1,TL_GetBeginDate(value1),TL_GetBeginTime(value1),HH);
TL_SetEnd(value1,sdate,stime,HH);
}
if T == -1 then
{
if L < LL Then{
LL = L;
Text_Delete(value4);
value4 = Text_New(sdate,stime,LL,NumToStr(abs(HH-LL)/PriceScale,0));
Text_SetStyle(value4,2,0);
}
TL_SetBegin(value3,TL_GetBeginDate(value3),TL_GetBeginTime(value3),LL);
TL_SetEnd(value3,sdate,stime,LL);
}
- 1. _2018_05_28_19_09_53_250.png (0.01 MB)
답변 1
예스스탁 예스스탁 답변
2018-05-29 15:10:52
안녕하세요
예스스탁입니다.
그림에서 지정하신 자리는 사후적으로 판단되는 자리입니다.
매수나 매도가 발생된 이후에 과거봉으로 봤을때만 판단되는 자리로
그림으로 지정한 자리에 신호를 밸 방법은 없습니다.
빨간색,파란색선도 사후적으로 그리는 선입니다.
아래 수식은 아래 내용으로 식 추가했습니다.
매수이후에 최고가봉 다음봉이 최고가를 갱신하지 않으면 매도로 스위치,
매도이후에 최저가봉 다음봉이 최저가를 갱신하지 않으면 매수로 스위치입니다.
Input : af(0.02), maxAF(0.2);
var : T(0),HH(0),LL(0);
var1 = CSar(af,maxAF);
if crossup(c,var1) Then
{
buy();
T = 1;
HH = H;
if LL > 0 Then
{
value1 = TL_new(sdate[1],stime[1],HH,sdate,stime,HH);
TL_SetColor(value1,RED);
value2 = Text_New(sdate,stime,HH,NumToStr((HH-LL)/PriceScale,0));
Text_SetStyle(value2,2,1);
}
}
if CrossDown(c,var1) Then
{
sell();
T = -1;
LL = L;
if HH > 0 Then
{
value3 = TL_new(sdate[1],stime[1],HH,sdate,stime,HH);
TL_SetColor(value3,blue);
value4 = Text_New(sdate,stime,HH,NumToStr((HH-LL)/PriceScale,0));
Text_SetStyle(value4,2,0);
}
}
if T == 1 then
{
if H > HH Then
{
HH = H;
Text_Delete(value2);
value2 = Text_New(sdate,stime,HH,NumToStr(abs(HH-LL)/PriceScale,0));
Text_SetStyle(value2,2,1);
}
TL_SetBegin(value1,TL_GetBeginDate(value1),TL_GetBeginTime(value1),HH);
TL_SetEnd(value1,sdate,stime,HH);
}
if T == -1 then
{
if L < LL Then{
LL = L;
Text_Delete(value4);
value4 = Text_New(sdate,stime,LL,NumToStr(abs(HH-LL)/PriceScale,0));
Text_SetStyle(value4,2,0);
}
TL_SetBegin(value3,TL_GetBeginDate(value3),TL_GetBeginTime(value3),LL);
TL_SetEnd(value3,sdate,stime,LL);
}
if MarketPosition == 1 and
BarsSinceEntry >= 2 and
L[1] == lowest(L,BarsSinceEntry) and
L >= L[1] Then
buy();
if MarketPosition == -1 and
BarsSinceEntry >= 2 and
H[1] == Highest(H,BarsSinceEntry) and
H <= H[1] Then
sell();
즐거운 하루되세요
> 알리섬 님이 쓴 글입니다.
> 제목 : 수식수정
> 늘 도움 감사합니다.
아래의 그림처럼 수식수정부탁드립니다.
Input : af(0.02), maxAF(0.2);
var : T(0),HH(0),LL(0);
var1 = CSar(af,maxAF);
if crossup(c,var1) Then
{
buy();
T = 1;
HH = H;
if LL > 0 Then
{
value1 = TL_new(sdate[1],stime[1],HH,sdate,stime,HH);
TL_SetColor(value1,RED);
value2 = Text_New(sdate,stime,HH,NumToStr((HH-LL)/PriceScale,0));
Text_SetStyle(value2,2,1);
}
}
if CrossDown(c,var1) Then
{
sell();
T = -1;
LL = L;
if HH > 0 Then
{
value3 = TL_new(sdate[1],stime[1],HH,sdate,stime,HH);
TL_SetColor(value3,blue);
value4 = Text_New(sdate,stime,HH,NumToStr((HH-LL)/PriceScale,0));
Text_SetStyle(value4,2,0);
}
}
if T == 1 then
{
if H > HH Then
{
HH = H;
Text_Delete(value2);
value2 = Text_New(sdate,stime,HH,NumToStr(abs(HH-LL)/PriceScale,0));
Text_SetStyle(value2,2,1);
}
TL_SetBegin(value1,TL_GetBeginDate(value1),TL_GetBeginTime(value1),HH);
TL_SetEnd(value1,sdate,stime,HH);
}
if T == -1 then
{
if L < LL Then{
LL = L;
Text_Delete(value4);
value4 = Text_New(sdate,stime,LL,NumToStr(abs(HH-LL)/PriceScale,0));
Text_SetStyle(value4,2,0);
}
TL_SetBegin(value3,TL_GetBeginDate(value3),TL_GetBeginTime(value3),LL);
TL_SetEnd(value3,sdate,stime,LL);
}
다음글
이전글