커뮤니티
감사합니다.
2014-01-05 21:15:03
183
글번호 71062
항상 질문만 드려서 죄송 합니다.
현재 사용하는 시스템에 추가 하려고 합니다.
1] 매수 조건: 60과 120 이 골든크로스난 캔들을 기준으로 2~10봉 사이만 진입 하려 합니다.
즉 골든 나기전은 역배열이므로 진입이 안되고 정배열 이후 2~10 캔들 사이 에서만
진입을 허용하고 10캔들이 넘어가면 진입을 하지 않는거죠
예를들어 2~10 캔들 사이에 양봉 또는 거래량 등등 조건을 임의로 넣고 그조건에 맞을때만 매수인데 10캔들이 지나면 임의의 조건에 맞아도 진입을 하지 않는겁니다.
결국은 위 조건에 해당 하지 않으면 역배열 이후 다시 정배열된후 10캔들 안에 조건에 맞아야 진입하고 를 반복 하는 겁니다.
과거 글을 보구 혼자 해봤는데 10캔들 이후도 매수를 하더라구요
위의 내용으로 60과 120 이 골든난 시점 이후 눌림목에 매수하는 식을 부탁드립니다.
즉 현재봉을 기준으로 2봉전이 골든이었거나,3봉전이 골든이었거나 ~6봉전 까지 (2봉부터 6봉까지)골든 이후 첫양봉이면 매수를 수식으로 부탁 드립니다.
2] 진입별 수식을 사용 하는데 랭귀지 도움말을 보구 수정 했습니다. 그런데 맞는지 잘 모르겠어요 잘못된 부분이 있으면 바로 잡아주세요. 이상이 없으면 사용해도 되는지 그리고 0.5포인트 하락하면 청산한다는 뜻으로 알고 있는데 고점대비 몇% 하락하면으로 바꿀수 있나요?
사용하던 수식:
if MarketPosition == 1 and IsEntryName("매수1") ==true Then{
if CodeCategoryEx == 11 and BasePrice < 50000 Then
xvol = int(int((MaxContracts*0.5)/10)*10);
Else
Xvol = int(MaxContracts*0.5);
ExitLong("BL13",AtStop,EntryPrice-PriceScale*4);
if CurrentContracts == MaxContracts and highest(H,BarsSinceEntry) >= EntryPrice*1.15 Then
exitlong("BX32",AtStop,highest(H,BarsSinceEntry)*0.95);
수정한 수식:
if MarketPosition == 1 and IsEntryName("매수1") ==true Then{
if CodeCategoryEx == 11 and BasePrice < 50000 Then
xvol = int(int((MaxContracts*0.5)/10)*10);
Else
Xvol = int(MaxContracts*0.5);
ExitLong("BL13",AtStop,EntryPrice-PriceScale*4);
if CurrentContracts == MaxContracts and Highest(H,BarsSinceEntry)>=EntryPrice*1.15 Then
ExitLong("bx32",AtStop,Highest(H,BarsSinceEntry)-0.5 ,"매수1");
3] 차트로 갭보정해서 사용 하던 것인데 불편하여 수식에서 갭보정을 넣어 사용 하려 합니다. 도움 주시면 감사하겠습니다.
Input : Period(20),shortPeriod(30), middlePeriod(60),longPeriod(120),verylongPeriod(240),LPercent(102.5);
Input : p(20),p1(60),p2(120);
INPUTS: LENGTH1(60);
VARS : DEMA1(0);
value1 = wma(C, shortPeriod);
value2 = wma(C, middlePeriod);
value3 = wma(C, longPeriod);
value4 = WMA(C, Period);
value5= (highest(H,9)+lowest(L,9))/2; //전환
value6 = (highest(H,26)+lowest(L,26))/2; //기준
value7= (value5+value6)/2; //선행스팬1
value8= (Highest(H,52)+Lowest(L,52))/2; //선행스팬2
value9 = countif(var7 >= 99.20 and var8 < 102,20);
value10 = countif(var8 >= 99.20 and var9 < 102,20);
value11 = countif(var9 >= 99.20 and var10 < 102,20);
value12 = wma(C, verylongPeriod);
value13= EMA(EMa(C,LENGTH1),LENGTH1);
var : dis(0),dis1(0),dis2(0),value(0), Xvol(0);
var1 = WMA(c,60);
var2 = WMA(c,120);
var3 = countif(var1>var2,70); //정배열
var4 = (C-C[1])/C[1]*100;
var5 = countif(var4<1.5,130); //130캔들이 1.5% 미만으로 움직임
var6 = highest(C,130); // 130 캔들 종가중 최고가
var7 = Disparity(20);
var8 = Disparity(60);
var9 = Disparity(120);
var10 = Ma(V,20); // 20개 거래량
var11 = countif(var1<var2,100); //역배열
var12 = countif(var1<var2,150); //역배열
var13 = countif(var2>var3,35); //정배열
var14= EMA(C,LENGTH1);
var15= DayIndex[1];
DEMA1 = var14*2-value13 ;#dema
너무 많아서 죄송 합니다. 항상 감사드립니다.
답변 1
예스스탁 예스스탁 답변
2014-01-06 10:03:24
안녕하세요
예스스탁입니다.
1.
var : cond(0),Upcnt(0),Ycnt(0);
var1 = ma(c,60);
var2 = ma(c,120);
if crossup(var1,var2) Then{
cond = 1;
upcnt = 0;
Ycnt = 0;
}
if CrossDown(var1,var2) Then
cond = -1;
if cond == 1 Then{
upcnt = upcnt+1;
if upcnt > 2 and upcnt <= 6 Then
if C > O Then{
Ycnt = Ycnt+1;
if Ycnt == 1 Then
buy();
}
}
2
식에 문제는 없습니다.
고점대비 X%하락하면 청산하고자 하시면 아래와 같이 수정하시면 됩니다.
input : X(-3);
var : Xvol(0);
if MarketPosition == 1 and IsEntryName("매수1") == true Then{
if CodeCategoryEx == 11 and BasePrice < 50000 Then
xvol = int(int((MaxContracts*0.5)/10)*10);
Else
Xvol = int(MaxContracts*0.5);
ExitLong("BL13",AtStop,EntryPrice-PriceScale*4);
if CurrentContracts == MaxContracts and Highest(H,BarsSinceEntry) >= EntryPrice*1.15 Then
ExitLong("bx32",AtStop,Highest(H,BarsSinceEntry)*(1+X/100));
}
3.
Input : Period(20),shortPeriod(30), middlePeriod(60),longPeriod(120),verylongPeriod(240),LPercent(102.5);
Input : p(20),p1(60),p2(120);
INPUTS: LENGTH1(60);
VARS : DEMA1(0);
var : dis(0),dis1(0),dis2(0),value(0), Xvol(0);
var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(0);
if date!=date[1] then { // 날짜가 변경되는 봉에서
gap = Open-Close[1]; // 일간갭
sumGap = sumGap+gap; // 일간갭 누적
}
GO = O - sumGap; // 시가에서 갭누적값을 차감
GH = H - sumGap; // 고가에서 갭누적값을 차감
GL = L - sumGap; // 저가에서 갭누적값을 차감
GC = C - sumGap; // 종가에서 갭누적값을 차감
value1 = wma(GC, shortPeriod);
value2 = wma(GC, middlePeriod);
value3 = wma(GC, longPeriod);
value4 = WMA(GC, Period);
value5= (highest(GH,9)+lowest(GL,9))/2; //전환
value6 = (highest(GH,26)+lowest(GL,26))/2; //기준
value7= (value5+value6)/2; //선행스팬1
value8= (Highest(GH,52)+Lowest(GL,52))/2; //선행스팬2
value9 = countif(var7 >= 99.20 and var8 < 102,20);
value10 = countif(var8 >= 99.20 and var9 < 102,20);
value11 = countif(var9 >= 99.20 and var10 < 102,20);
value12 = wma(GC, verylongPeriod);
value13= EMA(EMa(GC,LENGTH1),LENGTH1);
var1 = WMA(GC,60);
var2 = WMA(GC,120);
var3 = countif(var1>var2,70); //정배열
var4 = (GC-GC[1])/GC[1]*100;
var5 = countif(var4<1.5,130); //130캔들이 1.5% 미만으로 움직임
var6 = highest(GC,130); // 130 캔들 종가중 최고가
var7 = Disparity(20);
var8 = Disparity(60);
var9 = Disparity(120);
var10 = Ma(V,20); // 20개 거래량
var11 = countif(var1<var2,100); //역배열
var12 = countif(var1<var2,150); //역배열
var13 = countif(var2>var3,35); //정배열
var14= EMA(GC,LENGTH1);
var15= DayIndex[1];
DEMA1 = var14*2-value13 ;#dema
즐거운 하루되세요
> HI_h6***** 님이 쓴 글입니다.
> 제목 : 감사합니다.
> 항상 질문만 드려서 죄송 합니다.
현재 사용하는 시스템에 추가 하려고 합니다.
1] 매수 조건: 60과 120 이 골든크로스난 캔들을 기준으로 2~10봉 사이만 진입 하려 합니다.
즉 골든 나기전은 역배열이므로 진입이 안되고 정배열 이후 2~10 캔들 사이 에서만
진입을 허용하고 10캔들이 넘어가면 진입을 하지 않는거죠
예를들어 2~10 캔들 사이에 양봉 또는 거래량 등등 조건을 임의로 넣고 그조건에 맞을때만 매수인데 10캔들이 지나면 임의의 조건에 맞아도 진입을 하지 않는겁니다.
결국은 위 조건에 해당 하지 않으면 역배열 이후 다시 정배열된후 10캔들 안에 조건에 맞아야 진입하고 를 반복 하는 겁니다.
과거 글을 보구 혼자 해봤는데 10캔들 이후도 매수를 하더라구요
위의 내용으로 60과 120 이 골든난 시점 이후 눌림목에 매수하는 식을 부탁드립니다.
즉 현재봉을 기준으로 2봉전이 골든이었거나,3봉전이 골든이었거나 ~6봉전 까지 (2봉부터 6봉까지)골든 이후 첫양봉이면 매수를 수식으로 부탁 드립니다.
2] 진입별 수식을 사용 하는데 랭귀지 도움말을 보구 수정 했습니다. 그런데 맞는지 잘 모르겠어요 잘못된 부분이 있으면 바로 잡아주세요. 이상이 없으면 사용해도 되는지 그리고 0.5포인트 하락하면 청산한다는 뜻으로 알고 있는데 고점대비 몇% 하락하면으로 바꿀수 있나요?
사용하던 수식:
if MarketPosition == 1 and IsEntryName("매수1") ==true Then{
if CodeCategoryEx == 11 and BasePrice < 50000 Then
xvol = int(int((MaxContracts*0.5)/10)*10);
Else
Xvol = int(MaxContracts*0.5);
ExitLong("BL13",AtStop,EntryPrice-PriceScale*4);
if CurrentContracts == MaxContracts and highest(H,BarsSinceEntry) >= EntryPrice*1.15 Then
exitlong("BX32",AtStop,highest(H,BarsSinceEntry)*0.95);
수정한 수식:
if MarketPosition == 1 and IsEntryName("매수1") ==true Then{
if CodeCategoryEx == 11 and BasePrice < 50000 Then
xvol = int(int((MaxContracts*0.5)/10)*10);
Else
Xvol = int(MaxContracts*0.5);
ExitLong("BL13",AtStop,EntryPrice-PriceScale*4);
if CurrentContracts == MaxContracts and Highest(H,BarsSinceEntry)>=EntryPrice*1.15 Then
ExitLong("bx32",AtStop,Highest(H,BarsSinceEntry)-0.5 ,"매수1");
3] 차트로 갭보정해서 사용 하던 것인데 불편하여 수식에서 갭보정을 넣어 사용 하려 합니다. 도움 주시면 감사하겠습니다.
Input : Period(20),shortPeriod(30), middlePeriod(60),longPeriod(120),verylongPeriod(240),LPercent(102.5);
Input : p(20),p1(60),p2(120);
INPUTS: LENGTH1(60);
VARS : DEMA1(0);
value1 = wma(C, shortPeriod);
value2 = wma(C, middlePeriod);
value3 = wma(C, longPeriod);
value4 = WMA(C, Period);
value5= (highest(H,9)+lowest(L,9))/2; //전환
value6 = (highest(H,26)+lowest(L,26))/2; //기준
value7= (value5+value6)/2; //선행스팬1
value8= (Highest(H,52)+Lowest(L,52))/2; //선행스팬2
value9 = countif(var7 >= 99.20 and var8 < 102,20);
value10 = countif(var8 >= 99.20 and var9 < 102,20);
value11 = countif(var9 >= 99.20 and var10 < 102,20);
value12 = wma(C, verylongPeriod);
value13= EMA(EMa(C,LENGTH1),LENGTH1);
var : dis(0),dis1(0),dis2(0),value(0), Xvol(0);
var1 = WMA(c,60);
var2 = WMA(c,120);
var3 = countif(var1>var2,70); //정배열
var4 = (C-C[1])/C[1]*100;
var5 = countif(var4<1.5,130); //130캔들이 1.5% 미만으로 움직임
var6 = highest(C,130); // 130 캔들 종가중 최고가
var7 = Disparity(20);
var8 = Disparity(60);
var9 = Disparity(120);
var10 = Ma(V,20); // 20개 거래량
var11 = countif(var1<var2,100); //역배열
var12 = countif(var1<var2,150); //역배열
var13 = countif(var2>var3,35); //정배열
var14= EMA(C,LENGTH1);
var15= DayIndex[1];
DEMA1 = var14*2-value13 ;#dema
너무 많아서 죄송 합니다. 항상 감사드립니다.
이전글