커뮤니티
재문의
2013-04-11 07:05:24
126
글번호 61939
29730 문의글에 대한 답변 수식에 문제가 발생하여, 재문의 드렸습니다.
수정 부탁드릴게요.
감사합니다.^^
답변 2
예스스탁 예스스탁 답변
2013-04-11 17:04:11
안녕하세요
예스스탁입니다.
수정한 식입니다.
Var : 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0),TL(0);
var : cnt(0),count(0);
전환선 = (Highest(High, 9) + Lowest(Low, 9)) / 2;
기준선 = (Highest(High, 26) + Lowest(Low, 26)) / 2;
후행스팬 = Close ;
선행스팬1 = (전환선[25] + 기준선[25]) / 2 ;
선행스팬2 = (Highest(High, 52) + Lowest(Low, 52)) / 2;
if crossup(c,선행스팬1) Then{
if MarketPosition == 0 Then#무포지션일때
buy("B1");
if MarketPosition == -1 Then#매도포지션에서 스위칭
buy("B2");
}
if CrossDown(c,선행스팬1) Then{
if MarketPosition == 0 Then#무포지션일때
sell("S1");
if MarketPosition == 1 Then#매수포지션 상태에서 스위칭
sell("S2");
}
value1 = highest(H,index+1);
value2 = lowest(L,index+1);
var1 = highest(h,BarsSinceExit(1));
var2 = Lowest(L,BarsSinceExit(1));
var3 = highest(H,BarsSinceEntry);
var4 = Lowest(L,BarsSinceEntry);
if MarketPosition == 1 and TotalTrades == 0 Then{
ExitLong("BP",AtLimit,EntryPrice+abs(기준선[BarsSinceEntry]-value2[BarsSinceEntry]));
ExitLong("BL",AtStop,value2[BarsSinceEntry]-PriceScale);
TL_Delete(TL);
TL = TL_New(EntryDate,EntryTime,value2[BarsSinceEntry]-PriceScale,sdate,stime,value2[BarsSinceEntry]-PriceScale);
}
if MarketPosition == -1 and TotalTrades == 0 Then{
ExitShort("SP",AtLimit, EntryPrice-abs(value1[BarsSinceEntry]-기준선[BarsSinceEntry]));
ExitShort("SL",AtStop, value1[BarsSinceEntry]+PriceScale);
TL_Delete(TL);
TL = TL_New(EntryDate,EntryTime,value1[BarsSinceEntry]+PriceScale,sdate,stime,value1[BarsSinceEntry]+PriceScale);
}
if MarketPosition == 1 and TotalTrades >= 1 Then{
if IsEntryName("b1") Then{ #무포지션일 진입한 경우에는 직전청산이후의 최저가를 이용
ExitLong("BP1",AtLimit,EntryPrice+abs(기준선[BarsSinceEntry]-var2[BarsSinceEntry]));
ExitLong("BL1",AtStop,var2[BarsSinceEntry]-PriceScale);
TL_Delete(TL);
TL = TL_New(EntryDate,EntryTime,var2[BarsSinceEntry]-PriceScale,sdate,stime,var2[BarsSinceEntry]-PriceScale);
}
if IsEntryName("b2") Then{ #매도포지션에서 스위칭 된경우에는 직전매도~현재진입 까지의 최저가
ExitLong("BP2",AtLimit,EntryPrice+abs(기준선[BarsSinceEntry]-var4[BarsSinceEntry]));
ExitLong("BL2",AtStop,var4[BarsSinceEntry]-PriceScale);
TL_Delete(TL);
TL = TL_New(EntryDate,EntryTime,var4[BarsSinceEntry]-PriceScale,sdate,stime,var4[BarsSinceEntry]-PriceScale);
}
}
if MarketPosition == -1 and TotalTrades >= 1 Then{
if IsEntryName("S1") Then{ #무포지션일 진입한 경우에는 직전청산이후의 최고가를 이용
ExitShort("SP1",AtLimit,EntryPrice-abs(var1[BarsSinceEntry]-기준선[BarsSinceEntry]));
ExitShort("SL1",AtStop,var1[BarsSinceEntry]+PriceScale);
TL_Delete(TL);
TL = TL_New(EntryDate,EntryTime,var1[BarsSinceEntry]+PriceScale,sdate,stime,var1[BarsSinceEntry]+PriceScale);
}
if IsEntryName("S2") Then{ #매수포지션에서 스위칭 된경우에는 직전매수진입~현재진입 까지의 최고가
ExitShort("SP2",AtLimit,EntryPrice-abs(var3[BarsSinceEntry]-기준선[BarsSinceEntry]));
ExitShort("SL2",AtStop,var3[BarsSinceEntry]+PriceScale);
TL_Delete(TL);
TL = TL_New(EntryDate,EntryTime,var3[BarsSinceEntry]+PriceScale,sdate,stime,var3[BarsSinceEntry]+PriceScale);
}
}
추세선은 완성된 봉에서만 그려지므로
차트 가장 마지막봉에는 그려지지 않습니다.
이용에 참고하시기 바랍니다.
즐거운 하루되세요
> 쿠루드 님이 쓴 글입니다.
> 제목 : 재문의
> 29730 문의글에 대한 답변 수식에 문제가 발생하여, 재문의 드렸습니다.
수정 부탁드릴게요.
감사합니다.^^
예스스탁 예스스탁 답변
2013-04-11 17:53:17
안녕하세요
예스스탁입니다.
역으로 진입하는 것을 제한한 식입니다.
청산이 봉 미완성시에 발생하므로 청산 후 해당봉이
완성될때 다시 동일방향으로 진입을 할수도 있는 내용이므로
같은 봉에서는 동일방향 진입이 다시 나오지 않게 했습니다.
Var : 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0),TL(0);
var : cnt(0),count(0);
전환선 = (Highest(High, 9) + Lowest(Low, 9)) / 2;
기준선 = (Highest(High, 26) + Lowest(Low, 26)) / 2;
후행스팬 = Close ;
선행스팬1 = (전환선[25] + 기준선[25]) / 2 ;
선행스팬2 = (Highest(High, 52) + Lowest(Low, 52)) / 2;
if crossup(c,선행스팬1) and MarketPosition == 0 and MarketPosition[1] == 0 Then
buy("B1");
if CrossDown(c,선행스팬1) and MarketPosition == 0 and MarketPosition[1] == 0 Then
sell("S1");
value1 = highest(H,index+1);
value2 = lowest(L,index+1);
var1 = highest(h,BarsSinceExit(1));
var2 = Lowest(L,BarsSinceExit(1));
if MarketPosition == 1 and TotalTrades == 0 Then{
ExitLong("BP",AtLimit,EntryPrice+abs(기준선[BarsSinceEntry]-value2[BarsSinceEntry]));
ExitLong("BL",AtStop,value2[BarsSinceEntry]-PriceScale);
TL_Delete(TL);
TL = TL_New(EntryDate,EntryTime,value2[BarsSinceEntry]-PriceScale,sdate,stime,value2[BarsSinceEntry]-PriceScale);
}
if MarketPosition == -1 and TotalTrades == 0 Then{
ExitShort("SP",AtLimit, EntryPrice-abs(value1[BarsSinceEntry]-기준선[BarsSinceEntry]));
ExitShort("SL",AtStop, value1[BarsSinceEntry]+PriceScale);
TL_Delete(TL);
TL = TL_New(EntryDate,EntryTime,value1[BarsSinceEntry]+PriceScale,sdate,stime,value1[BarsSinceEntry]+PriceScale);
}
if MarketPosition == 1 and TotalTrades >= 1 Then{
ExitLong("BP1",AtLimit,EntryPrice+abs(기준선[BarsSinceEntry]-var2[BarsSinceEntry]));
ExitLong("BL1",AtStop,var2[BarsSinceEntry]-PriceScale);
TL_Delete(TL);
TL = TL_New(EntryDate,EntryTime,var2[BarsSinceEntry]-PriceScale,sdate,stime,var2[BarsSinceEntry]-PriceScale);
}
if MarketPosition == -1 and TotalTrades >= 1 Then{
ExitShort("SP1",AtLimit,EntryPrice-abs(var1[BarsSinceEntry]-기준선[BarsSinceEntry]));
ExitShort("SL1",AtStop,var1[BarsSinceEntry]+PriceScale);
TL_Delete(TL);
TL = TL_New(EntryDate,EntryTime,var1[BarsSinceEntry]+PriceScale,sdate,stime,var1[BarsSinceEntry]+PriceScale);
}
즐거운 하루되세요
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수정한 식입니다.
> 안녕하세요
예스스탁입니다.
수정한 식입니다.
Var : 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0),TL(0);
var : cnt(0),count(0);
전환선 = (Highest(High, 9) + Lowest(Low, 9)) / 2;
기준선 = (Highest(High, 26) + Lowest(Low, 26)) / 2;
후행스팬 = Close ;
선행스팬1 = (전환선[25] + 기준선[25]) / 2 ;
선행스팬2 = (Highest(High, 52) + Lowest(Low, 52)) / 2;
if crossup(c,선행스팬1) Then{
if MarketPosition == 0 Then#무포지션일때
buy("B1");
if MarketPosition == -1 Then#매도포지션에서 스위칭
buy("B2");
}
if CrossDown(c,선행스팬1) Then{
if MarketPosition == 0 Then#무포지션일때
sell("S1");
if MarketPosition == 1 Then#매수포지션 상태에서 스위칭
sell("S2");
}
value1 = highest(H,index+1);
value2 = lowest(L,index+1);
var1 = highest(h,BarsSinceExit(1));
var2 = Lowest(L,BarsSinceExit(1));
var3 = highest(H,BarsSinceEntry);
var4 = Lowest(L,BarsSinceEntry);
if MarketPosition == 1 and TotalTrades == 0 Then{
ExitLong("BP",AtLimit,EntryPrice+abs(기준선[BarsSinceEntry]-value2[BarsSinceEntry]));
ExitLong("BL",AtStop,value2[BarsSinceEntry]-PriceScale);
TL_Delete(TL);
TL = TL_New(EntryDate,EntryTime,value2[BarsSinceEntry]-PriceScale,sdate,stime,value2[BarsSinceEntry]-PriceScale);
}
if MarketPosition == -1 and TotalTrades == 0 Then{
ExitShort("SP",AtLimit, EntryPrice-abs(value1[BarsSinceEntry]-기준선[BarsSinceEntry]));
ExitShort("SL",AtStop, value1[BarsSinceEntry]+PriceScale);
TL_Delete(TL);
TL = TL_New(EntryDate,EntryTime,value1[BarsSinceEntry]+PriceScale,sdate,stime,value1[BarsSinceEntry]+PriceScale);
}
if MarketPosition == 1 and TotalTrades >= 1 Then{
if IsEntryName("b1") Then{ #무포지션일 진입한 경우에는 직전청산이후의 최저가를 이용
ExitLong("BP1",AtLimit,EntryPrice+abs(기준선[BarsSinceEntry]-var2[BarsSinceEntry]));
ExitLong("BL1",AtStop,var2[BarsSinceEntry]-PriceScale);
TL_Delete(TL);
TL = TL_New(EntryDate,EntryTime,var2[BarsSinceEntry]-PriceScale,sdate,stime,var2[BarsSinceEntry]-PriceScale);
}
if IsEntryName("b2") Then{ #매도포지션에서 스위칭 된경우에는 직전매도~현재진입 까지의 최저가
ExitLong("BP2",AtLimit,EntryPrice+abs(기준선[BarsSinceEntry]-var4[BarsSinceEntry]));
ExitLong("BL2",AtStop,var4[BarsSinceEntry]-PriceScale);
TL_Delete(TL);
TL = TL_New(EntryDate,EntryTime,var4[BarsSinceEntry]-PriceScale,sdate,stime,var4[BarsSinceEntry]-PriceScale);
}
}
if MarketPosition == -1 and TotalTrades >= 1 Then{
if IsEntryName("S1") Then{ #무포지션일 진입한 경우에는 직전청산이후의 최고가를 이용
ExitShort("SP1",AtLimit,EntryPrice-abs(var1[BarsSinceEntry]-기준선[BarsSinceEntry]));
ExitShort("SL1",AtStop,var1[BarsSinceEntry]+PriceScale);
TL_Delete(TL);
TL = TL_New(EntryDate,EntryTime,var1[BarsSinceEntry]+PriceScale,sdate,stime,var1[BarsSinceEntry]+PriceScale);
}
if IsEntryName("S2") Then{ #매수포지션에서 스위칭 된경우에는 직전매수진입~현재진입 까지의 최고가
ExitShort("SP2",AtLimit,EntryPrice-abs(var3[BarsSinceEntry]-기준선[BarsSinceEntry]));
ExitShort("SL2",AtStop,var3[BarsSinceEntry]+PriceScale);
TL_Delete(TL);
TL = TL_New(EntryDate,EntryTime,var3[BarsSinceEntry]+PriceScale,sdate,stime,var3[BarsSinceEntry]+PriceScale);
}
}
추세선은 완성된 봉에서만 그려지므로
차트 가장 마지막봉에는 그려지지 않습니다.
이용에 참고하시기 바랍니다.
즐거운 하루되세요
> 쿠루드 님이 쓴 글입니다.
> 제목 : 재문의
> 29730 문의글에 대한 답변 수식에 문제가 발생하여, 재문의 드렸습니다.
수정 부탁드릴게요.
감사합니다.^^
다음글
이전글