찻주전자의 질문 - 페이지 234

 
forward666 : 예, 시각화가 필요합니다.

테스트용: https://www.metatrader5.com/en/terminal/help/algotrading/visualization

현재 시간 모드에서 거래에 대한 도움을 아직 찾지 못했습니다. 데모 계정에서 포지션을 열고 닫으십시오.

 
Boris.45 : 좋은 오후입니다, 상인 여러분! 초보 프로그래머 를 도와주세요. 여러 시간대에 프랙탈을 사용하여 Borishpolts에서 SC(움직이는 채널) 찾기 프로그램을 작성하고 포지션을 여는 의사결정 알고리즘을 작성하기 시작했습니다. 나는 빠르게 성장하는 추세에 대한 거래의 시간 간격이 1에서 2 막대에 불과한 상황을 발견했습니다. 여기에서 상황 자체가 시사합니다. SC의 매개변수를 검색하고 계산하기 위한 블록에서 선택한 시간 프레임에 대해 작업해야 하며 주문 또는 오픈 포지션 결정은 매우 짧은 시간 프레임에 이루어져야 합니다. 그런 순간을 알려주십시오. SC의 매개 변수를 계산하는 블록이 H1 및 H4와 같은 선택한 시간 프레임에서만 작동하고 주문 결정 블록이 작동하도록 프로그램을 설계하는 방법 M1 기간. 기사에서 이 문제에 대한 해결책을 찾지 못했습니다.

관심을 가져주셔서 감사합니다.

프랙탈과는 거리가 멀지만 일반적인 순서에 대한 몇 가지 고려 사항이 있습니다. 가장 간단한 방법으로 시도해 볼 수 있습니다. H4에서 "SC 매개변수"를 계산하는 표시기를 만듭니다. 그리고 EA가 매 틱마다 이 지표를 폴링하고 주문에 대한 결정을 내리도록 합니다.
 
Yedelkin :

테스트용: https://www.metatrader5.com/en/terminal/help/algotrading/visualization

현재 시간 모드에서 거래에 대한 도움을 아직 찾지 못했습니다. 데모 계정에서 포지션을 열고 닫으십시오.

감사합니다! 시도하겠습니다!

하지만 데모 계정의 시각화를 위해 필요합니다)

 
forward666 : 하지만 데모 계정에서 시각화하기 위해 필요합니다)
데모 계정에서 작동하지 않으면 작성하십시오.
 
Yedelkin :
데모 계정에서 작동하지 않으면 작성하십시오.
알겠습니다! 오늘 밤 구독을 취소할 수 있습니다!
 
forward666 :

하지만 데모 계정의 시각화를 위해 필요합니다)


기록에서 마우스를 차트로 끌 수 있습니다(시프트 포함 - 모든 것).

!!! 컨트롤을 사용하면 차트 설정이 재설정됩니다.
 

코드에서 옳지 않은 것은?

차트에서 모든 것이 정상이며 테스터는 Array Out Of Range 오류를 표시합니다.

 #property indicator_label1   "LINE"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrGold
#property indicator_style1  STYLE_SOLID
#property indicator_width1   2

input int     period   = 10 ;       //Период усредения
input bool    USE_LIMIT= false ;     //вкл/выкл лимитирование
                                   //Заключается в ограничении максимального изменения значения индикатора
input double use_limit= 0.00005 ;   //Величина
                                   //на которую максимально может измениться индикатор

double          Buffer[];
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit ()
  {
   
   SetIndexBuffer ( 0 ,Buffer, INDICATOR_DATA );
   //PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0);
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const int begin,
                 const double &price[])
  {
//--- вычисления значений индикатора
//--- calculate the indicator values
   int start= 0 ;
//--- если расчет уже производился на предыдущем запуске OnCalculate
//--- if the calculation is made on a previous run of OnCalculate
   if (prev_calculated> 0 ) start=prev_calculated- 1 ; // установим начало расчетов с предпослденего бара -- Set the start of the penultimate bar calculations
//--- заполняем индикаторный буфер значениями
//--- fill indicator buffer values
   for ( int i=start;i<rates_total;i++)
     {
      Buffer[ 0 ]=price[ 0 ];
       double delta=(price[i]-Buffer[i])/period;
       if (USE_LIMIT && delta>use_limit)
        {
         delta=use_limit;
        }
       if (USE_LIMIT && delta<-use_limit)
        {
         delta=-use_limit;
        }
      Buffer[i+ 1 ]=Buffer[i]+delta;
     }
//--- вернем значение prev_calculated для следующего вызова функции
//--- return the value for the next call of prev_calculated function
   return (rates_total);
  }
//+------------------------------------------------------------------+
 
lazarev-dm :

코드에서 옳지 않은 것은?

차트에서 모든 것이 정상이며 테스터는 Array Out Of Range 오류를 표시합니다.


루프는 i<rates_total까지 올라가고 다음은 Buffer[ i+1] 입니다.

버퍼[rates_total] . 해당 없음. 마지막 인덱스 rate_total-1.

 
lazarev-dm :

코드에서 옳지 않은 것은?

차트의 모든 것이 정상이며 테스터는 Array Out Of Range 오류를 표시합니다.


Buffer[i+ 1 ] === +1 не делается проверка на выход за массив
 
Karlson :


루프는 i<rates_total까지 올라가고 다음은 Buffer[ i+1] 입니다.

버퍼[rates_total] . 해당 없음. 마지막 인덱스 rate_total-1.

이렇게 변경됨

i<rates_total- 1
일하는 것 같다