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

 
흠, 누군가 나를 도울 수 있습니까?
 
Chiripaha :

여기, Pr0t0tip 코드에서 (그리고 닉네임 - 다시 입력하는 것이 지겹습니다.)) 이 변수들은 extern int sl=100; 등)이 표시됩니다. 따라서 변수를 선언해야 올빼미 설정에 표시되며 그 후에 값을 변경하고 최적화할 수 있습니다.

이것은 내가 알고있다. 그러나 결국 사용자 함수의 외부 변수는 작동하지 않습니다. 거기에 변수가 선언됩니다. 여기 캐치가 있습니다.

그러나 나는 기능을 제거 할 수 없습니다. 주문 수정이 있습니다 ....

 
solnce600 :
그리고 위의 것은 시작일 뿐이며 그 이상은 아닙니다.

Aaaaaaaa - 여기에서 찾았습니다 ... 잘못된 위치에 삽입했습니다 - 대괄호 뒤에 변수를 삽입해야했습니다.

 int start()
  {
   bool have = true ;

   for ( int i= 0 ;i< 10 ;i++)
     {
       if (Low[i]<=Low[i+ 1 ])
       {
        have= false ; 
         break ;
       } 
     } 

   if (have)
    {
     OrderSend ( Symbol (),OP_SELL, 0.1 ,Bid, 1 ,Ask+ 1500 * Point ,Ask- 1510 * Point , "jfh" , 123 ); // действия если условие соблюдено 
    }

   return ( 0 );
  }

게다가, 그 밑에는 불필요한 else 와 하나의 중괄호가 더 있었다. 글자의 여백과 단일 구조(스타일)를 관찰하지 않고 씁니다. 모든 것을 올바르게 정렬하면 모든 오류(비일관성)가 즉시 표시됩니다. 코드를 작성할 때 주의하십시오. - 그러니 싸우면 안 된다.

 

이상한. 나는 당신의 코드가 다음과 같이 맹세합니다

'bool' - 세미콜론 필요 C:\Documents and Settings\User\My Documents\FxClub\TeleTRADE\experts\Semicolon.mq4 (33, 4)

bool에 자신의 소유 = true;

 
정확히. 그리고 그것은 논리적 반전이었습니다. 그렇지 않으면 함수가 0을 제공하여 작업을 끝냅니다. 또는 무엇입니까 ???
 
Chiripaha :

Aaaaaaaa - 여기, 찾았습니다 ... 잘못된 위치에 삽입했습니다 - 대괄호 뒤에 변수를 삽입해야했습니다.

더욱이, 불필요한 else와 하단에 하나의 대괄호가 더 있었습니다. 여백을 존중하지 않고 작성합니다. 모든 것을 올바르게 정렬하면 모든 오류(비일관성)가 즉시 표시됩니다. 코드를 작성할 때 주의하십시오. - 그러니 싸우면 안 된다.


정말 감사합니다 ....... 당신없이 나는 무엇을 할 것인가 ..... 신의 축복을 ..... 그리고 당신은 이익을 위해 다른 모든 것을 살 수 있습니다 ....
 
lottamer :

이것은 내가 압니다. 그러나 사용자 함수의 모든 외부 변수는 작동하지 않습니다. 거기에 변수가 선언됩니다. 여기 문지름이 있습니다.

그러나 나는 기능을 제거 할 수 없습니다. 주문 수정이 있습니다 ....

왜 작동하지 않습니까? - 전역 변수 를 사용자 정의 함수로 가져오면 내부에 선언된 것과 같이 동작합니다. 내부 변수의 데이터는 이 함수에서만 볼 수 있다는 것뿐입니다. 더 나아가 그 동작이 제한됩니다. 그리고 전역( extern ) 에서 변수의 값은 모든 프로그램에서 볼 수 있습니다. 그게 차이야. 그러나 외부에서 - 다시, 외부 - 변수는 설정에도 나타납니다. - 교과서야. 읽어보시면 도움이 됩니다. :)) 물론, 외부 변수를 선언할 때 함수 내부의 참조는 이 전역 변수에 제공되어야 합니다. 그리고 이름이 같지 않습니다. 그런 다음 하나의 이름으로 외부 및 내부를 모두 선언합니다. - 가능하지만 함수가 내부 변수의 값을 취하는 것 같습니다. - 정확히 기억이 나지 않습니다. 여기에서 교과서에 반드시 올라야합니다. 실험하고 싶다면 스스로 올라가십시오. 나는 보통 혼동하지 않기 위해 다른 이름을 붙인다.
 
Chiripaha :
왜 작동하지 않습니까? - 전역 변수를 사용자 정의 함수로 가져오면 내부에 선언된 것과 같이 동작합니다. 내부 변수의 데이터는 이 함수에서만 볼 수 있다는 것뿐입니다. 더 나아가 그 동작이 제한됩니다. 그리고 전역( extern ) 에서 변수의 값은 모든 프로그램에서 볼 수 있습니다. 그게 차이야. 그러나 외부에서 - 다시, 외부 - 변수는 설정에도 나타납니다. - 교과서야. 읽어보시면 도움이 됩니다. :)) 물론, 외부 변수를 선언할 때 함수 내부의 참조는 이 전역 변수에 제공되어야 합니다. 그리고 이름이 같지 않습니다. 그런 다음 하나의 이름으로 외부 및 내부를 모두 선언합니다. - 가능하지만 함수가 내부 변수의 값을 취하는 것 같습니다. - 정확히 기억이 나지 않습니다. 여기에서 교과서에 반드시 올라야합니다. 실험하고 싶다면 스스로 올라가십시오. 나는 보통 혼동하지 않기 위해 다른 이름을 붙인다.


정말 감사합니다... 겉에서 속이 안 보이면 속이 겉이 안보이는 줄 알았는데...
 

안녕하세요. 나는 간단한 Expert Advisor를 작성 했습니다(직접 배우려고 합니다). 로봇은 판매만을 위한 거래를 시작하지만 구매를 원하지 않습니다. 제가 알기로는 구매조건을 제대로 기재하지 않았거나 제대로 나누지 않았습니다. 도와주세요. 여기있어:

외부 int tp=100;

외부 int sl=100;

외부 정수 H=14;

외부 정수 M=00;

이중 ma1, ma2;

정수 시작()

{

ma1=iMA(NULL,0,18,0,MODE_SMA,PRICE_CLOSE,0);

ma2=iMA(NULL,0,36,0,MODE_SMA,PRICE_CLOSE,0);

if (OrdersTotal()==0 && iStochastic(NULL,0,50,30,3,0,1,MODE_MAIN,4)<iStochastic(NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1<ma2)

OrderSend("EURUSD", OP_SELL,0.1,Bid,0,Ask+sl*Point,Ask-tp*Point,"",123,Red);

if (OrdersTotal()==0 && iStochastic(NULL,0,50,30,3,0,1,MODE_MAIN,4)>iStochastic(NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1>ma2)

OrderSend("EURUSD", OP_BUY,0.1,Ask,0,Bid+sl*Point,Bid-tp*Point,"",123,Red);

}

리턴(0);

 
Pr0t0tip :
흠, 누군가 나를 도울 수 있습니까?

이제 봅시다. 저는 현재 경험이 많지 않습니다. 하지만 시도해보자... :)

그 동안 SRC 버튼을 사용하는 방법을 배워야 합니다. SRC 버튼을 사용하면 코드를 정확하고 아름답고 이해하기 쉽게 삽입할 수 있습니다. 당신을 도울 사람들(현재와 미래 모두)이 그것을 더 쉽게 읽을 수 있도록 하기 위함입니다. 그리고 당신은 당신의 눈을 부러 뜨립니다. :))