커뮤니티

청산식오류수정

프로필 이미지
조민철
2013-12-09 13:51:27
151
글번호 70264
답변완료
항상감사드립니다 아래 특정진입조건에 대한(B1/B11,S1/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]; } ################################ ##### 삼각가중 이평 ##### ################################ VAR: Length1(20),Length2(60); Variables: TLen1(0),TRIma1(0),TLen2(0),TRIma2(0); TLen1 = Ceiling((Length1 + 1) * 0.5); TLen2 = Ceiling((Length2 + 1) * 0.5); var23 = ma(ma(H, TLen1), TLen1); var22 = ma(ma(C, TLen1), TLen1); var21 = ma(ma(L, TLen1), TLen1); var53 = ma(ma(H, TLen2), TLen2); var52 = ma(ma(C, TLen2), TLen2); var51 = ma(ma(L, TLen2), TLen2); 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"); } ##### B1/B11,S1/S11 청산 ##### if MarketPosition == 1 and (IsExitName("B1") == true or IsExitName("B11") == true) Then{ if CrossDown(c,var51) then exitlong("eL11"); } if MarketPosition == -1 and (IsExitName("S1") == true or IsExitName("S11") == true) Then{ if crossup(c,var53) then exitshort("eS11"); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-12-09 16:58:02

안녕하세요 예스스탁입니다. 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]; } ################################ ##### 삼각가중 이평 ##### ################################ VAR: Length1(20),Length2(60); Variables: TLen1(0),TRIma1(0),TLen2(0),TRIma2(0); TLen1 = Ceiling((Length1 + 1) * 0.5); TLen2 = Ceiling((Length2 + 1) * 0.5); var23 = ma(ma(H, TLen1), TLen1); var22 = ma(ma(C, TLen1), TLen1); var21 = ma(ma(L, TLen1), TLen1); var53 = ma(ma(H, TLen2), TLen2); var52 = ma(ma(C, TLen2), TLen2); var51 = ma(ma(L, TLen2), TLen2); 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"); } ##### B1/B11,S1/S11 청산 ##### if MarketPosition == 1 and (IsEntryName("B1") == true or IsEntryName("B11") == true) Then{ if CrossDown(c,var51) then exitlong("eL11"); } if MarketPosition == -1 and (IsEntryName("S1") == true or IsEntryName("S11") == true) Then{ if crossup(c,var53) then exitshort("eS11"); } 즐거운 하루되세요 > 조민철 님이 쓴 글입니다. > 제목 : 청산식오류수정 > 항상감사드립니다 아래 특정진입조건에 대한(B1/B11,S1/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]; } ################################ ##### 삼각가중 이평 ##### ################################ VAR: Length1(20),Length2(60); Variables: TLen1(0),TRIma1(0),TLen2(0),TRIma2(0); TLen1 = Ceiling((Length1 + 1) * 0.5); TLen2 = Ceiling((Length2 + 1) * 0.5); var23 = ma(ma(H, TLen1), TLen1); var22 = ma(ma(C, TLen1), TLen1); var21 = ma(ma(L, TLen1), TLen1); var53 = ma(ma(H, TLen2), TLen2); var52 = ma(ma(C, TLen2), TLen2); var51 = ma(ma(L, TLen2), TLen2); 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"); } ##### B1/B11,S1/S11 청산 ##### if MarketPosition == 1 and (IsExitName("B1") == true or IsExitName("B11") == true) Then{ if CrossDown(c,var51) then exitlong("eL11"); } if MarketPosition == -1 and (IsExitName("S1") == true or IsExitName("S11") == true) Then{ if crossup(c,var53) then exitshort("eS11"); }