커뮤니티
피보나치 수식 수정 부탁드립니다.
2018-05-02 23:55:41
185
글번호 118660
아래의 수식을
돌파시나 이탈시가 아닌 해당가격대에 오면
무조건 매수, 매도가 되도록 하는 명령어는 어떻게 되나요??
즉, crossup, crossdown이 아닌 무조건 매수, 매도 입니다.
점검해 주시면 감사드립니다.
- 아 래 -
input : n(240);
input : 지정일(20180426);
var : 매수금액(3000000);
var : hh(0),ll(0),rr(0),cnt(0);
if DayHigh(n) > 0 and DayLow(n) > 0 and sdate >= 지정일 then{
hh = dayhigh(1);
ll = daylow(1);
for cnt = 1 to n{
if dayhigh(cnt) > hh Then
hh = DayHigh(cnt);
if daylow(cnt) < ll Then
ll = daylow(cnt);
}
rr = hh-ll;
var1 = hh;
var2 = hh - rr*0.236;
var3 = hh - rr*0.382;
var4 = hh - rr*0.500;
var5 = hh - rr*0.618;
var6 = hh - rr*0.700;
var7 = ll;
if MarketPosition == 0 and crossup(c,var3) Then
Buy("매수1");
if MarketPosition == 1 Then
{
if MaxEntries == 1 then
{
if CrossDown(c,var4) Then
Buy("매수2");
if crossup(c,var2) Then
ExitLong("수익1");
}
if MaxEntries == 2 Then
{
if CrossDown(c,var5) Then
Buy("매수3");
if crossup(c,var3) Then
ExitLong("수익2");
}
if MaxEntries == 3 Then
{
if crossup(c,var3) Then
ExitLong("수익3");
if CrossDown(c,var4) Then
ExitLong("매도1",OnClose,def,"",floor(MaxContracts*(1/3)),1);
if CrossDown(c,var5) Then
ExitLong("매도2",OnClose,def,"",floor(MaxContracts*(1/3)),1);
if CrossDown(c,var6) Then
ExitLong("매도3");
}
}
}
답변 1
예스스탁 예스스탁 답변
2018-05-04 10:09:18
안녕하세요
예스스탁입니다.
input : n(240);
input : 지정일(20180426);
var : 매수금액(3000000);
var : hh(0),ll(0),rr(0),cnt(0),EL(0),EH(0);
if DayHigh(n) > 0 and DayLow(n) > 0 and sdate >= 지정일 then{
hh = dayhigh(1);
ll = daylow(1);
for cnt = 1 to n
{
if dayhigh(cnt) > hh Then
hh = DayHigh(cnt);
if daylow(cnt) < ll Then
ll = daylow(cnt);
}
rr = hh-ll;
var1 = hh;
var2 = hh - rr*0.236;
var3 = hh - rr*0.382;
var4 = hh - rr*0.500;
var5 = hh - rr*0.618;
var6 = hh - rr*0.700;
var7 = ll;
if MarketPosition == 0 and H < var3 Then
Buy("매수1",AtStop,var3);
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
EH = H;
EL = L;
}
if H > EH Then
EH = H;
if L < EL Then
EL = L;
if MaxEntries == 1 then
{
if L > var4 Then
Buy("매수2",atlimit,var4);
if H < var2 Then
ExitLong("수익1",atlimit,var2);
}
if MaxEntries == 2 Then
{
if L > var5 Then
Buy("매수3",atlimit,var5);
if H < var3 Then
ExitLong("수익2",atlimit,var3);
}
if MaxEntries == 3 Then
{
if H < var3 Then
ExitLong("수익3",atlimit,var3);
if EL > var4 Then
ExitLong("매도1",AtStop,var4,"",floor(MaxContracts*(1/3)),1);
if EL > var5 Then
ExitLong("매도2",AtStop,var5,"",floor(MaxContracts*(1/3)),1);
if EL > var6 Then
ExitLong("매도3",AtStop,var6);
}
}
}
즐거운 하루되세요
> 승부사1 님이 쓴 글입니다.
> 제목 : 피보나치 수식 수정 부탁드립니다.
> 아래의 수식을
돌파시나 이탈시가 아닌 해당가격대에 오면
무조건 매수, 매도가 되도록 하는 명령어는 어떻게 되나요??
즉, crossup, crossdown이 아닌 무조건 매수, 매도 입니다.
점검해 주시면 감사드립니다.
- 아 래 -
input : n(240);
input : 지정일(20180426);
var : 매수금액(3000000);
var : hh(0),ll(0),rr(0),cnt(0);
if DayHigh(n) > 0 and DayLow(n) > 0 and sdate >= 지정일 then{
hh = dayhigh(1);
ll = daylow(1);
for cnt = 1 to n{
if dayhigh(cnt) > hh Then
hh = DayHigh(cnt);
if daylow(cnt) < ll Then
ll = daylow(cnt);
}
rr = hh-ll;
var1 = hh;
var2 = hh - rr*0.236;
var3 = hh - rr*0.382;
var4 = hh - rr*0.500;
var5 = hh - rr*0.618;
var6 = hh - rr*0.700;
var7 = ll;
if MarketPosition == 0 and crossup(c,var3) Then
Buy("매수1");
if MarketPosition == 1 Then
{
if MaxEntries == 1 then
{
if CrossDown(c,var4) Then
Buy("매수2");
if crossup(c,var2) Then
ExitLong("수익1");
}
if MaxEntries == 2 Then
{
if CrossDown(c,var5) Then
Buy("매수3");
if crossup(c,var3) Then
ExitLong("수익2");
}
if MaxEntries == 3 Then
{
if crossup(c,var3) Then
ExitLong("수익3");
if CrossDown(c,var4) Then
ExitLong("매도1",OnClose,def,"",floor(MaxContracts*(1/3)),1);
if CrossDown(c,var5) Then
ExitLong("매도2",OnClose,def,"",floor(MaxContracts*(1/3)),1);
if CrossDown(c,var6) Then
ExitLong("매도3");
}
}
}
다음글
이전글