커뮤니티
부탁드립니다.
2014-06-11 21:05:26
151
글번호 75771
안녕하세요? 36586과 관련 질문인데 수식을 바꾸어도 매매신호가 안나옵니다.
웬만하면 혼자 터득해서 해볼려고 해도 안되니 죄송하지만 수정부탁드립니다.
매매목적은 장기,중기, 단기 세개참조차트를 띄우고 거기에 지표식을 색으로구분합니다.
그와 관련 매매식입니다.
검토부탁드리며 제가 무엇을 잘못했는지 알려주시면 감사하겠습니다.
Input : 투입금액(300000);
var : vol1(0),vol2(0), xvol(0);
var : buycond(False);
#kospi
If CodeCategory == 11 Then{
if BasePrice < 50000 Then{
vol1 = int(int(투입금액*1.00/C)/10)*10;
vol2 = int(int(투입금액*0.50/C)/10)*10;
}
Else{
vol1 = int(투입금액*1.00/C);
vol2 = int(투입금액*0.80/C);
}
}
#kosdoq
if CodeCategory == 12 Then{
vol1 = int(투입금액*1.00/C);
vol2 = int(투입금액*0.50/C);
}
//*---data3(장기봉) 조건설정하기 위함-----------------------*/
input : P1(5),P2(60),P3(200);
var : status3(0), status2(0), status1(0);
var31 = data3(ema(c,P1));
var32 = data3(ema(c,P2));
var33 = data3(ema(c,P3));
var34 = data3(ma(c,10));
if var33 > var33[1] Then
status3 = 1;
else if var33 < var33[1] Then
status3 = -1;
else
status3= 0;
//*---data2(중기봉) 조건설정하기 위함-----------------*/
var21 = data2(ema(c,P1));
var22 = data2(ema(c,P2));
var23 = data2(ema(c,P3));
var24 = data2(ma(c,10));
if var22 > var22[1] Then
status2 = 1;
else if var22 < var22[1] Then
status2 = -1;
else
status2= 0;
//*----data(단기) 조건설정하기 위함--------------------*/
var1 = ema(c,P1);
var2 = ema(c,P2);
var3 = ema(c,P3);
var4 = ma(c,10);
if var1 > var1[1] Then
status1 = 1;
else if var1 < var1[1] Then
status1 = -1;
else
status1= 0;
//* 3개 주기가 빨간 상태를 표시----------------*/
buycond = status3 == 1 and status2 == 1 and status1 == 1;
//* 주기가 빨간 상태를 표시----------------*/
if MarketPosition == 0 and buycond == true and buycond[1] == false Then
buy("B",OnClose,def,vol1);
if MarketPosition == 1 Then{
//*-----현재 진입계약수를 절반만 구함 ------*/
if CodeCategoryEx == 11 and BasePrice < 50000 Then
xvol = int((CurrentContracts*0.5)/10)*10;
Else
xvol = int(CurrentContracts*0.5);
if status2 == 1 and status1 == 1 and status1[1] != 1 Then
buy("b1",OnClose,def,vol1);
if status2 == 1 and status1 == -1 and status1[1] != -1 Then
ExitLong("bx1",OnClose,def,"",xvol,2);
if status2 == -1 and status1 == 1 and status1[1] != 1 Then
buy("b2",OnClose,def,vol2);
if status2 == -1 and status1 == -1 and status1[1] != -1 Then
ExitLong("bx2",OnClose,def,"",xvol,2);
}
SetStopLoss(7,PercentStop);
답변 1
예스스탁 예스스탁 답변
2014-06-12 09:45:43
안녕하세요
예스스탁입니다.
금액을 수량으로 환산하는 부분이 잘못되어 있습니다.
CodeCategoryEx로 지정하셔야 합니다.
Input : 투입금액(300000);
var : vol1(0),vol2(0), xvol(0);
var : buycond(False);
If CodeCategoryex == 11 Then{
if BasePrice < 50000 Then{
vol1 = int(int((투입금액*1.00)/C)/10)*10;
vol2 = int(int((투입금액*0.50)/C)/10)*10;
}
else{
vol1 = int(int((투입금액*1.00)/C)/10)*10;
vol2 = int(int((투입금액*0.80)/C)/10)*10;
}
}
Else{
vol1 = int((투입금액*1.00)/C);
vol2 = int((투입금액*0.50)/C);
}
//*---data3(장기봉) 조건설정하기 위함-----------------------*/
input : P1(5),P2(60),P3(200);
var : status3(0), status2(0), status1(0);
var31 = data3(ema(c,P1));
var32 = data3(ema(c,P2));
var33 = data3(ema(c,P3));
var34 = data3(ma(c,10));
if var33 > var33[1] Then
status3 = 1;
else if var33 < var33[1] Then
status3 = -1;
else
status3= 0;
//*---data2(중기봉) 조건설정하기 위함-----------------*/
var21 = data2(ema(c,P1));
var22 = data2(ema(c,P2));
var23 = data2(ema(c,P3));
var24 = data2(ma(c,10));
if var22 > var22[1] Then
status2 = 1;
else if var22 < var22[1] Then
status2 = -1;
else
status2= 0;
//*----data(단기) 조건설정하기 위함--------------------*/
var1 = ema(c,P1);
var2 = ema(c,P2);
var3 = ema(c,P3);
var4 = ma(c,10);
if var1 > var1[1] Then
status1 = 1;
else if var1 < var1[1] Then
status1 = -1;
else
status1= 0;
//* 3개 주기가 빨간 상태를 표시----------------*/
buycond = status3 == 1 and status2 == 1 and status1 == 1;
//* 주기가 빨간 상태를 표시----------------*/
if MarketPosition == 0 and buycond == true and buycond[1] == false Then
buy("B",OnClose,def,vol1);
if MarketPosition == 1 Then{
//*-----현재 진입계약수를 절반만 구함 ------*/
if CodeCategoryEx == 11 and BasePrice < 50000 Then
xvol = int((CurrentContracts*0.5)/10)*10;
Else
xvol = int(CurrentContracts*0.5);
if status2 == 1 and status1 == 1 and status1[1] != 1 Then
buy("b1",OnClose,def,vol1);
if status2 == 1 and status1 == -1 and status1[1] != -1 Then
ExitLong("bx1",OnClose,def,"",xvol,2);
if status2 == -1 and status1 == 1 and status1[1] != 1 Then
buy("b2",OnClose,def,vol2);
if status2 == -1 and status1 == -1 and status1[1] != -1 Then
ExitLong("bx2",OnClose,def,"",xvol,2);
}
SetStopLoss(7,PercentStop);
즐거운 하루되세요
> 에리조나 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 안녕하세요? 36586과 관련 질문인데 수식을 바꾸어도 매매신호가 안나옵니다.
웬만하면 혼자 터득해서 해볼려고 해도 안되니 죄송하지만 수정부탁드립니다.
매매목적은 장기,중기, 단기 세개참조차트를 띄우고 거기에 지표식을 색으로구분합니다.
그와 관련 매매식입니다.
검토부탁드리며 제가 무엇을 잘못했는지 알려주시면 감사하겠습니다.
Input : 투입금액(300000);
var : vol1(0),vol2(0), xvol(0);
var : buycond(False);
#kospi
If CodeCategory == 11 Then{
if BasePrice < 50000 Then{
vol1 = int(int(투입금액*1.00/C)/10)*10;
vol2 = int(int(투입금액*0.50/C)/10)*10;
}
Else{
vol1 = int(투입금액*1.00/C);
vol2 = int(투입금액*0.80/C);
}
}
#kosdoq
if CodeCategory == 12 Then{
vol1 = int(투입금액*1.00/C);
vol2 = int(투입금액*0.50/C);
}
//*---data3(장기봉) 조건설정하기 위함-----------------------*/
input : P1(5),P2(60),P3(200);
var : status3(0), status2(0), status1(0);
var31 = data3(ema(c,P1));
var32 = data3(ema(c,P2));
var33 = data3(ema(c,P3));
var34 = data3(ma(c,10));
if var33 > var33[1] Then
status3 = 1;
else if var33 < var33[1] Then
status3 = -1;
else
status3= 0;
//*---data2(중기봉) 조건설정하기 위함-----------------*/
var21 = data2(ema(c,P1));
var22 = data2(ema(c,P2));
var23 = data2(ema(c,P3));
var24 = data2(ma(c,10));
if var22 > var22[1] Then
status2 = 1;
else if var22 < var22[1] Then
status2 = -1;
else
status2= 0;
//*----data(단기) 조건설정하기 위함--------------------*/
var1 = ema(c,P1);
var2 = ema(c,P2);
var3 = ema(c,P3);
var4 = ma(c,10);
if var1 > var1[1] Then
status1 = 1;
else if var1 < var1[1] Then
status1 = -1;
else
status1= 0;
//* 3개 주기가 빨간 상태를 표시----------------*/
buycond = status3 == 1 and status2 == 1 and status1 == 1;
//* 주기가 빨간 상태를 표시----------------*/
if MarketPosition == 0 and buycond == true and buycond[1] == false Then
buy("B",OnClose,def,vol1);
if MarketPosition == 1 Then{
//*-----현재 진입계약수를 절반만 구함 ------*/
if CodeCategoryEx == 11 and BasePrice < 50000 Then
xvol = int((CurrentContracts*0.5)/10)*10;
Else
xvol = int(CurrentContracts*0.5);
if status2 == 1 and status1 == 1 and status1[1] != 1 Then
buy("b1",OnClose,def,vol1);
if status2 == 1 and status1 == -1 and status1[1] != -1 Then
ExitLong("bx1",OnClose,def,"",xvol,2);
if status2 == -1 and status1 == 1 and status1[1] != 1 Then
buy("b2",OnClose,def,vol2);
if status2 == -1 and status1 == -1 and status1[1] != -1 Then
ExitLong("bx2",OnClose,def,"",xvol,2);
}
SetStopLoss(7,PercentStop);