커뮤니티

시스템식수정 2

프로필 이미지
조민철
2013-12-05 00:25:39
147
글번호 70143
답변완료
항상 감사드립니다 질문 33728 관련입니다 아래시스템식을 1분봉에 적용해보니 신호가 나오질않습니다 시스템에 구현하고자 하는것은 시초가에 신호가 나오는것입니다.. B1,S1 을 나오게 하면 B11,S11이 안나오는것 같습니다 수정부탁드립니다 var : cnt(0),count(0); var1 = ma(c,9); var2 = ma(c,26); if CrossDown(var1,var2) Then value1 = var2; if var2 < value1 Then value1 = var2; #매도라인# if CrossUp(var1,var2) Then value2 = var2; if var2 > value2 Then value2 = var2; #매수라인# value3 = var2; if date != date[1] Then{ value11 = value1[1]; value21 = value2[1]; value31 = value3[1]; } count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } /* if (count == 0 and dayopen > value2 and value1==value11) Then buy("B1");*/ if (stime == 151500 and NextBarOpen > value2) Then buy("B11"); /* if (count == 0 and DayOpen < value1 and value2==value21) Then sell("S1");*/ if (stime == 151500 and NextBarOpen < value1) Then sell("S11"); if count == 1 Then{ if MarketPosition == 1 and MarketPosition != MarketPosition[1] Then Condition3 = false; if MarketPosition == 1 and Condition3 == false and value2 > value1 and value1 == value1[1] Then{ value7 = value1; Condition3 = True; } } if count >= 1 and Condition3 == true Then{ if crossup(c,value7) Then buy("Bb1"); if CrossDown(c,value7) Then sell("Bs1"); } if count == 1 Then{ if MarketPosition == -1 and MarketPosition != MarketPosition[1] Then Condition2 = false; if MarketPosition == -1 and Condition2 == false and value2 >= value1 and value2 == value2[1] Then{ value6 = value2; Condition2 = true; } } if count >= 1 and Condition2 == true Then{ if crossup(c,value6) Then buy("Sb1"); if CrossDown(c,value6) Then sell("Ss1"); } if MarketPosition == 1 and (IsExitName("B1") == true or IsExitName("B11") == true) Then{ CrossDown(c,value3); } if MarketPosition == -1 and (IsExitName("S1") == true or IsExitName("S11") == true) Then{ crossup(c,value3); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-12-05 10:36:39

안녕하세요 예스스탁입니다. 수정한 식입니다. 신호의 타입을 잘못설정했습니다. var : cnt(0),count(0); var1 = ma(c,9); var2 = ma(c,26); if CrossDown(var1,var2) Then value1 = var2; if var2 < value1 Then value1 = var2; #매도라인# if CrossUp(var1,var2) Then value2 = var2; if var2 > value2 Then value2 = var2; #매수라인# value3 = var2; if date != date[1] Then{ value11 = value1[1]; value21 = value2[1]; value31 = value3[1]; } count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } /* if (count == 0 and dayopen > value2 and value1==value11) Then buy("B1");*/ if (stime == 151500 and NextBarOpen > value2) Then buy("B11",AtMarket); /* if (count == 0 and DayOpen < value1 and value2==value21) Then sell("S1");*/ if (stime == 151500 and NextBarOpen < value1) Then sell("S11",AtMarket); if count == 1 Then{ if MarketPosition == 1 and MarketPosition != MarketPosition[1] Then Condition3 = false; if MarketPosition == 1 and Condition3 == false and value2 > value1 and value1 == value1[1] Then{ value7 = value1; Condition3 = True; } } if count >= 1 and Condition3 == true Then{ if crossup(c,value7) Then buy("Bb1"); if CrossDown(c,value7) Then sell("Bs1"); } if count == 1 Then{ if MarketPosition == -1 and MarketPosition != MarketPosition[1] Then Condition2 = false; if MarketPosition == -1 and Condition2 == false and value2 >= value1 and value2 == value2[1] Then{ value6 = value2; Condition2 = true; } } if count >= 1 and Condition2 == true Then{ if crossup(c,value6) Then buy("Sb1"); if CrossDown(c,value6) Then sell("Ss1"); } if MarketPosition == 1 and (IsExitName("B1") == true or IsExitName("B11") == true) Then{ CrossDown(c,value3); } if MarketPosition == -1 and (IsExitName("S1") == true or IsExitName("S11") == true) Then{ crossup(c,value3); } 즐거운 하루되세요 > 조민철 님이 쓴 글입니다. > 제목 : 시스템식수정 2 > 항상 감사드립니다 질문 33728 관련입니다 아래시스템식을 1분봉에 적용해보니 신호가 나오질않습니다 시스템에 구현하고자 하는것은 시초가에 신호가 나오는것입니다.. B1,S1 을 나오게 하면 B11,S11이 안나오는것 같습니다 수정부탁드립니다 var : cnt(0),count(0); var1 = ma(c,9); var2 = ma(c,26); if CrossDown(var1,var2) Then value1 = var2; if var2 < value1 Then value1 = var2; #매도라인# if CrossUp(var1,var2) Then value2 = var2; if var2 > value2 Then value2 = var2; #매수라인# value3 = var2; if date != date[1] Then{ value11 = value1[1]; value21 = value2[1]; value31 = value3[1]; } count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } /* if (count == 0 and dayopen > value2 and value1==value11) Then buy("B1");*/ if (stime == 151500 and NextBarOpen > value2) Then buy("B11"); /* if (count == 0 and DayOpen < value1 and value2==value21) Then sell("S1");*/ if (stime == 151500 and NextBarOpen < value1) Then sell("S11"); if count == 1 Then{ if MarketPosition == 1 and MarketPosition != MarketPosition[1] Then Condition3 = false; if MarketPosition == 1 and Condition3 == false and value2 > value1 and value1 == value1[1] Then{ value7 = value1; Condition3 = True; } } if count >= 1 and Condition3 == true Then{ if crossup(c,value7) Then buy("Bb1"); if CrossDown(c,value7) Then sell("Bs1"); } if count == 1 Then{ if MarketPosition == -1 and MarketPosition != MarketPosition[1] Then Condition2 = false; if MarketPosition == -1 and Condition2 == false and value2 >= value1 and value2 == value2[1] Then{ value6 = value2; Condition2 = true; } } if count >= 1 and Condition2 == true Then{ if crossup(c,value6) Then buy("Sb1"); if CrossDown(c,value6) Then sell("Ss1"); } if MarketPosition == 1 and (IsExitName("B1") == true or IsExitName("B11") == true) Then{ CrossDown(c,value3); } if MarketPosition == -1 and (IsExitName("S1") == true or IsExitName("S11") == true) Then{ crossup(c,value3); }