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

 
chief2000 писал(а) >>


이것은 1시간이 아니라 1분, 그런 파일의 크기는 보통 약 160MB(10년의 역사)입니다. 이것은 아마도 디스크 공간 때문일까요?





고마워, 이제 명확해! 테스터가 없으면 시작되지 않기 때문에 기록을 로드했습니다.
 
도와주세요, 제발.
포즈를 닫지 않습니다. Via Comment는 Int GetTradeSignal_Strategija_1 에서 2-2 를 모두 보여줍니다. 시도 및 Kimovsimi 기능. 무슨 일이 일어나고 있는지 이해하지 못하는 것처럼. 
파일:
pomogite.mq4  21 kb
 
다음은 ManagePositions_Strategija_1 알고리즘입니다. 그리고 내 생각에는 모든 것이 괜찮다
 
도와주세요, 제발.
어드바이저를 테스트할 때 다음 오류가 발생하는 이유는 다음과 같습니다.
OrderSend 기능 에 대한 잘못된 가격 1.50615000
그리고 아카이브에서는 모든 따옴표가 4 자리인데 8 자리 가격으로 오류가 발생합니까 ??
 
LeRus >> :
Помогите пожалуйста.
Почему когда тестирую советник выдает такую ошибку:
invalid price 1.50615000 for OrderSend function
А архиве все котировки четырехзначные а ошибку выдает с восмизначной ценой??


NormalizeDouble(가격, 자리수);

 
LeRus >> :
Помогите пожалуйста.
Почему когда тестирую советник выдает такую ошибку:
invalid price 1.50615000 for OrderSend function
А архиве все котировки четырехзначные а ошибку выдает с восмизначной ценой??



사용에 필요한 것:

 NormalizeDouble (ПЕРЕМЕННАЯ, Digits )
 
이제 모든 것이 작동합니다. 정말 감사합니다.
 
안녕하세요. 특정 기간의 가격 변동을 계산하는 지표가 있습니다.
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1  White
#property indicator_color2  Blue

extern int MAPeriod = 14 ;

// buffers
double V[];           // Собственно значения
double SmoothedValues[];

int DigitsUsed = 8 ;


int init()
{
   // ассоциируем буферы
   SetIndexBuffer ( 0 , V);
   SetIndexBuffer ( 1 , SmoothedValues);   
   // задаем настройки для буферов
   SetIndexStyle( 0 , DRAW_LINE );     // Основной сигнал будет сплошной линией
   SetIndexStyle( 1 , DRAW_LINE );     // Основной сигнал будет сплошной линией   
   IndicatorDigits(DigitsUsed);

   return ( 0 );
}

int start()
{
   int toCount = Bars - IndicatorCounted();  
   double P1,P2,P3;
   // Считаем значения
   for ( int i = toCount - 1 ; i >= 0 ; i--)
   {
       if (Open[i]>Close[i])
        {
         P1=High[i]-Low[i];
         P2=High[i]-Open[i];
         P3=Close[i]-Low[i];
        }
       if (Close[i]>Open[i])
        {
         P1=High[i]-Low[i];
         P2=High[i]-Close[i];
         P3=Open[i]-Low[i];
        }
      
      V[i] = P1+P2+P3;
   }
      
   // Считаем сглаженные значения
   for (i = toCount - 1 ; i >= 0 ; i--)
   {
      SmoothedValues[i] = NormalizeDouble (iMAOnArray(V, 0 , MAPeriod, 0 , MODE_SMA , i), DigitsUsed);
   }
      
   
   return ( 0 );
}
실수가있는 곳은이 표시기가 막대를 분 단위로 계산해야합니다. 즉 1 H에 던지고 계산 된 표시기의 모든 분을 합산합니다.
 #property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1  White

// buffers
double V[];           // Собственно значения

int init()
{
   // ассоциируем буферы
   SetIndexBuffer ( 0 , V);
   // задаем настройки для буферов
   SetIndexStyle( 0 , DRAW_HISTOGRAM );     // Основной сигнал будет сплошной линией  
   return ( 0 );
}

int start()
{
   int toCount = Bars - IndicatorCounted(); 
   // Считаем значения
   for ( int i = toCount - 1 ; i >= 0 ; i--)
    {
     double t= 0 ; //обнуляем счетчик
     int Minut1 = iBarShift( NULL , 1 ,iTime( NULL , Period (),i),false); //Сколько минут прошло в баре
     int Minut0 = iBarShift( NULL , 1 ,iTime( NULL , 1 ,i),false); //нулевая минута в баре
     for ( int k=Minut0; k<=Minut1;k++)
      {
       double K= iCustom ( NULL , 1 , "V" , 14 , 0 ,k); //Сам индикатор
       t=t+K;
      } 
     V[i]=t; //забиваем в массив
    }   
   return ( 0 );
}
진심으로, 알렉산더
 
얘들 아, 교과서와 포럼에서 주전자를 도와서 매우 명확하게 - 찾지 못했습니다.

특정 기간 M1 및 M5에 대해 어드바이저를 리메이크합니다. 거기에는 간단한 조건이 있습니다.

이중 m1=iMA(NULL,0, 기간 1,0,1,0,0);
이중 m2=iMA(NULL,0, 마침표2,0,1,0,0);
그렇다면(m1>m2) {okbuy=1;} ㅋ ㅋ ㅋ

여기에는 질문이 없습니다.
그러나 MA에 대한 조건이 하나 더 필요하지만(위에 설명된 것과 같은) 더 높은 특정 기간 D1부터(어드바이저는 M1에서 작업할 것입니다)
현재 시간대와 현재 쌍에서 현재 쌍의 표시기 데이터를 요청하는 방법 - 그러나 다른 시간대는? 그래서 나중에 이 데이터에 대한 조건을 만드는 것이 가능했습니다.
현재 기간에 더 높은 기간 및 기타 지표를 유추하여 사용하는 방법을 알려주시면 특히 감사하겠습니다. 감사해요
 
alfo13 >> :
Ребят, помогите чайнигу, в учебнике и на форуме чтобы сильно понятно - так и не нашел.

Переделываю советник под конкретный таймфрейм M1 и M5, там присутствует простое условие:

double m1=iMA(NULL,0,period1,0,1,0,0);
double m2=iMA(NULL,0,period2,0,1,0,0);
затем if(m1>m2) {okbuy=1;} бла бла бла

Здесь вопросов нет.
Но мне надо чтобы было еще одно условие по MA (по типу вышеописанного) но из старшего конкретного таймфрейма D1 (а советник будет работать на M1)
Как запросить в текущем таймфрейме и в текущей паре, данные индикатора из текущей пары - но другого таймфрема? Чтобы потом можно было по этим данным сделать условие.
Особо буду признателен, если еще подскажете как по аналогии использовать старшие таймфреймы и других индикаторов в текущем периоде. Спасибо


period1 또는 period2가 PERIOD_D1을 삽입하는 위치에