커뮤니티
문의드립니다.
2013-04-16 21:22:32
261
글번호 62100
안녕하세요.
항상 바쁜 업무에 노고가 많으세요^^
지난번에 만든 시스템 수식의 수정을 추가로 부탁드립니다.
-------------------------------------------------------------------------------------------------------------
Var : 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0),TL1(0), TL2(0),Tx1(0),Tx2(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) or (C == 선행스팬1 and C[1] < 선행스팬1[1])) and MarketPosition == 0 and MarketPosition[1] == 0 Then
buy("B1");
if (CrossDown(C,선행스팬1) or (C == 선행스팬1 and C[1] > 선행스팬1[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(선행스팬1[BarsSinceEntry]-value2[BarsSinceEntry]));
ExitLong("BL",AtStop,value2[BarsSinceEntry]-PriceScale);
TL_Delete(TL1);
TL1 = TL_New(EntryDate,EntryTime,EntryPrice+abs(선행스팬1[BarsSinceEntry]-value2[BarsSinceEntry]),
sdate,stime,EntryPrice+abs(선행스팬1[BarsSinceEntry]-value2[BarsSinceEntry]));
TL_Delete(TL2);
TL2 = TL_New(EntryDate,EntryTime,value2[BarsSinceEntry]-PriceScale,sdate,stime,value2[BarsSinceEntry]-PriceScale);
Text_Delete(Tx1);
Tx1 = Text_New(sdate,stime,EntryPrice+abs(선행스팬1[BarsSinceEntry]-value2[BarsSinceEntry]),
NumToStr(EntryPrice+abs(선행스팬1[BarsSinceEntry]-value2[BarsSinceEntry]),2));
Text_Delete(Tx2);
Tx2 = Text_New(sdate,stime,value2[BarsSinceEntry]-PriceScale, NumToStr(value2[BarsSinceEntry]-PriceScale,2));
}
if MarketPosition == -1 and TotalTrades == 0 Then{
ExitShort("SP",AtLimit, EntryPrice-abs(value1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]));
ExitShort("SL",AtStop, value1[BarsSinceEntry]+PriceScale);
TL_Delete(TL1);
TL1 = TL_New(EntryDate,EntryTime,EntryPrice-abs(value1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]),
sdate,stime,EntryPrice-abs(value1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]));
TL_Delete(TL2);
TL2 = TL_New(EntryDate,EntryTime,value1[BarsSinceEntry]+PriceScale,sdate,stime,value1[BarsSinceEntry]+PriceScale);
Text_Delete(Tx1);
Tx1 = Text_New(sdate,stime,EntryPrice-abs(value1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]),
NumToStr(EntryPrice-abs(value1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]),2));
Text_Delete(Tx2);
Tx2 = Text_New(sdate,stime,value1[BarsSinceEntry]+PriceScale, NumToStr(value1[BarsSinceEntry]+PriceScale,2));
}
if MarketPosition == 1 and TotalTrades >= 1 Then{
ExitLong("BP1",AtLimit,EntryPrice+abs(선행스팬1[BarsSinceEntry]-var2[BarsSinceEntry]));
ExitLong("BL1",AtStop,var2[BarsSinceEntry]-PriceScale);
TL_Delete(TL1);
TL1 = TL_New(EntryDate,EntryTime,EntryPrice+abs(선행스팬1[BarsSinceEntry]-var2[BarsSinceEntry]),
sdate,stime,EntryPrice+abs(선행스팬1[BarsSinceEntry]-var2[BarsSinceEntry]));
TL_Delete(TL2);
TL2 = TL_New(EntryDate,EntryTime,var2[BarsSinceEntry]-PriceScale,sdate,stime,var2[BarsSinceEntry]-PriceScale);
Text_Delete(Tx1);
Tx1 = Text_New(sdate,stime,EntryPrice+abs(선행스팬1[BarsSinceEntry]-var2[BarsSinceEntry]),
NumToStr(EntryPrice+abs(선행스팬1[BarsSinceEntry]-var2[BarsSinceEntry]),2));
Text_Delete(Tx2);
Tx2 = Text_New(sdate,stime,var2[BarsSinceEntry]-PriceScale,NumToStr(var2[BarsSinceEntry]-PriceScale,2));
}
if MarketPosition == -1 and TotalTrades >= 1 Then{
ExitShort("SP1",AtLimit,EntryPrice-abs(var1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]));
ExitShort("SL1",AtStop,var1[BarsSinceEntry]+PriceScale);
TL_Delete(TL1);
TL1 = TL_New(EntryDate,EntryTime,EntryPrice-abs(var1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]),
sdate,stime,EntryPrice-abs(var1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]));
TL_Delete(TL2);
TL2 = TL_New(EntryDate,EntryTime,var1[BarsSinceEntry]+PriceScale,sdate,stime,var1[BarsSinceEntry]+PriceScale);
Text_Delete(Tx1);
Tx1 = Text_New(sdate,stime,EntryPrice-abs(var1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]),
NumToStr(EntryPrice-abs(var1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]),2));
Text_Delete(Tx2);
Tx2 = Text_New(sdate,stime,var1[BarsSinceEntry]+PriceScale,NumToStr(var1[BarsSinceEntry]+PriceScale,2));
}
-------------------------------------------------------------------------------------------------------------
현재시스템식은 2번지점의 매수신호 후 3번선상까지가 목표가로 수익청산 설정이고(노란색 박스크기의 값만큼), 1번지점을 하락 돌파할 때 한틱 아래에서(4번지점) 손실청산입니다.
개선을 위해 현재의 식을 그대로 유지하면서, 손실청산일때 반대로 스위칭 진입을 하려고 합니다.
1. 그림과 같이 첫 진입신호에서(2번지점) 3번지점의 목표가를 닿지 못한채 1번지점의 한 틱을 깰때(4번지점), 청산과 함께 반대로 매도 진입을 합니다.
2. 스위칭의 손절가는 직전에 생긴 매수신호(2번지점)에서 형성된 고점(7번지점)을 한 틱 돌파했을때 입니다.
3. 목표가는 직전신호의 기준이되는 저점(1번지점)과 신호후 형성된 고점(7번지점)의 크기(파란색박스)만큼을 손절의 기준이 됐던 1번지점에서 아래방향으로 계산한 5번지점까지 입니다.
4. 만약 스위칭의 목표가인 5번지점까지 오지 않고 다시 7번지점을 상향 돌파하면 그 한 틱위에서 손실청산과 함께 2차 매수 스위칭이 발생하는 것입니다.
5. 5번지점까지 오지 않아 생긴 2차 스위칭의 목표가는 그때까지 생긴 저점에서(가상으로 8번지점이라고 한다면) 8번지점에서 7번지점까지의 크기(오렌지색박스)를 7번지점부터 위로 더하여 생긴 크기만큼이 되는것 입니다.
6. 2차 스위칭은 손절가는 물론 가상의 저점인 8번지점을 한틱 아래입니다.
7. 목표가 미도달로 무한 스위칭이 아닌 변수만큼을 적용하고, 그 변수만큼 스위칭횟수가 도달하면 마지막은 손절청산으로 마감하고, 처음처럼 새로운 진입신호를 기다립니다.
8. 스위칭으로 진입한 신호가 유지되는 동안 선행스팬1을 상승 또는 하락돌파하는 신호는 전과 마찬가지로 무시됩니다.
질문 하나 드리자면, 한계약 진입을 원칙으로 첫 신호발생 후 스위칭 신호가 나오면 손절과 진입은 동시에 이루어 지는지요?
동시라면 2계약의 증거금이 필요할 것이고 그렇지 않다면, 시장가 청산 후, 시장가 진입이 이렇게 설정하면 가능한 건지요?
내용은 별거 아닌거 같은데, 글로 설명하자니, 더 어려워진것이 아닌가 싶네요.
자꾸 부탁드리는 맘이 죄송해서..... 현재까지의 수식에 오류없이 위의 내용을 추가하는것이 어려운 일이 아니길 바랍니다.
감사합니다.^^
답변 3
예스스탁 예스스탁 답변
2013-04-16 16:16:35
안녕하세요
예스스탁입니다.
1.
input : 리버스횟수(3);
Var : 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0),TL1(0), TL2(0),Tx1(0),Tx2(0);
var : 매수목표(0),매수손절(0),매도목표(0),매도손절(0), cnt(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) or (C == 선행스팬1 and C[1] < 선행스팬1[1])) and MarketPosition == 0 and MarketPosition[1] == 0 Then
buy("B1");
if (CrossDown(C,선행스팬1) or (C == 선행스팬1 and C[1] > 선행스팬1[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 != 0 and MarketPosition[1] == 0 Then
cnt = 0;
if MarketPosition != 0 and MarketPosition[1] != MarketPosition and MarketPosition[1] != 0 Then
cnt = cnt+1;
if MarketPosition == 1 and TotalTrades == 0 Then{
매수목표 = EntryPrice+abs(선행스팬1[BarsSinceEntry]-value2[BarsSinceEntry]);
매수손절 = value2[BarsSinceEntry]-PriceScale;
ExitLong("BP",AtLimit,매수목표);
Sell("BL",AtStop,매수손절);
TL_Delete(TL1);
TL1 = TL_New(EntryDate,EntryTime,매수목표 ,sdate,stime,매수목표);
TL_Delete(TL2);
TL2 = TL_New(EntryDate,EntryTime,매수손절, sdate,stime,매수손절);
Text_Delete(Tx1);
Tx1 = Text_New(sdate,stime,매수목표, NumToStr(매수목표,2));
Text_Delete(Tx2);
Tx2 = Text_New(sdate,stime,매수손절, NumToStr(매수손절,2));
}
if MarketPosition == -1 and TotalTrades == 0 Then{
매도목표 = EntryPrice-abs(value1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]);
매도손절 = value1[BarsSinceEntry]+PriceScale;
ExitShort("SP",AtLimit, 매도목표);
TL_Delete(TL1);
TL1 = TL_New(EntryDate,EntryTime,매도목표,
sdate,stime,매도목표);
TL_Delete(TL2);
TL2 = TL_New(EntryDate,EntryTime,매도손절, sdate,stime,매도손절);
Text_Delete(Tx1);
Tx1 = Text_New(sdate,stime,매도목표, NumToStr(매도목표,2));
Text_Delete(Tx2);
Tx2 = Text_New(sdate,stime,매도손절, NumToStr(매도손절,2));
}
if MarketPosition == -1 Then
var4 = Lowest(L,BarsSinceEntry);
if MarketPosition == 1 and TotalTrades >= 1 Then{
if IsEntryName("B1") == true Then{
매수목표 = EntryPrice+abs(선행스팬1[BarsSinceEntry]-var2[BarsSinceEntry]);
매수손절 = var2[BarsSinceEntry]-PriceScale;
ExitLong("BP1",AtLimit,매수목표);
Sell("BL1",AtStop,매수손절);
}
if IsEntryName("B1") == False Then{
매수목표 = EntryPrice+abs((매도손절[BarsSinceEntry+1])-(var4[BarsSinceEntry+1]-PriceScale));
매수손절 = var4[BarsSinceEntry+1]-PriceScale;
ExitLong("BP11",AtLimit,매수목표);
if cnt < 리버스횟수 Then
Sell("BL11",AtStop,매수손절);
}
TL_Delete(TL1);
TL1 = TL_New(EntryDate,EntryTime,매수목표, sdate,stime,매수목표);
TL_Delete(TL2);
TL2 = TL_New(EntryDate,EntryTime,매수손절, sdate,stime,매수손절);
Text_Delete(Tx1);
Tx1 = Text_New(sdate,stime,매수목표, NumToStr(매수목표,2));
Text_Delete(Tx2);
Tx2 = Text_New(sdate,stime,매수손절, NumToStr(매수손절,2));
}
if MarketPosition == 1 Then
var3 = highest(H,BarsSinceEntry);
if MarketPosition == -1 and TotalTrades >= 1 Then{
if IsEntryName("S1") == True Then {
매도목표 = EntryPrice-abs(var1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]);
매도손절 = var1[BarsSinceEntry]+PriceScale;
ExitShort("SP1",AtLimit,매도목표);
Buy("SL1",AtStop,매도손절);
}
if IsEntryName("S1") == false Then {
매도목표 = EntryPrice-abs((var3[BarsSinceEntry+1]+PriceScale)-매수손절[BarsSinceEntry+1]);
매도손절 = var3[BarsSinceEntry+1]+PriceScale;
ExitShort("SP11",AtLimit,매도목표);
if cnt < 리버스횟수 Then
Buy("SL11",AtStop,매도손절);
}
TL_Delete(TL1);
TL1 = TL_New(EntryDate,EntryTime,매도목표, sdate,stime,매도목표);
TL_Delete(TL2);
TL2 = TL_New(EntryDate,EntryTime,매도손절, sdate,stime,매도손절);
Text_Delete(Tx1);
Tx1 = Text_New(sdate,stime,매도목표, NumToStr(매도목표,2));
Text_Delete(Tx2);
Tx2 = Text_New(sdate,stime,매도손절, NumToStr(매도손절,2));
}
2.
진입과 청산이 동시에 신호가 발생하고 주문이 나가므로
스위칭되는 식은 기본적으로 증거금 2배가 필요합니다.
다만 시스템 트레이딩 설정창의 부가기능탭에
진입주문지연 기능이 있습니다.
진입신호에 대한 주문을 신호발생 후 N초 뒤에 내게되는 기능입니다.
해당 기능이용하시면 증거금 문제를 해결하실 수 있습니다.
즐거운 하루되세요
> 쿠루드 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 안녕하세요.
항상 바쁜 업무에 노고가 많으세요^^
지난번에 만든 시스템 수식의 수정을 추가로 부탁드립니다.
-------------------------------------------------------------------------------------------------------------
Var : 기준선(0), 전환선(0), 후행스팬(0), 선행스팬1(0), 선행스팬2(0),TL1(0), TL2(0),Tx1(0),Tx2(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) or (C == 선행스팬1 and C[1] < 선행스팬1[1])) and MarketPosition == 0 and MarketPosition[1] == 0 Then
buy("B1");
if (CrossDown(C,선행스팬1) or (C == 선행스팬1 and C[1] > 선행스팬1[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(선행스팬1[BarsSinceEntry]-value2[BarsSinceEntry]));
ExitLong("BL",AtStop,value2[BarsSinceEntry]-PriceScale);
TL_Delete(TL1);
TL1 = TL_New(EntryDate,EntryTime,EntryPrice+abs(선행스팬1[BarsSinceEntry]-value2[BarsSinceEntry]),
sdate,stime,EntryPrice+abs(선행스팬1[BarsSinceEntry]-value2[BarsSinceEntry]));
TL_Delete(TL2);
TL2 = TL_New(EntryDate,EntryTime,value2[BarsSinceEntry]-PriceScale,sdate,stime,value2[BarsSinceEntry]-PriceScale);
Text_Delete(Tx1);
Tx1 = Text_New(sdate,stime,EntryPrice+abs(선행스팬1[BarsSinceEntry]-value2[BarsSinceEntry]),
NumToStr(EntryPrice+abs(선행스팬1[BarsSinceEntry]-value2[BarsSinceEntry]),2));
Text_Delete(Tx2);
Tx2 = Text_New(sdate,stime,value2[BarsSinceEntry]-PriceScale, NumToStr(value2[BarsSinceEntry]-PriceScale,2));
}
if MarketPosition == -1 and TotalTrades == 0 Then{
ExitShort("SP",AtLimit, EntryPrice-abs(value1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]));
ExitShort("SL",AtStop, value1[BarsSinceEntry]+PriceScale);
TL_Delete(TL1);
TL1 = TL_New(EntryDate,EntryTime,EntryPrice-abs(value1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]),
sdate,stime,EntryPrice-abs(value1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]));
TL_Delete(TL2);
TL2 = TL_New(EntryDate,EntryTime,value1[BarsSinceEntry]+PriceScale,sdate,stime,value1[BarsSinceEntry]+PriceScale);
Text_Delete(Tx1);
Tx1 = Text_New(sdate,stime,EntryPrice-abs(value1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]),
NumToStr(EntryPrice-abs(value1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]),2));
Text_Delete(Tx2);
Tx2 = Text_New(sdate,stime,value1[BarsSinceEntry]+PriceScale, NumToStr(value1[BarsSinceEntry]+PriceScale,2));
}
if MarketPosition == 1 and TotalTrades >= 1 Then{
ExitLong("BP1",AtLimit,EntryPrice+abs(선행스팬1[BarsSinceEntry]-var2[BarsSinceEntry]));
ExitLong("BL1",AtStop,var2[BarsSinceEntry]-PriceScale);
TL_Delete(TL1);
TL1 = TL_New(EntryDate,EntryTime,EntryPrice+abs(선행스팬1[BarsSinceEntry]-var2[BarsSinceEntry]),
sdate,stime,EntryPrice+abs(선행스팬1[BarsSinceEntry]-var2[BarsSinceEntry]));
TL_Delete(TL2);
TL2 = TL_New(EntryDate,EntryTime,var2[BarsSinceEntry]-PriceScale,sdate,stime,var2[BarsSinceEntry]-PriceScale);
Text_Delete(Tx1);
Tx1 = Text_New(sdate,stime,EntryPrice+abs(선행스팬1[BarsSinceEntry]-var2[BarsSinceEntry]),
NumToStr(EntryPrice+abs(선행스팬1[BarsSinceEntry]-var2[BarsSinceEntry]),2));
Text_Delete(Tx2);
Tx2 = Text_New(sdate,stime,var2[BarsSinceEntry]-PriceScale,NumToStr(var2[BarsSinceEntry]-PriceScale,2));
}
if MarketPosition == -1 and TotalTrades >= 1 Then{
ExitShort("SP1",AtLimit,EntryPrice-abs(var1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]));
ExitShort("SL1",AtStop,var1[BarsSinceEntry]+PriceScale);
TL_Delete(TL1);
TL1 = TL_New(EntryDate,EntryTime,EntryPrice-abs(var1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]),
sdate,stime,EntryPrice-abs(var1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]));
TL_Delete(TL2);
TL2 = TL_New(EntryDate,EntryTime,var1[BarsSinceEntry]+PriceScale,sdate,stime,var1[BarsSinceEntry]+PriceScale);
Text_Delete(Tx1);
Tx1 = Text_New(sdate,stime,EntryPrice-abs(var1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]),
NumToStr(EntryPrice-abs(var1[BarsSinceEntry]-선행스팬1[BarsSinceEntry]),2));
Text_Delete(Tx2);
Tx2 = Text_New(sdate,stime,var1[BarsSinceEntry]+PriceScale,NumToStr(var1[BarsSinceEntry]+PriceScale,2));
}
-------------------------------------------------------------------------------------------------------------
현재시스템식은 2번지점의 매수신호 후 3번선상까지가 목표가로 수익청산 설정이고(노란색 박스크기의 값만큼), 1번지점을 하락 돌파할 때 한틱 아래에서(4번지점) 손실청산입니다.
개선을 위해 현재의 식을 그대로 유지하면서, 손실청산일때 반대로 스위칭 진입을 하려고 합니다.
1. 그림과 같이 첫 진입신호에서(2번지점) 3번지점의 목표가를 닿지 못한채 1번지점의 한 틱을 깰때(4번지점), 청산과 함께 반대로 매도 진입을 합니다.
2. 스위칭의 손절가는 직전에 생긴 매수신호(2번지점)에서 형성된 고점(7번지점)을 한 틱 돌파했을때 입니다.
3. 목표가는 직전신호의 기준이되는 저점(1번지점)과 신호후 형성된 고점(7번지점)의 크기(파란색박스)만큼을 손절의 기준이 됐던 1번지점에서 아래방향으로 계산한 5번지점까지 입니다.
4. 만약 스위칭의 목표가인 5번지점까지 오지 않고 다시 7번지점을 상향 돌파하면 그 한 틱위에서 손실청산과 함께 2차 매수 스위칭이 발생하는 것입니다.
5. 5번지점까지 오지 않아 생긴 2차 스위칭의 목표가는 그때까지 생긴 저점에서(가상으로 8번지점이라고 한다면) 8번지점에서 7번지점까지의 크기(오렌지색박스)를 7번지점부터 위로 더하여 생긴 크기만큼이 되는것 입니다.
6. 2차 스위칭은 손절가는 물론 가상의 저점인 8번지점을 한틱 아래입니다.
7. 목표가 미도달로 무한 스위칭이 아닌 변수만큼을 적용하고, 그 변수만큼 스위칭횟수가 도달하면 마지막은 손절청산으로 마감하고, 처음처럼 새로운 진입신호를 기다립니다.
8. 스위칭으로 진입한 신호가 유지되는 동안 선행스팬1을 상승 또는 하락돌파하는 신호는 전과 마찬가지로 무시됩니다.
질문 하나 드리자면, 한계약 진입을 원칙으로 첫 신호발생 후 스위칭 신호가 나오면 손절과 진입은 동시에 이루어 지는지요?
동시라면 2계약의 증거금이 필요할 것이고 그렇지 않다면, 시장가 청산 후, 시장가 진입이 이렇게 설정하면 가능한 건지요?
내용은 별거 아닌거 같은데, 글로 설명하자니, 더 어려워진것이 아닌가 싶네요.
자꾸 부탁드리는 맘이 죄송해서..... 현재까지의 수식에 오류없이 위의 내용을 추가하는것이 어려운 일이 아니길 바랍니다.
감사합니다.^^
쿠루드
2013-04-16 17:11:37
쿠루드 님에 의해 삭제된 답변입니다.
예스스탁 예스스탁 답변
2013-04-16 18:23:26
> 쿠루드 님이 쓴 글입니다.
> 제목 : Re : Re : 문의드립니다.
> 수식 정말 감사합니다.
두가지 문제가 발생해서 수정을 부탁드립니다.
1. 진입 신호 발생후 목표가의 크기가 돌파봉의 종가에서부터 계산됩니다. 선행스팬1을 돌파한 순간의 값이어야합니다.(이전엔 그랬었는데, 리버스식을 조합하면서 변경된것 같습니다. 물론 스위칭은 저가와 고가값이니 수정해주신 현재식이 맞는거구요.)
즉, 리버스가 아닌 종가상으로 선행스팬1을 돌파하면서 생긴 신호는 그 종가에서 부터 목표가 계산을 하는것이 아니라, 저가에서 선행스팬1과 봉의 크로스되는 지점까지의 값을 크로스되는지점에서부터 더한 값이 되어야 합니다.
2. 변수값만큼 스위칭이 되고 나면 더이상 스위칭 신호는 없는것은 맞지만 새로운 진입 신호를 기다려야 하는데, 그 다음부터 돌파가 나와도 진입 신호가 발생되지 않습니다.
두가지 문제만 해결되면 될 것 같습니다.
감사합니다. ^^