커뮤니티

수식 압축하는 방법

프로필 이미지
산수유
2025-11-29 13:02:11
52
글번호 228485
답변완료

1.전에 만들어 주신 파라볼릭 계산하는 수식입니다. 이게 변수 바로 아래 너무 길게 있어서  변수하고 진입과 청산식을 한번에 보기가 어렵습니다. 혹시 단 몇줄로 압축한다든가 하는 방법이 있으면 좀 알려주세요!  if EP != 0 Then {     if Direction == 1 then     {         EP = HighValue;             SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);             if High > HighValue then             {                   HighValue = High;                   AF_Value = AF_Value + AF;                   if AF_Value >= AFmaX then AF_Value = AFmaX;             }             if Low < SAR_Value then             {                   Direction       = -1;                   SAR_Value       = EP;                   AF_Value       = 0;                   EP                   = 0;                   LowValue       = low;             }     }     else     {         EP = LowValue;             SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);             if Low < LowValue then             {                   LowValue = Low;                   AF_Value = AF_Value + Af;                   if AF_Value >= AFmaX then AF_Value = AFmaX;             }             if High > SAR_Value then             {                   Direction = 1;                   SAR_Value = EP;                   AF_Value = 0;                   EP = 0;                   HighValue = High;             }     }         Sarv = SAR_Value; } else {     if SAR_Value != 0 && EP == 0 then     {         if Direction == 1 then             {                   EP = HighValue;                   AF_Value = AF;                   SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);                   if High > HighValue  then                   {                         HighValue = High;                         AF_Value = AF_Value + AF;                         if AF_Value >= AFmaX then AF_Value = AFmaX;                   }              }             else             {                   EP = LowValue;                   AF_Value = Af;                   SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);                   if Low < LowValue then                   {                         LowValue = Low;                         AF_Value = AF_Value + AF;                         if AF_Value >= AFmaX then AF_Value = AFmaX;                    }             }                         Sarv = SAR_Value;     }     else     {         if Direction == 0 then             {                   if Close > Close[1] then Direction = 1;                   else                         if Close < Close[1] then Direction = -1;             }             else             {                 if Direction == 1 then                 {                         if Close < Close[1] then                         {                               Direction = -1;                               SAR_Value = HighValue;                               Sarv = SAR_Value;                         }                   }                   if Direction == -1 then                 {                     if Close > Close[1] then                         {                               Direction = 1;                               SAR_Value = LowValue;                               Sarv = SAR_Value;                         }                 }             }  LowValue       = min(Low, LowValue);             HighValue       = max(High, HighValue);                }             2..일봉상 ema를 가져오고 60분봉상 adx를 가져와서  시장판단만 하고 지표계산은 60분봉으로 하여60분봉으로 진입청산식을 만드는게 가능한가요? 예를 들면 아래와 같이   Var :DailyEMA200(0), ADX(0),regime(0); DailyEMA200 = EMA(Close of Data2, 200);  (60분봉상 )ad = ADX(14 ); Regime = 0;     { 1=상승장, -1=하락장/폭락장, 0=횡보 } If Close of Data2 > DailyEMA200 and ADX > 20 then     Regime = 1                              { 상승장 } Else If Close of Data2 < DailyEMA200 and ADX > 20 then     Regime = -1                             { 하락장 } Else     Regime = 0                              { 횡보 / 박스권 } 시장판단을 하고  { --- 60분봉상 메인 지표 계산 --- } Var Sarv(0), MC(0), MS(0), OS(0); Sarv = SAR(0.02, 0.2); MC = MACD(10,21); MS = EMA(MC,7); OS = MC - MS; If Regime = 1 and     CrossUp(Close, Sarv) and     OS > 0 and     Close > Close[1] then Begin     Buy("Long") next bar at market;  만약 위의 식이 잘못 되었다면 일봉의 데이터를 적용하고 분봉상으로 매매진입하는 방법을 좀 알려주세요 3.. mvar1 = Sarv+(AF_value)*(EP-SAR_Value);       mvar2 = MAX(var1,EntryPrice- EntryATR*ATr1);       mvar3 = Min(var1,EntryPrice+  EntryATR*1.5);  if marketPosition == -1 and Direction == -1 Then       {           ExitShort("sx1",AtStop,mvar3);        ExitShort("sx3",AtLimit,EntryPrice-entryatr*5,"",1,1);     } 이 청산식은 파라볼릭반전신호와 atr*1.5  중 비교하여 으로 손절을하라는 내용과  파라볼릭반전신호와 atr*5값중에서 둘중에 먼저 도달하는 지표에  청산하라는 내용이 다 들어간게 맞는건가요? 요지는 파라볼릭 돌파가 손절과 익절에 모두 작동하는지요?   질문이 너무 길어서 죄송합니다.

시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-12-01 13:36:49

안녕하세요 예스스탁입니다. 1 압축은 가능하지 않습니다. 2 수식 내용을 확인하기 어렵습니다. 진입은 buy인데 청산은 매도포지션 청산으로 되어 있습니다. 변수중 값할당도 안된 변수가 있습니다. 내용 정리해서 다시 올려주시기 바랍니다. 즐거운 하루되세요