[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 269

 
Annie >> :

나는 여기에 전체 코드를 제공하게 되어 기쁩니다. 그러나 그것이 비참하고 원시적이며 미완성이라는 사실에도 불구하고 여전히 전체 메시지에 적합하지 않습니다. 너무 길다고 맹세합니다. :-(

하단에 버튼이 있습니다 - 파일첨부 :))))

 
Annie >> :

이제 어떻게 해야 할까요?

NormalizeDouble(Bid,4);   //:))))
 
alsu >> :

메시지를 지배하는 동안 - 답변이 이미 왔습니다. 고맙습니다. :-) 나는 그것을 정상화하려고 노력할 것이고, 도움이 되지 않는다면 마법의 "파일 첨부" 버튼을 사용할 것이다. :-)

 
Alsu, 가격 정상화로 문제가 해결되었으며 모든 것이 작동합니다. 다운로드한 견적 아카이브에 5자리가 있을 거라고는 생각하지 못했습니다. 도와 주셔서 감사합니다. :-)
 

안녕하세요. 문제를 해결하도록 도와주세요. N-바의 세그먼트에서 RSI 표시기의 최대값을 찾는 함수를 작성했습니다.

//+--------------------------------------------------------+
//| Описание : Возвращает максимальное значение индикатора RSI, на отрезке |
//|                  N-баров.                                |
//+--------------------------------------------------------+
//| Параметры:                                               |
//| MaxRSI - максимальное значение индикатора RSI                   |
//|                                                        |
//+--------------------------------------------------------+

  double IsMaxRSI() {

  double MaxRSI = 0;


double Max_array[20];  
int c, total_c = ArraySize(Max_array);
ArraySetAsSeries(Max_array,true);
{
for(c=1; c <= total_c; c++)
  Max_array[c]= iRSI(Symbol(),RSI_TF,RSI_Period,PRICE_CLOSE,c);
}

  MaxRSI = Max_array[ArrayMaximum(Max_array,total_c,1)];


  return (MaxRSI);
}

이제 질문 자체입니다. 이 배열의 값 20을 어떻게 변수로 빼낼 수 있습니까?

double Max_array[20];


외부 변수에서 이 값 20을 변경해야 합니다... 미리 도와주셔서 감사합니다. 안부, 드미트리.

 

신호가 작동하지 않는 이유는 무엇입니까?

필터 영역을 최고점과 최저점의 포인트로 설정하고 싶었습니다. 신호가 작동하지 않습니다. 제가 뭘 잘못하고 있는 건가요?

   double hi_100 = iHigh ( Symbol ( ) , tf_100 , iHighest ( NULL , tf_100 , MODE_HIGH , hibar , n_bar ) ) ; //поиск хая наибольшего значения
   double lo_100 = iLow ( Symbol ( ) , tf_100 , iLowest ( NULL , tf_100 , MODE_LOW , lobar , n_bar ) ) ;    //поиск лоу наименьшего значения
   if ( Bid < lo_100 + zone * Point ) { open = 1 ; } //зона разрешения покупок от лоу
   else if ( Bid > hi_100 - zone * Point ) { open = - 1 ; } //зона разрешения продаж от хая

 
1Rakso >> :

신호가 작동하지 않는 이유는 무엇입니까?

필터 영역을 최고점과 최저점의 포인트로 설정하고 싶었습니다. 신호가 작동하지 않습니다. 제가 뭘 잘못하고 있는 건가요?

알아냈는데 왜 질문이 남아서 외부변수에 타임프레임을 표시할 수 없나요???

 double hi_100 = iHigh ( Symbol ( ) , 0 , iHighest ( NULL , 0 , MODE_HIGH , hibar , n_bar ) ) ; //поиск хая наибольшего значения
   double lo_100 = iLow ( Symbol ( ) , 0 , iLowest ( NULL , 0 , MODE_LOW , lobar , n_bar ) ) ;    //поиск лоу наименьшего значения
   if ( Bid < lo_100 + zone * Point ) { open = 1 ; } //зона разрешения покупок от лоу
   else if ( Bid > hi_100 - zone * Point ) { open = - 1 ; } //зона разрешения продаж от хая

 

최선을 다해 물체를 반대쪽에서 그리는 방법을 알려주십시오.

이 예에서:

         objName = "ob" + ObjectsTotal ( ) ;
         ObjectCreate ( objName , OBJ_ARROW , 0
            , xTime ( window . position )
            , pp2
         ) ;         
         ObjectSet ( objName , OBJPROP_ARROWCODE , 5 ) ; < - - > рисуется ценовая метка с лева , а надо с парава
         ObjectSet ( objName , OBJPROP_COLOR , White ) ;
         ObjectSet ( objName , OBJPROP_STYLE , 2 ) ;
도와주세요
 
NEKSUS_ >> :

최선을 다해 물체를 반대쪽에서 그리는 방법을 알려주십시오.

이 예에서:

도와주세요
 ObjectSet ( objName , OBJPROP_ARROWCODE , 5 ) ;// левая ценовая метка
ObjectSet ( objName , OBJPROP_ARROWCODE , 6 ) ; // правая ценовая метка
 
Dimi >> :

안녕하세요. 문제를 해결하도록 도와주세요. N-바의 세그먼트에서 RSI 표시기의 최대값을 찾는 함수를 작성했습니다.

//+--------------------------------------------------------+
//| Описание : Возвращает максимальное значение индикатора RSI, на отрезке |
//|                  N-баров.                                |
//+--------------------------------------------------------+
//| Параметры:                                               |
//| MaxRSI - максимальное значение индикатора RSI                   |
//|                                                        |
//+--------------------------------------------------------+

  double IsMaxRSI() {

  double MaxRSI = 0;


double Max_array[20];  
int c, total_c = ArraySize(Max_array);
ArraySetAsSeries(Max_array,true);
{
for(c=1; c <= total_c; c++)
  Max_array[c]= iRSI(Symbol(),RSI_TF,RSI_Period,PRICE_CLOSE,c);
}

  MaxRSI = Max_array[ArrayMaximum(Max_array,total_c,1)];


  return (MaxRSI);
}

이제 질문 자체입니다. 이 배열의 값 20을 어떻게 변수로 빼낼 수 있습니까?

double Max_array[20];


외부 변수에서 이 값 20을 변경해야 합니다... 미리 도와주셔서 감사합니다. 안부, 드미트리.

먼저 코드를 논리적인 순서로 배치합니다.

ArraySetAsSeries(Max_array,true) - 왜???

for(c=1; c <= total_c; c++) - 배열은 0에서 total_c-1까지 인덱싱됩니다 .