커뮤니티
수정부탁해요
2013-05-06 23:21:06
294
글번호 62873
일전에 작성해 주신 시스템식 수정부탁합니다.
[이전에 작성해 주신식]
input : 투입금액1(1000000),투입금액2(2000000);
var : vol1(0),vol2(0);
#kospi
if CodeCategory == 1 Then{
if BasePrice < 50000 Then{
vol1 = int(int(투입금액1/C)/10)*10;
vol2 = int(int(투입금액2/C)/10)*10;
}
Else{ #5만원 이상
vol1 = int(투입금액1/C);
vol2 = int(투입금액2/C);
}
}
#kosdoq
if CodeCategory == 2 Then{
vol1 = int(투입금액1/C);
vol2 = int(투입금액2/C);
}
var1 = StochasticsK(25,6);
var2 = StochasticsD(25,6,6);
var3 = ma(c,200);
if crossup(var1,20) and c > var3 Then
buy("b1",OnClose,def,vol1);
if MarketPosition == 0 and IsEntryName("b1",1) == true and IsExitName("StopLoss",1) == true Then{
if crossup(var1,20) Then
buy("b2",OnClose,def,vol2);
}
if MarketPosition == 0 and IsEntryName("b1",1) == true and IsExitName("StopLoss",1) == False Then{
if crossup(var1,20) and C < var3 and countif(crossup(var1,20) and C < var3,BarsSinceEntry(1)) == 2 Then
buy("b3",OnClose,def,vol1);
}
SetStopProfittarget(2.0,PercentStop);
SetStopLoss(4.0,PercentStop);
----------------------------------------------------------------------------
3번재 매수시스템식인
if MarketPosition == 0 and IsEntryName("b1",1) == true and IsExitName("StopLoss",1) == False Then{
if crossup(var1,20) and C < var3 and countif(crossup(var1,20) and C < var3,BarsSinceEntry(1)) == 2 Then
buy("b3",OnClose,def,vol1);
을 수정하고 싶습니다.
그림에서 보는바와같이
지금 수식은 익절후에 캔들이 200일 이평선 밑에 있으면서 두번째 과매도를 벗어날 경우에 매수신호가 잡히도록 되어 있습니다.
제가 원하는 것은 익절후에 캔들이 200일 이평선 밑으로 하향돌파한후 연이어서 두번째 과매도를 벗어날 경우이지만 그림처럼 첫번째 과매도 발생후 캔들이 200일 이평선을 일단 상향돌파하고 그 이후에 다시 하향돌파하게되면 첫번째 과매도는 무시되고 다시 200일 이평선을 하향돌파한 시점부터 시작하여 2번째 스톡케스틱의 과매도 이탈을 매수신호로 잡고 싶습니다. 그러니까 2번째 과매도 이탈이 캔들이 200일 이평선을 하향돌파된 직후에 바로 연이어 나타나야지 다시 캔들이 200일 이평선을 상향돌파하면 첫번째 생긴 과매도는 Count를 하지 않았으면 합니다. 부탁드립니다.
- 1. 익절후 과매도진입.jpg (0.08 MB)
답변 1
예스스탁 예스스탁 답변
2013-05-07 13:33:08
안녕하세요
예스스탁입니다.
식을 수정했습니다.
input : 투입금액1(1000000),투입금액2(2000000);
var : vol1(0),vol2(0),cnt(0);
#kospi
if CodeCategory == 1 Then{
if BasePrice < 50000 Then{
vol1 = int(int(투입금액1/C)/10)*10;
vol2 = int(int(투입금액2/C)/10)*10;
}
Else{ #5만원 이상
vol1 = int(투입금액1/C);
vol2 = int(투입금액2/C);
}
}
#kosdoq
if CodeCategory == 2 Then{
vol1 = int(투입금액1/C);
vol2 = int(투입금액2/C);
}
var1 = StochasticsK(25,6);
var2 = StochasticsD(25,6,6);
var3 = ma(c,200);
if crossup(var1,20) and c > var3 Then
buy("b1",OnClose,def,vol1);
if MarketPosition == 0 and IsEntryName("b1",1) == true and IsExitName("StopLoss",1) == true Then{
if crossup(var1,20) Then
buy("b2",OnClose,def,vol2);
}
if MarketPosition == 0 and IsEntryName("b1",1) == true and IsExitName("StopLoss",1) == False Then{
if C > var3 Then
cnt = 0;
if C < var3 and crossup(var1,20) Then{
cnt = cnt+1;
if cnt == 2 Then
buy("b3",OnClose,def,vol1);
}
}
if MarketPosition == 1 Then
cnt = 0;
SetStopProfittarget(2.0,PercentStop);
SetStopLoss(4.0,PercentStop);
즐거운 하루되세요
> WT_hopevv 님이 쓴 글입니다.
> 제목 : 수정부탁해요
> 일전에 작성해 주신 시스템식 수정부탁합니다.
[이전에 작성해 주신식]
input : 투입금액1(1000000),투입금액2(2000000);
var : vol1(0),vol2(0);
#kospi
if CodeCategory == 1 Then{
if BasePrice < 50000 Then{
vol1 = int(int(투입금액1/C)/10)*10;
vol2 = int(int(투입금액2/C)/10)*10;
}
Else{ #5만원 이상
vol1 = int(투입금액1/C);
vol2 = int(투입금액2/C);
}
}
#kosdoq
if CodeCategory == 2 Then{
vol1 = int(투입금액1/C);
vol2 = int(투입금액2/C);
}
var1 = StochasticsK(25,6);
var2 = StochasticsD(25,6,6);
var3 = ma(c,200);
if crossup(var1,20) and c > var3 Then
buy("b1",OnClose,def,vol1);
if MarketPosition == 0 and IsEntryName("b1",1) == true and IsExitName("StopLoss",1) == true Then{
if crossup(var1,20) Then
buy("b2",OnClose,def,vol2);
}
if MarketPosition == 0 and IsEntryName("b1",1) == true and IsExitName("StopLoss",1) == False Then{
if crossup(var1,20) and C < var3 and countif(crossup(var1,20) and C < var3,BarsSinceEntry(1)) == 2 Then
buy("b3",OnClose,def,vol1);
}
SetStopProfittarget(2.0,PercentStop);
SetStopLoss(4.0,PercentStop);
----------------------------------------------------------------------------
3번재 매수시스템식인
if MarketPosition == 0 and IsEntryName("b1",1) == true and IsExitName("StopLoss",1) == False Then{
if crossup(var1,20) and C < var3 and countif(crossup(var1,20) and C < var3,BarsSinceEntry(1)) == 2 Then
buy("b3",OnClose,def,vol1);
을 수정하고 싶습니다.
그림에서 보는바와같이
지금 수식은 익절후에 캔들이 200일 이평선 밑에 있으면서 두번째 과매도를 벗어날 경우에 매수신호가 잡히도록 되어 있습니다.
제가 원하는 것은 익절후에 캔들이 200일 이평선 밑으로 하향돌파한후 연이어서 두번째 과매도를 벗어날 경우이지만 그림처럼 첫번째 과매도 발생후 캔들이 200일 이평선을 일단 상향돌파하고 그 이후에 다시 하향돌파하게되면 첫번째 과매도는 무시되고 다시 200일 이평선을 하향돌파한 시점부터 시작하여 2번째 스톡케스틱의 과매도 이탈을 매수신호로 잡고 싶습니다. 그러니까 2번째 과매도 이탈이 캔들이 200일 이평선을 하향돌파된 직후에 바로 연이어 나타나야지 다시 캔들이 200일 이평선을 상향돌파하면 첫번째 생긴 과매도는 Count를 하지 않았으면 합니다. 부탁드립니다.