코딩 도움말 - 페이지 759

 
친애하는 MLADEN

컴파일된 경고에 관해서는 "'주문 보내기/선택, 수정, 닫기'의 반환 값이 이전에 (bool dummyResult)를 추가하여 수정되었지만 이제 간단히 (bool dummy)를 사용하는 것을 볼 수 있습니다. 모든 상황에 괜찮습니까? 또는 일부 특정 지표 및 상황에 대한 새로운(bool 더미)?

문안 인사
 
mntiwana :
친애하는 MLADEN

컴파일된 경고에 관해서는 "'주문 보내기/선택, 수정, 닫기'의 반환 값이 이전에 (bool dummyResult)를 추가하여 수정되었지만 이제 간단히 (bool dummy)를 사용하는 것을 볼 수 있습니다. 모든 상황에 괜찮습니까? 또는 일부 특정 지표 및 상황에 대한 새로운(bool 더미)?

문안 인사
일반적으로 이러한 경고는 양성입니다.

주문 작업이 괜찮은지 실제로 확인 하는 데 사용되는 것은 GetLastError()입니다(주문 작업에서 기본 반환이 반환하는 단순 부울 반환보다 훨씬 더 많은 세부 정보를 제공하기 때문에). 가능한 오류에 대한 자세한 내용이 필요한 경우 반드시 GetLastError()를 사용해야 합니다.
 
wojtekpaul :

(1월 31일 이후에는 무엇을 할까요?) :(

보이텍폴,

그게 무슨 말이에요?

 
chrisstoff :

보이텍폴,

그게 무슨 말이에요?

그는 이것을 의미했습니다 : https://www.forex-tsd.com/forum/announcements-forex-press/1811320-forex-tsd-is-going-to-be-terminated

하지만 이 게시물도 확인 하세요: https://www.forex-tsd.com/forum/announcements-forex-press/1811320-forex-tsd-is-going-to-be-terminated/page4#comment_1849089
 
mladen :
일반적으로 이러한 경고는 양성입니다.

주문 작업이 괜찮은지 실제로 확인하는 데 사용되는 것은 GetLastError()입니다(주문 작업에서 기본 반환이 반환하는 단순 부울 반환보다 훨씬 더 많은 세부 정보를 제공하기 때문에). 가능한 오류에 대한 자세한 내용이 필요한 경우 반드시 GetLastError()를 사용해야 합니다.
친애하는 MLADEN

도움을 주셔서 감사합니다.

문안 인사
 
mladen :
그는 이것을 의미했습니다 : https://www.forex-tsd.com/forum/announcements-forex-press/1811320-forex-tsd-is-going-to-be-terminated

하지만 이 게시물도 확인하세요: https://www.forex-tsd.com/forum/announcements-forex-press/1811320-forex-tsd-is-going-to-be-terminated/page4#comment_1849089

믈라덴,

정보 주셔서 감사합니다. 이것은 내가 가장 유리한 포럼 중 하나였기 때문에 나에게도 나쁜 소식입니다. 그럼에도 불구하고 인터넷을 통해 기성품 포럼 및 채팅 기능을 갖춘 다른 장소가 있습니다. (저는 "Forex-TSD가 종료될 예정입니다..." 스레드에 한 가지 예를 넣었습니다.)

 

여러분, 안녕하세요,


이 외설에 대한 경고와 함께 화살표를 넣을 코더가 필요합니다. 수동으로 이 전략은 100% 승리를 제공합니다.


아래는 전략에 대한 링크입니다.

http://www.binaryoptionsedge.com/topic/1879-high-power-option-2015/page-2#entry108014

게시물 #29

오브리가도.

 

친애하는 Mladen, 다음 두 가지 기능 이 가능합니까?

iMA(NULL,0,MAPeriod,0,MODE_EMA,PRICE_HIGH,i);

and

iCustomMa(ma_ema,getPrice(pr_high,Open,Close,High,Low,i),MAPeriod,i,0);
(or iCustomMa(ma_ema,iMA(NULL,0,1,0,MODE_SMA,PRICE_HIGH,i),MAPeriod,i,0); )
여기서 ma_ema는 아래에 정의되어 있습니다.
#define _maWorkBufferx1 1
#define _maWorkBufferx2 2
#define _maWorkBufferx3 3
#define _maWorkBufferx5 5
double iCustomMa(int mode, double price, double length, int i, int instanceNo=0)
{
   if (length<=1) return(price);
   int r = Bars-i-1;
   switch (mode)
   {
      // ...
      case ma_ema   : return(iEma(price,length,r,instanceNo));
      // ...
      default : return(0);
   }
}

double workEma[][_maWorkBufferx1];
double iEma(double price, double period, int r, int instanceNo=0)
{
   if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars);
   //
   double alpha = 2.0 / (1.0+period);
          workEma[r][instanceNo] = workEma[r-1][instanceNo]+alpha*(price-workEma[r-1][instanceNo]);
   return(workEma[r][instanceNo]);
}
다른 값을 반환합니까(동일한 MAPeriod 및 i에 대해)? 의미할까
iEma는 내장 EMA와 약간 다르게 작동합니까?
 
wojtekpaul :

친애하는 Mladen, 다음 두 가지 기능이 가능합니까?

iMA(NULL,0,MAPeriod,0,MODE_EMA,PRICE_HIGH,i);

and

iCustomMa(ma_ema,getPrice(pr_high,Open,Close,High,Low,i),MAPeriod,i,0);
(or iCustomMa(ma_ema,iMA(NULL,0,1,0,MODE_SMA,PRICE_HIGH,i),MAPeriod,i,0); )
어디
#define _maWorkBufferx1 1
#define _maWorkBufferx2 2
#define _maWorkBufferx3 3
#define _maWorkBufferx5 5
double iCustomMa(int mode, double price, double length, int i, int instanceNo=0)
{
   if (length<=1) return(price);
   int r = Bars-i-1;
   switch (mode)
   {
      // ...
      case ma_ema   : return(iEma(price,length,r,instanceNo));
      // ...
      default : return(0);
   }
}

double workEma[][_maWorkBufferx1];
double iEma(double price, double period, int r, int instanceNo=0)
{
   if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars);
   //
   double alpha = 2.0 / (1.0+period);
          workEma[r][instanceNo] = workEma[r-1][instanceNo]+alpha*(price-workEma[r-1][instanceNo]);
   return(workEma[r][instanceNo]);
}
다른 값을 반환합니까(동일한 MAPeriod 및 i에 대해)? 의미할까
iEma는 내장 EMA와 약간 다르게 작동합니까?
EMA는 이전 값에 따라 다릅니다. 전체 시리즈에서 값을 계산한 경우 매우 유사한 값을 반환해야 합니다. 그렇지 않은 경우(하나의 값만 계산하려고 시도한 경우) iMA()가 커튼 뒤에서 전체 시리즈를 계산하는 반면 iCustomMa()는 요청한 값만 계산하므로 동일하지 않습니다.

전체 시리즈에서 iCustomMa()를 반복하면 결과가 동일해야 합니다.


추신: iEma()는 더 이상 사용되지 않습니다. 새 버전은 다음과 같이 진행됩니다(값을 변경하지는 않지만 "엄격 모드 증명").
double workEma[][_maWorkBufferx1];
double iEma( double price, double period, int r, int instanceNo= 0 )
{
   if ( ArrayRange (workEma, 0 )!= Bars ) ArrayResize (workEma, Bars );
   //
  
   workEma[r][instanceNo] = price;
   if (r> 0 && period> 1 )
          workEma[r][instanceNo] = workEma[r- 1 ][instanceNo]+( 2.0 /( 1.0 +period))*(price-workEma[r- 1 ][instanceNo]);
   return (workEma[r][instanceNo]);
}
 

빠른 답변에 감사드립니다! 할 수 있는 곳을 알려주세요

이동 평균 의 현재 코드를 찾습니다.

enum enMaTypes
{
   ma_sma,     // simple moving average - SMA
   ma_ema,     // exponential moving average - EMA
   ma_dsema,   // double smoothed exponential moving average - DSEMA
   ma_dema,    // double exponential moving average - DEMA
   ma_tema,    // tripple exponential moving average - TEMA
   ma_smma,    // smoothed moving average - SMMA
   ma_lwma,    // linear weighted moving average - LWMA
   ma_pwma,    // parabolic weighted moving average - PWMA
   ma_alxma,   // Alexander moving average - ALXMA
   ma_vwma,    // volume weighted moving average - VWMA
   ma_hull,    // Hull moving average
   ma_tma,     // triangular moving average
   ma_sine,    // sine weighted moving average
   ma_linr,    // linear regression value
   ma_ie2,     // IE/2
   ma_nlma,    // non lag moving average
   ma_zlma,    // zero lag moving average
   ma_lead,    // leader exponential moving average
   ma_ssm,     // super smoother
   ma_smoo     // smoother
};

내가 아는 한 이것은 공개 코드로 사용할 수 있는 이동 평균의 마지막 목록입니다.

(다른 MA는 이미 ex4 형식입니다).