포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 52

 

안녕하세요 여러분! 오늘에서야 언어를 배우기 시작했습니다. 조건이 항상 확인된다는 것을 어떻게 쓰는지 이해가 안됩니다.

시간 t(예: 15.5초와 같이 소수 자릿수가 있는 소수 자릿수까지 사용자가 초 단위로 표시)의 가격이 포인트 수 n(사용자가 정수로 표시함, 예: 5)에 대한 가격이 떨어지는 경우 ), 고문이 판매를 엽니다.

감사하다!

 
여러분, 안녕하세요. 최소한 기하학적 브라운 운동의 유형에 따라 또는 (이상적으로는))) 확률론적 허스트 지수 가 있는 Weierstrass-Mandelbrot 함수에 따라 고품질 임의 인용 생성기가 필요했습니다. 주말 때문에 필요가 생겼고 가격대에서 칠면조를 디버깅해야합니다. iTicks 스크립트를 사용할 수 없습니다. 누구든지 이와 같은 것을 구현하려고 했습니까? 아니면 직접 작성해야합니까? 사이트에 대한 검색은 아무 것도 제공하지 않았지만 아마도 당신이 찾고있는 것이 내가 찾고있는 키워드와 어떻게 든 다르게 불릴 것입니다 ...
 
expmaestro :

안녕하세요 여러분! 오늘에서야 언어를 배우기 시작했습니다. 조건이 항상 확인된다는 것을 어떻게 쓰는지 이해가 안됩니다.

시간 t(예: 15.5초와 같이 소수 자릿수가 있는 소수 자릿수까지 사용자가 초 단위로 표시)의 가격이 포인트 수 n(사용자가 정수로 표시함, 예: 5)에 대한 가격이 떨어지는 경우 ), 고문이 판매를 엽니다.

감사하다!

여기 알고리즘이 있습니다. 예에서 배우십시오.
 
고마워, 나는 그것을 알아 내려고 노력할 것이다. 이것이 정말로 나에게 필요한 것이길 바랍니다.
 
expmaestro :
고마워, 나는 그것을 알아 내려고 노력할 것이다. 이것이 정말로 나에게 필요한 것이길 바랍니다.

나는 Lucky가 유성음 원칙에 기반을 둔 것이라고 확신했지만 그렇지 않은 것으로 나타났습니다. 그런 다음 다음 패턴을 시도하십시오.

 extern int ShiftSec = 15 ;
extern int ShiftPips = 10 ;
//IIIIIIIIIIIIIIIIIII======Глобальные переменные советника======IIIIIIIIIIIIIIIIIIIIII+
datetime    gdt_NewTime;
double      gda_Price[ 0 ][ 2 ];
int         gi_size;
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
//|                  Custom expert initialization function                            |
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
void init()
{
//----
    gi_size = 0;
//---- 
}
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
//|                  Custom expert deinitialization function                          |
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
void deinit()
{
//----
//----
}
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
//|                  Custom expert iteration function                                 |
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
void start()
{       
//----
     if (gdt_NewTime == TimeCurrent ()) return ;
    gdt_NewTime = TimeCurrent ();
     if (gi_size < ShiftSec) { ArrayResize (gda_Price, gi_size + 1 ); gi_size++;}
     else
    {
         //---- Это схема к которой нужно добавить управление ордерами
         if (gda_Price[ 0 ][ 0 ] - Bid > ShiftPips * Point )
         //---- Открываемся BUY
         if (Ask - gda_Price[ 0 ][ 1 ] > ShiftPips * Point )
         //---- Открываемся SELL
         //---- Сдвигаем массив цен на 1 вниз
         double lda_tmp[][ 2 ];
         ArrayResize (lda_tmp, gi_size);
         ArrayCopy (lda_tmp, gda_Price);
         int li_IND0, li_IND1;
         for (li_IND0 = 0 ; li_IND0 < gi_size - 1 ; li_IND0++)
        {
             for (li_IND1 = 0 ; li_IND1 < 2 ; li_IND1++)
            gda_Price[li_IND0][li_IND1] = lda_tmp[li_IND0+ 1 ][li_IND1];
        }
    }
     //---- Собираем цены
    gda_Price[gi_size- 1 ][ 0 ] = Bid;
    gda_Price[gi_size- 1 ][ 1 ] = Ask;
//----
}
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
코드의 기능을 확인해야 합니다. 시간 간격은 1초의 배수로 계산됩니다. 시간 간격을 줄이는 것은 나를 위한 것이 아닙니다.
 

차트에서 단축키를 어떻게 구현할 수 있는지 알려주세요. 어드바이저에서 매개변수 값을 변경할 수 있도록 하려면 - 가능합니까? 무엇을해야합니까?

변수 유형이 bool 이라고 가정해 보겠습니다. 올바르게 이해하면 변수당 2개의 키만 필요합니다. TRUE 또는 FALSE 가 됩니다.

 

2개의 유사한 배열의 셀 값을 계산하려면 동일한 함수를 사용하지만 다른 변수를 사용해야 합니다. 배열은 1차원입니다.

그런 함수를 작성하는 방법? 그래서 가능합니까?

Расчет_Массива(Массив_1, 5.0 , 6.0 );                       // Вызов функции

void Расчет_Массива( double array[], double A, double B)   // Сама функция
  {
   for (i= 0 ; i< 10 ; i++)
     {
      array[i]= A+B*i;
     }
  }

그리고 더 많은 다차원 배열 로 이것을 할 수 있습니까? - 2, 3차원.

--------------

앰퍼샌드(&)를 추가했습니다.

 void Расчет_Массива( double & array[], double A, double B)   // Сама функция

그리고 벌었습니다... :)) 하지만 왜 필요한지 모르겠습니다. 비유로 (무작위로) 시도해 보았습니다. 알려주시면 친절히 안내해 드리겠습니다. :))

 
Chiripaha :

차트에서 단축키를 어떻게 구현할 수 있는지 알려주세요. 어드바이저에서 매개변수 값을 변경할 수 있도록 하려면 - 가능합니까? 무엇을해야합니까?

변수 유형이 bool 이라고 가정해 보겠습니다. 올바르게 이해하면 변수당 2개의 키만 필요합니다. TRUE 또는 FALSE 가 됩니다.

도서관 이 도움이 될까요?

 // 2.2.3. Функция управляет горячими клавишами терминала МТ4.
 void ServiceMetaTraderHotKeys( int nKeyMode, // Код клавиши-модификатора. Может быть только предопределённым значением из:
                                             // VK_SHIFT, VK_LSHIFT, VK_RSHIFT, VK_CONTROL, VK_LCONTROL, VK_RCONTROL, VK_MENU, VK_LMENU, VK_RMENU, VK_LWIN, VK_RWIN.
                               int nKey);     // Код дополнительной клавиши.

 // 4.1.2. Функция управляет горячими клавишами на указанном графике.
 void ServiceChartHotKeys( int hwndChart, // Системный дескриптор окна, на котором применяются горячие клавиши.
                           int nKeyMode,   // Код клавиши-модификатора. Может быть только предопределённым значением из:
                                         // VK_SHIFT, VK_LSHIFT, VK_RSHIFT, VK_CONTROL, VK_LCONTROL, VK_RCONTROL, VK_MENU, VK_LMENU, VK_RMENU, VK_LWIN, VK_RWIN.
                           int nKey);     // Код дополнительной клавиши.
이것은 새 버전의 설명입니다. 돼지 저금통에서 매개 변수는 다르게 위치합니다.
 
Zhunko :

도서관 이 도움이 될까요?

이것은 새 버전의 설명입니다. 돼지 저금통에서 매개 변수는 다르게 위치합니다.

예, Vadim, 이 질문을 작성할 때 귀하의 라이브러리를 보고 있었습니다. 그리고 나는 그것을 6개월 이상 전에 다운로드했습니다(그리고 나는 어제 새로운 것을 보았습니다). 저는 어떻게 하는지, 어떻게 사용하는지 몰라서 "이게 어떻게 가능합니까?"라고 물었습니다. 작은 예처럼요. 그런 다음 배열에 대한 함수로 직접 할 수 있었지만 여기에서는 현재 프로그래밍 기술 수준을 추측하기가 어렵습니다.