커뮤니티

부탁 합니다

프로필 이미지
영웅456
2017-04-17 05:55:51
178
글번호 108858
답변완료
//전략 조건1 ;트릭스(12,9)가 기준선0를 돌파하거나 트릭스가 트릭스 기준선을 상향돌파하면 매수 하향돌파하면 매도 조건2 ; macd(12,26,9)가 기준선0를 돌파하거나 macd가 macd기준선을 상향돌파하면 매수 하향돌파하면 매도 조건1로만 진입식 먼저 만들고 조건2는 "목표수익"후만 적용예정 // 매수 매도 청산전략 *50틱 수익후 3틱 밀리면 1계약수익청산 *100틱 수익후 고점대비 20틱 밀리면 트레이딩 스탑으로 전량청산, 이때 전략명을 "매수목표수익" "매도목표수익" 으로하고 "매수목표수익" "매도목표수익" 이 마지막 청산이름이면 재매수 재매도는 조건1이 아닌 조건2가 만족하면 재매수 재매도 될수 있게 부탁 합니다 대신,"매수목표수익"청산명 이후 매도신호는 정상적으로 조건1로 "매도목표수익"청산명 이후 매수신호는 정상적으로 조건1로 마지막 청산이름이 "매수목표수익" "매도목표수익"이 아니면 조건1로만 계속 매수 매도 스탑로스 50틱 손절 부탁 드립니다 if MarketPosition == 0 and IsExitName("목표수익",1) == False Then { if 조건1 Then buy("매수1"); } if MarketPosition == 0 and IsExitName("목표수익",1) ==true Then { if 조건2 Then buy("매수2"); } 이 수식으로 해보니 마지막 청산명이 "목표수익" 인데도 계속 조건1로 매수해 버립니다 ㅠㅠ
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-04-18 14:13:14

안녕하세요 예스스탁입니다. 수식에서 지정한 이름과 동일이름으로 지정하셔야 합니다. 수식에서 "매수목표수익","매도목표수익"으로 청산이름을 지정하셨으면 IsExitName에도 동일이름으로 지정해 주어야 합니다. 올리신 내용이면 지정한 이름이 다릅니다. Input : Period(12), sigPeriod(9); Input : short(12), long(26), Sig(9); value1 = TRIX(Period); value2 = ema(value1, sigPeriod); value3 = MACD(short, long); value4 = ema(value3, sig); Condition1 = MarketPosition == 0 and MarketPosition(1) == 1 and IsExitName("매수목표수익",1) == true; Condition2 = MarketPosition == 0 and MarketPosition(1) == -1 and IsExitName("매도목표수익",1) == true; if Condition1 == false then{ If CrossUP(value1, 0) or CrossUp(value1,value2) Then Buy("b1"); } if Condition1 == true then{ If CrossUP(value3, 0) or CrossUp(value3,value4) Then Buy("b2"); } if Condition2 == false then{ If CrossDown(value1, 0) or CrossDown(value1,value2) Then Sell("s1"); } if Condition2 == true then{ If CrossDown(value3, 0) or CrossDown(value3,value4) Then Sell("s2"); } if MarketPosition == 1 Then{ var1 = highest(h,BarsSinceEntry); if var1 >= EntryPrice+PriceScale*50 and var1 < EntryPrice+PriceScale*100 Then ExitLong("bx",AtStop,var1-PriceScale*3); if var1 >= EntryPrice+PriceScale*100 Then ExitLong("매수목표수익",AtStop,var1-PriceScale*20); } if MarketPosition == -1 Then{ var1 = Lowest(L,BarsSinceEntry); if var1 <= EntryPrice-PriceScale*50 and var1 > EntryPrice-PriceScale*100 Then ExitShort("sx",AtStop,var1+PriceScale*3); if var1 <= EntryPrice-PriceScale*100 Then ExitShort("매도목표수익",AtStop,var1+PriceScale*20); } 즐거운 하루되세요 > 영웅456 님이 쓴 글입니다. > 제목 : 부탁 합니다 > //전략 조건1 ;트릭스(12,9)가 기준선0를 돌파하거나 트릭스가 트릭스 기준선을 상향돌파하면 매수 하향돌파하면 매도 조건2 ; macd(12,26,9)가 기준선0를 돌파하거나 macd가 macd기준선을 상향돌파하면 매수 하향돌파하면 매도 조건1로만 진입식 먼저 만들고 조건2는 "목표수익"후만 적용예정 // 매수 매도 청산전략 *50틱 수익후 3틱 밀리면 1계약수익청산 *100틱 수익후 고점대비 20틱 밀리면 트레이딩 스탑으로 전량청산, 이때 전략명을 "매수목표수익" "매도목표수익" 으로하고 "매수목표수익" "매도목표수익" 이 마지막 청산이름이면 재매수 재매도는 조건1이 아닌 조건2가 만족하면 재매수 재매도 될수 있게 부탁 합니다 대신,"매수목표수익"청산명 이후 매도신호는 정상적으로 조건1로 "매도목표수익"청산명 이후 매수신호는 정상적으로 조건1로 마지막 청산이름이 "매수목표수익" "매도목표수익"이 아니면 조건1로만 계속 매수 매도 스탑로스 50틱 손절 부탁 드립니다 if MarketPosition == 0 and IsExitName("목표수익",1) == False Then { if 조건1 Then buy("매수1"); } if MarketPosition == 0 and IsExitName("목표수익",1) ==true Then { if 조건2 Then buy("매수2"); } 이 수식으로 해보니 마지막 청산명이 "목표수익" 인데도 계속 조건1로 매수해 버립니다 ㅠㅠ