커뮤니티
문의합니다.
2014-09-30 23:39:53
157
글번호 78968
1. 아래식에서 1차매수를 이격도에서 볼린저밴드 하한선에 닿거나 이하에 있으면서 양봉일때 매수로 바꿔주세요^ㅡ^
2. 아래식에서 1차매수를 이격도에서 장시초가에 매수로 바꿔 주세요^ㅡ^
매번 번거롭게 해드려 죄송합니다.ㅎㅎ
input : Per(10),매수1(1000000),매수2(1000000),매수3(2000000),매수4(4000000);
var : Vol1(0),vol2(0),vol3(0),vol4(0);
var : X(0),xVol1(0),xvol2(0),xvol3(0);
var1 = ma(c,1);
var2 = ma(C,20);
if CodeCategoryEx == 11 and BasePrice < 50000 Then{
vol1 = int(int((매수1)/C)/10)*10;
vol2 = int(int((매수2)/C)/10)*10;
vol3 = int(int((매수3)/C)/10)*10;
vol4 = int(int((매수4)/C)/10)*10;
}
Else{
vol1 = int((매수1)/C);
vol2 = int((매수2)/C);
vol3 = int((매수3)/C);
vol4 = int((매수4)/C);
}
if MarketPosition == 0 and C > O and var1 <= var2*0.8 Then
buy("b1",OnClose,def,vol1);
if MarketPosition == 1 Then{
if MaxEntries == 1 Then
buy("b2",atlimit,AvgEntryPrice*(1-Per/100),vol2);
if MaxEntries == 2 Then
buy("b3",atlimit,AvgEntryPrice*(1-Per/100),vol3);
if MaxEntries == 3 Then
buy("b4",atlimit,AvgEntryPrice*(1-Per/100),vol4);
}
if MarketPosition == 1 Then{
if CodeCategoryEx == 11 and BasePrice < 50000 Then{
xvol1 = int(int(MaxContracts*0.5)/10)*10;
xvol2 = int(int(MaxContracts*0.25)/10)*10;
xvol3 = xvol1-xvol2;
}
Else{
xvol1 = int(MaxContracts*0.5);
xvol2 = int(MaxContracts*0.5);
xvol3 = xvol1-xvol2;
}
if CurrentContracts < CurrentContracts[1] Then
x = x+1;
if X == 0 Then
ExitLong("bx1",AtLimit,AvgEntryPrice*1.03,"",Xvol1,1);
if X == 1 Then
ExitLong("bx2",AtLimit,AvgEntryPrice*1.05,"",Xvol2,1);
if X == 2 Then
ExitLong("bx3",AtLimit,AvgEntryPrice*1.10,"",Xvol3,1);
if MaxEntries == 4 Then
ExitLong("bx",AtStop,AvgEntryPrice*0.9);
}
Else
X = 0;
답변 1
예스스탁 예스스탁 답변
2014-10-01 11:18:22
안녕하세요
예스스탁입니다.
1.
input : Per(10),매수1(1000000),매수2(1000000),매수3(2000000),매수4(4000000);
var : Vol1(0),vol2(0),vol3(0),vol4(0),BBdn(0);
var : X(0),xVol1(0),xvol2(0),xvol3(0);
var1 = ma(c,1);
var2 = ma(C,20);
if CodeCategoryEx == 11 and BasePrice < 50000 Then{
vol1 = int(int((매수1)/C)/10)*10;
vol2 = int(int((매수2)/C)/10)*10;
vol3 = int(int((매수3)/C)/10)*10;
vol4 = int(int((매수4)/C)/10)*10;
}
Else{
vol1 = int((매수1)/C);
vol2 = int((매수2)/C);
vol3 = int((매수3)/C);
vol4 = int((매수4)/C);
}
BBdn = BollBandDown(20,2);
if MarketPosition == 0 and C > O and C <= BBdn Then
buy("b1",OnClose,def,vol1);
if MarketPosition == 1 Then{
if MaxEntries == 1 Then
buy("b2",atlimit,AvgEntryPrice*(1-Per/100),vol2);
if MaxEntries == 2 Then
buy("b3",atlimit,AvgEntryPrice*(1-Per/100),vol3);
if MaxEntries == 3 Then
buy("b4",atlimit,AvgEntryPrice*(1-Per/100),vol4);
}
if MarketPosition == 1 Then{
if CodeCategoryEx == 11 and BasePrice < 50000 Then{
xvol1 = int(int(MaxContracts*0.5)/10)*10;
xvol2 = int(int(MaxContracts*0.25)/10)*10;
xvol3 = xvol1-xvol2;
}
Else{
xvol1 = int(MaxContracts*0.5);
xvol2 = int(MaxContracts*0.5);
xvol3 = xvol1-xvol2;
}
if CurrentContracts < CurrentContracts[1] Then
x = x+1;
if X == 0 Then
ExitLong("bx1",AtLimit,AvgEntryPrice*1.03,"",Xvol1,1);
if X == 1 Then
ExitLong("bx2",AtLimit,AvgEntryPrice*1.05,"",Xvol2,1);
if X == 2 Then
ExitLong("bx3",AtLimit,AvgEntryPrice*1.10,"",Xvol3,1);
if MaxEntries == 4 Then
ExitLong("bx",AtStop,AvgEntryPrice*0.9);
}
Else
X = 0;
2.
시초가 매수의 경우에는 전일마지막봉에서 시간을 조건으로 걸어
마지막봉 완성인 다음날 시초가가 수신될때 신호가 발생되게 해야 합니다.
적용하시는 차트의 주기에 따라 마지막봉의 시간이 다릅니다.
plot1(stime);
위 지표식 적용하셔서 사용하신는 차트의 주기에서 마지막 시간 확인하시고
하단에 지정해 주시면 됩니다.
아래식에서는 1분봉이나 5분봉의 마지막봉 시간인 15시로 지정이 되어 있습니다.
input : Per(10),매수1(1000000),매수2(1000000),매수3(2000000),매수4(4000000);
var : Vol1(0),vol2(0),vol3(0),vol4(0),BBdn(0);
var : X(0),xVol1(0),xvol2(0),xvol3(0);
var1 = ma(c,1);
var2 = ma(C,20);
if CodeCategoryEx == 11 and BasePrice < 50000 Then{
vol1 = int(int((매수1)/C)/10)*10;
vol2 = int(int((매수2)/C)/10)*10;
vol3 = int(int((매수3)/C)/10)*10;
vol4 = int(int((매수4)/C)/10)*10;
}
Else{
vol1 = int((매수1)/C);
vol2 = int((매수2)/C);
vol3 = int((매수3)/C);
vol4 = int((매수4)/C);
}
BBdn = BollBandDown(20,2);
if MarketPosition == 0 and stime == 150000 Then
buy("b1",AtMarket,def,vol1);
if MarketPosition == 1 Then{
if MaxEntries == 1 Then
buy("b2",atlimit,AvgEntryPrice*(1-Per/100),vol2);
if MaxEntries == 2 Then
buy("b3",atlimit,AvgEntryPrice*(1-Per/100),vol3);
if MaxEntries == 3 Then
buy("b4",atlimit,AvgEntryPrice*(1-Per/100),vol4);
}
if MarketPosition == 1 Then{
if CodeCategoryEx == 11 and BasePrice < 50000 Then{
xvol1 = int(int(MaxContracts*0.5)/10)*10;
xvol2 = int(int(MaxContracts*0.25)/10)*10;
xvol3 = xvol1-xvol2;
}
Else{
xvol1 = int(MaxContracts*0.5);
xvol2 = int(MaxContracts*0.5);
xvol3 = xvol1-xvol2;
}
if CurrentContracts < CurrentContracts[1] Then
x = x+1;
if X == 0 Then
ExitLong("bx1",AtLimit,AvgEntryPrice*1.03,"",Xvol1,1);
if X == 1 Then
ExitLong("bx2",AtLimit,AvgEntryPrice*1.05,"",Xvol2,1);
if X == 2 Then
ExitLong("bx3",AtLimit,AvgEntryPrice*1.10,"",Xvol3,1);
if MaxEntries == 4 Then
ExitLong("bx",AtStop,AvgEntryPrice*0.9);
}
Else
X = 0;
즐거운 하루되세요
> 심리도박사 님이 쓴 글입니다.
> 제목 : 문의합니다.
> 1. 아래식에서 1차매수를 이격도에서 볼린저밴드 하한선에 닿거나 이하에 있으면서 양봉일때 매수로 바꿔주세요^ㅡ^
2. 아래식에서 1차매수를 이격도에서 장시초가에 매수로 바꿔 주세요^ㅡ^
매번 번거롭게 해드려 죄송합니다.ㅎㅎ
input : Per(10),매수1(1000000),매수2(1000000),매수3(2000000),매수4(4000000);
var : Vol1(0),vol2(0),vol3(0),vol4(0);
var : X(0),xVol1(0),xvol2(0),xvol3(0);
var1 = ma(c,1);
var2 = ma(C,20);
if CodeCategoryEx == 11 and BasePrice < 50000 Then{
vol1 = int(int((매수1)/C)/10)*10;
vol2 = int(int((매수2)/C)/10)*10;
vol3 = int(int((매수3)/C)/10)*10;
vol4 = int(int((매수4)/C)/10)*10;
}
Else{
vol1 = int((매수1)/C);
vol2 = int((매수2)/C);
vol3 = int((매수3)/C);
vol4 = int((매수4)/C);
}
if MarketPosition == 0 and C > O and var1 <= var2*0.8 Then
buy("b1",OnClose,def,vol1);
if MarketPosition == 1 Then{
if MaxEntries == 1 Then
buy("b2",atlimit,AvgEntryPrice*(1-Per/100),vol2);
if MaxEntries == 2 Then
buy("b3",atlimit,AvgEntryPrice*(1-Per/100),vol3);
if MaxEntries == 3 Then
buy("b4",atlimit,AvgEntryPrice*(1-Per/100),vol4);
}
if MarketPosition == 1 Then{
if CodeCategoryEx == 11 and BasePrice < 50000 Then{
xvol1 = int(int(MaxContracts*0.5)/10)*10;
xvol2 = int(int(MaxContracts*0.25)/10)*10;
xvol3 = xvol1-xvol2;
}
Else{
xvol1 = int(MaxContracts*0.5);
xvol2 = int(MaxContracts*0.5);
xvol3 = xvol1-xvol2;
}
if CurrentContracts < CurrentContracts[1] Then
x = x+1;
if X == 0 Then
ExitLong("bx1",AtLimit,AvgEntryPrice*1.03,"",Xvol1,1);
if X == 1 Then
ExitLong("bx2",AtLimit,AvgEntryPrice*1.05,"",Xvol2,1);
if X == 2 Then
ExitLong("bx3",AtLimit,AvgEntryPrice*1.10,"",Xvol3,1);
if MaxEntries == 4 Then
ExitLong("bx",AtStop,AvgEntryPrice*0.9);
}
Else
X = 0;