커뮤니티

다른 식인가요

프로필 이미지
구다이전설
2013-01-12 13:01:58
239
글번호 58096
답변완료
제 생각과 다른 식인가요 모멘텀 교차 에서 사서 한계약식 0.1 포인트 수익 날때 마다 청산하는 것인데 전혀 수익이 없네요 ... 생각이 문제인가요 식이 문제인가요 ?????? 그리고 하루 한번만 진입하게 한 부분은 어디 인가요 ?? Input : P(10), P1(13),진입수량(10) ; var : MMT(0),MMTSig(0); MMT = Momentum(P); MMTSig = ma(MMT,p1); if date != date[1] Then{ Condition1 = false; Condition2 = false; } if Condition1 == false and crossup (mmt,mmtsig) Then buy("bMom", OnClose,def,진입수량); if Condition2 == false and CrossDown(mmt,mmtsig) Then sell("SMom", onclose,def,진입수량); if MarketPosition == 1 Then { Condition1 = true; ExitLong("Bx1",AtLimit,EntryPrice+0.1,"",1,1); ExitLong("Bx2",AtLimit,EntryPrice+0.2,"",1,1); ExitLong("Bx3",AtLimit,EntryPrice+0.3,"",1,1); ExitLong("Bx4",AtLimit,EntryPrice+0.4,"",1,1); ExitLong("Bx5",AtLimit,EntryPrice+0.5,"",1,1); ExitLong("Bx6",AtLimit,EntryPrice+0.6,"",1,1); ExitLong("Bx7",AtLimit,EntryPrice+0.7,"",1,1); ExitLong("Bx8",AtLimit,EntryPrice+0.8,"",1,1); ExitLong("Bx9",AtLimit,EntryPrice+0.9,"",1,1); ExitLong("Bx10",AtLimit,EntryPrice+1,"",1,1); if CurrentContracts == 9 Then ExitLong("x1",AtStop,(EntryPrice+0.1)-0.25); if CurrentContracts == 8 Then ExitLong("x2",AtStop,(EntryPrice+0.2)-0.25); if CurrentContracts == 7 Then ExitLong("x3",AtStop,(EntryPrice+0.3)-0.25); if CurrentContracts == 6 Then ExitLong("x4",AtStop,(EntryPrice+0.4)-0.25); if CurrentContracts == 5 Then ExitLong("x5",AtStop,(EntryPrice+0.5)-0.25); if CurrentContracts == 4 Then ExitLong("x6",AtStop,(EntryPrice+0.6)-0.25); if CurrentContracts == 3 Then ExitLong("x7",AtStop,(EntryPrice+0.7)-0.25); if CurrentContracts == 2 Then ExitLong("x8",AtStop,(EntryPrice+0.8)-0.25); if CurrentContracts ==1 Then ExitLong("x9",AtStop,(EntryPrice+0.9)-0.25); } If MarketPosition == -1 Then{ Condition2 = false; ExitShort("Sx1",AtLimit,EntryPrice-0.1,"",1,1); ExitShort("Sx2",AtLimit,EntryPrice-0.2,"",1,1); ExitShort("Sx3",AtLimit,EntryPrice-0.3,"",1,1); ExitShort("Sx4",AtLimit,EntryPrice-0.4,"",1,1); ExitShort("Sx5",AtLimit,EntryPrice-0.5,"",1,1); ExitShort("Sx6",AtLimit,EntryPrice-0.6,"",1,1); ExitShort("Sx7",AtLimit,EntryPrice-0.7,"",1,1); ExitShort("Sx8",AtLimit,EntryPrice-0.8,"",1,1); ExitShort("Sx9",AtLimit,EntryPrice-0.9,"",1,1); ExitShort("Sx10",AtLimit,EntryPrice-1,"",1,1); if CurrentContracts == 9 Then ExitShort("xs1",AtStop,(EntryPrice-0.1)+0.25); if CurrentContracts == 8 Then ExitShort("xs2",AtStop,(EntryPrice-0.2)+0.25); if CurrentContracts == 7 Then ExitShort("xs3",AtStop,(EntryPrice-0.3)+0.25); if CurrentContracts == 6 Then ExitShort("xs4",AtStop,(EntryPrice-0.4)+0.25); if CurrentContracts == 5 Then ExitShort("xs5",AtStop,(EntryPrice-0.5)+0.25); if CurrentContracts == 4 Then ExitShort("xs6",AtStop,(EntryPrice-0.6)+0.25); if CurrentContracts == 3 Then ExitShort("xs7",AtStop,(EntryPrice-0.7)+0.25); if CurrentContracts == 2 Then ExitShort("xs8",AtStop,(EntryPrice-0.8)+0.25); if CurrentContracts ==1 Then ExitShort("xs9",AtStop,(EntryPrice-0.9)+0.25); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-01-14 15:26:59

안녕하세요 예스스탁입니다. 1. 해당식 말씀하신 내용대로 신호가 발생하고 있습니다. 0.1수익때마다 청산이 되고 최종 청산지점에서 0.25 반대로 가면 청산도 정상적으로 발생합니다. 테스트결과 수익나는 거래도 있고 반대로 갈때 청산되는 부분에 의해 손실나는 거래도 있습니다. 2. condition1과 condition2가 진입을 제어하는 함수입니다. 두변수는 날짜가 변경되면 모두 false값을 가지고 condition1은 매수진입에 들어가면 true가 되고 condition2은 매수진입에 들어가면 true가 되어 더이상 진입을 하지 않게 하는 변수입니다. 기존식에 값의 할당에 문제가 있어 수정했습니다. 아래식 이용하시면 됩니다. Input : P(10), P1(13),진입수량(10) ; var : MMT(0),MMTSig(0); MMT = Momentum(P); MMTSig = ma(MMT,p1); if date != date[1] Then{ Condition1 = false; Condition2 = false; } if Condition1 == false and crossup (mmt,mmtsig) Then buy("bMom", OnClose,def,진입수량); if Condition2 == false and CrossDown(mmt,mmtsig) Then sell("SMom", onclose,def,진입수량); if MarketPosition == 1 Then { Condition1 = true; ExitLong("Bx1",AtLimit,EntryPrice+0.1,"",1,1); ExitLong("Bx2",AtLimit,EntryPrice+0.2,"",1,1); ExitLong("Bx3",AtLimit,EntryPrice+0.3,"",1,1); ExitLong("Bx4",AtLimit,EntryPrice+0.4,"",1,1); ExitLong("Bx5",AtLimit,EntryPrice+0.5,"",1,1); ExitLong("Bx6",AtLimit,EntryPrice+0.6,"",1,1); ExitLong("Bx7",AtLimit,EntryPrice+0.7,"",1,1); ExitLong("Bx8",AtLimit,EntryPrice+0.8,"",1,1); ExitLong("Bx9",AtLimit,EntryPrice+0.9,"",1,1); ExitLong("Bx10",AtLimit,EntryPrice+1,"",1,1); if CurrentContracts == 9 Then ExitLong("x1",AtStop,(EntryPrice+0.1)-0.25); if CurrentContracts == 8 Then ExitLong("x2",AtStop,(EntryPrice+0.2)-0.25); if CurrentContracts == 7 Then ExitLong("x3",AtStop,(EntryPrice+0.3)-0.25); if CurrentContracts == 6 Then ExitLong("x4",AtStop,(EntryPrice+0.4)-0.25); if CurrentContracts == 5 Then ExitLong("x5",AtStop,(EntryPrice+0.5)-0.25); if CurrentContracts == 4 Then ExitLong("x6",AtStop,(EntryPrice+0.6)-0.25); if CurrentContracts == 3 Then ExitLong("x7",AtStop,(EntryPrice+0.7)-0.25); if CurrentContracts == 2 Then ExitLong("x8",AtStop,(EntryPrice+0.8)-0.25); if CurrentContracts ==1 Then ExitLong("x9",AtStop,(EntryPrice+0.9)-0.25); } If MarketPosition == -1 Then{ Condition2 = true; ExitShort("Sx1",AtLimit,EntryPrice-0.1,"",1,1); ExitShort("Sx2",AtLimit,EntryPrice-0.2,"",1,1); ExitShort("Sx3",AtLimit,EntryPrice-0.3,"",1,1); ExitShort("Sx4",AtLimit,EntryPrice-0.4,"",1,1); ExitShort("Sx5",AtLimit,EntryPrice-0.5,"",1,1); ExitShort("Sx6",AtLimit,EntryPrice-0.6,"",1,1); ExitShort("Sx7",AtLimit,EntryPrice-0.7,"",1,1); ExitShort("Sx8",AtLimit,EntryPrice-0.8,"",1,1); ExitShort("Sx9",AtLimit,EntryPrice-0.9,"",1,1); ExitShort("Sx10",AtLimit,EntryPrice-1,"",1,1); if CurrentContracts == 9 Then ExitShort("xs1",AtStop,(EntryPrice-0.1)+0.25); if CurrentContracts == 8 Then ExitShort("xs2",AtStop,(EntryPrice-0.2)+0.25); if CurrentContracts == 7 Then ExitShort("xs3",AtStop,(EntryPrice-0.3)+0.25); if CurrentContracts == 6 Then ExitShort("xs4",AtStop,(EntryPrice-0.4)+0.25); if CurrentContracts == 5 Then ExitShort("xs5",AtStop,(EntryPrice-0.5)+0.25); if CurrentContracts == 4 Then ExitShort("xs6",AtStop,(EntryPrice-0.6)+0.25); if CurrentContracts == 3 Then ExitShort("xs7",AtStop,(EntryPrice-0.7)+0.25); if CurrentContracts == 2 Then ExitShort("xs8",AtStop,(EntryPrice-0.8)+0.25); if CurrentContracts ==1 Then ExitShort("xs9",AtStop,(EntryPrice-0.9)+0.25); } 즐거운 하루되세요 > 구다이전설 님이 쓴 글입니다. > 제목 : 다른 식인가요 > 제 생각과 다른 식인가요 모멘텀 교차 에서 사서 한계약식 0.1 포인트 수익 날때 마다 청산하는 것인데 전혀 수익이 없네요 ... 생각이 문제인가요 식이 문제인가요 ?????? 그리고 하루 한번만 진입하게 한 부분은 어디 인가요 ?? Input : P(10), P1(13),진입수량(10) ; var : MMT(0),MMTSig(0); MMT = Momentum(P); MMTSig = ma(MMT,p1); if date != date[1] Then{ Condition1 = false; Condition2 = false; } if Condition1 == false and crossup (mmt,mmtsig) Then buy("bMom", OnClose,def,진입수량); if Condition2 == false and CrossDown(mmt,mmtsig) Then sell("SMom", onclose,def,진입수량); if MarketPosition == 1 Then { Condition1 = true; ExitLong("Bx1",AtLimit,EntryPrice+0.1,"",1,1); ExitLong("Bx2",AtLimit,EntryPrice+0.2,"",1,1); ExitLong("Bx3",AtLimit,EntryPrice+0.3,"",1,1); ExitLong("Bx4",AtLimit,EntryPrice+0.4,"",1,1); ExitLong("Bx5",AtLimit,EntryPrice+0.5,"",1,1); ExitLong("Bx6",AtLimit,EntryPrice+0.6,"",1,1); ExitLong("Bx7",AtLimit,EntryPrice+0.7,"",1,1); ExitLong("Bx8",AtLimit,EntryPrice+0.8,"",1,1); ExitLong("Bx9",AtLimit,EntryPrice+0.9,"",1,1); ExitLong("Bx10",AtLimit,EntryPrice+1,"",1,1); if CurrentContracts == 9 Then ExitLong("x1",AtStop,(EntryPrice+0.1)-0.25); if CurrentContracts == 8 Then ExitLong("x2",AtStop,(EntryPrice+0.2)-0.25); if CurrentContracts == 7 Then ExitLong("x3",AtStop,(EntryPrice+0.3)-0.25); if CurrentContracts == 6 Then ExitLong("x4",AtStop,(EntryPrice+0.4)-0.25); if CurrentContracts == 5 Then ExitLong("x5",AtStop,(EntryPrice+0.5)-0.25); if CurrentContracts == 4 Then ExitLong("x6",AtStop,(EntryPrice+0.6)-0.25); if CurrentContracts == 3 Then ExitLong("x7",AtStop,(EntryPrice+0.7)-0.25); if CurrentContracts == 2 Then ExitLong("x8",AtStop,(EntryPrice+0.8)-0.25); if CurrentContracts ==1 Then ExitLong("x9",AtStop,(EntryPrice+0.9)-0.25); } If MarketPosition == -1 Then{ Condition2 = false; ExitShort("Sx1",AtLimit,EntryPrice-0.1,"",1,1); ExitShort("Sx2",AtLimit,EntryPrice-0.2,"",1,1); ExitShort("Sx3",AtLimit,EntryPrice-0.3,"",1,1); ExitShort("Sx4",AtLimit,EntryPrice-0.4,"",1,1); ExitShort("Sx5",AtLimit,EntryPrice-0.5,"",1,1); ExitShort("Sx6",AtLimit,EntryPrice-0.6,"",1,1); ExitShort("Sx7",AtLimit,EntryPrice-0.7,"",1,1); ExitShort("Sx8",AtLimit,EntryPrice-0.8,"",1,1); ExitShort("Sx9",AtLimit,EntryPrice-0.9,"",1,1); ExitShort("Sx10",AtLimit,EntryPrice-1,"",1,1); if CurrentContracts == 9 Then ExitShort("xs1",AtStop,(EntryPrice-0.1)+0.25); if CurrentContracts == 8 Then ExitShort("xs2",AtStop,(EntryPrice-0.2)+0.25); if CurrentContracts == 7 Then ExitShort("xs3",AtStop,(EntryPrice-0.3)+0.25); if CurrentContracts == 6 Then ExitShort("xs4",AtStop,(EntryPrice-0.4)+0.25); if CurrentContracts == 5 Then ExitShort("xs5",AtStop,(EntryPrice-0.5)+0.25); if CurrentContracts == 4 Then ExitShort("xs6",AtStop,(EntryPrice-0.6)+0.25); if CurrentContracts == 3 Then ExitShort("xs7",AtStop,(EntryPrice-0.7)+0.25); if CurrentContracts == 2 Then ExitShort("xs8",AtStop,(EntryPrice-0.8)+0.25); if CurrentContracts ==1 Then ExitShort("xs9",AtStop,(EntryPrice-0.9)+0.25); }