[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 644

 
Myth63 :


사실 저는 MQL 프로그래밍을 잘하지 못하며 제 Expert Advisor는 BASIC 원칙에 기반을 두고 있습니다. =) 변수가 열린 주문에 할당됩니다. 터미널에서는 내가 로그아웃했다고 말하고 주문이 열리면 이 변수의 값이 사라집니다. 여기에서는 재로그가 발생하면 열린 위치가 있는지 확인하고 로봇이 발행한 값을 변수에 할당하도록 하는 방법을 생각합니다. 그리고 테스트에 대한 고문은 나쁜 판독 값을 보여주지 않습니다.

저장하려는 항목(정보)에 따라 다음과 같은 다양한 옵션을 사용할 수 있습니다.

  • 주문 정보는 주석에 저장할 수 있으며 주석에서 읽을 수 있습니다.
  • 필요한 정보를 파일 에 기록할 수 있습니다. - 프로세스가 느립니다.
  • 음, 그리고 가장 일반적으로 사용되는 옵션은 터미널의 전역 변수에 쓰는 것입니다.
 
FelixFX :

어렵지 않다면 - 예. 내가 이해하는 한, 데이터는 주기가 완료될 때까지 업데이트되지 않습니다 ??
 int start()
{
//----
     while (! IsStopped () && IsExpertEnabled ())
    {fMineFunction();}
//----
     return ( 0 );
}
 
TarasBY :

이 무한 루프 전체에서 동일한 데이터만 사용됩니까? 새 눈금이 있는 데이터가 업데이트됩니까?
 
Myth63 :


사실 저는 MQL 프로그래밍을 잘하지 못하며 제 Expert Advisor는 BASIC 원칙에 기반을 두고 있습니다. =) 변수가 열린 주문에 할당됩니다. 터미널에서는 내가 로그아웃했다고 말하고 주문이 열리면 이 변수의 값이 사라집니다. 여기에서는 재로그가 발생하면 열린 위치가 있는지 확인하고 로봇이 발행한 값을 변수에 할당하도록 하는 방법을 생각합니다.

매직넘버를 말씀하시는건가요? 당신을 도울 정보가 충분하지 않습니다 ... 어떤 종류의 변수, 어떻게 할당되는지 - 여기에서 춤을 추어야합니다.

그리고 테스트에 대한 고문은 나쁜 판독 값을 보여주지 않습니다.

100건의 거래는 지표가 아니라 성공적인 역사의 한 조각입니다. 다음은 2-3년 동안의 수천 건의 거래입니다. 이는 이미 신뢰할 수 있습니다.
 
FelixFX :

이 무한 루프 전체에서 동일한 데이터만 사용됩니까? 새 눈금이 있는 데이터가 업데이트됩니까?
아니요. 업데이트하려면 이것이 필요합니다. 루핑에 대해 물으면 사이트 검색 엔진은 페이지 수를 보여줍니다. 읽다.
 
FelixFX :

이 무한 루프 전체에서 동일한 데이터만 사용됩니까? 새 눈금이 있는 데이터가 업데이트됩니까?
루프를 사용하면 다음 틱이 올 때까지 기다리지 않고 "원 안에" 기능을 실행할 수 있습니다. 어떤 데이터를 묻는 건가요?
 
pliz는 각 틱 이 아니라 각 막대가 열릴 때 내가 작성한 일부 기능을 실행할 수 있도록 내장 기능이 있는지 알려주세요. 손으로 작성하면 어렵지 않을 것 같지만, 코드의 일부는 틱으로, 일부는 막대로 실행하면 프로그램이 많이 혼란스러워집니다) 미리 감사합니다)
 
Qwertee :
pliz는 내가 작성한 특정 기능을 실행할 수 있도록 내장 기능이 있는지 알려주세요. 각 틱이 아니라 각 막대가 열릴 때만 실행할 수 있습니다. 손으로 작성하면 어렵지 않을 것 같지만, 코드의 일부는 틱으로, 일부는 막대로 실행하면 프로그램이 많이 혼란스러워집니다) 미리 감사합니다)

따라서 새 막대를 여는 순간을 결정하고 기능을 수행하면 됩니다.

막대가 열리는 시간을 기억하고 0 막대의 현재 시간과 비교하여 새 막대의 모양을 결정할 수 있습니다. 새 시간이 이전 시간보다 크면 새 막대가 있습니다.

 

sergeev 조언 감사합니다. 효과적인 것 같습니다)

알았어 잠시만 더

내 EA에는 다음 분기가 있습니다.

if( 마침표== "M15")
{
// 오픈 바이 확인
경고(구매);

if(구매=="구매")

경고(1);

..............

}

일반적으로 어리석게 중첩 된 경우. 하지만. if(period=="M15") 조건이 충족되고 경고가 결과를 제공하고 구매하는 동안 if(buysell=="buy") 조건이 충족되지 않고 Alert(1) 명령이 실행되지 않습니다. 지옥, 그러나 두 조건 모두 구문 론적으로 동일하지만 왜 하나는 충족되고 다른 하나는 충족되지 않습니까?

 
sergeev :

따라서 새 막대를 여는 순간을 결정하고 기능을 수행하면 됩니다.

막대가 열리는 시간을 기억하고 0 막대의 현재 시간과 비교하여 새 막대의 모양을 결정할 수 있습니다. 새 시간이 이전 시간보다 크면 새 막대가 있습니다.

여기에 뭔가를 쓸 것입니다:

 int time.marker;

void start() {
   if (time.marker!=Time[ 0 ]) {
      time.marker=Time[ 0 ];
       // тут то что буде исполнятся только на открытии бара
      }
   // тут то что буде исполнятся на каждом тике
   }