확인 - 내가 무엇을 잘못 했습니까? - 페이지 7

 
Natalya Smirnova # :

아름답게 쓰는 법을 알려주세요. 코드 배열의 중복을 피하기 위해.
EA는 2개의 지표를 사용합니다.
이제 주문을 여는 조건은 다음과 같습니다.


하지만 설정에 필터를 추가하고 싶습니다
1 또는 2 표시기 사용 여부
나는 그것을 더 올바르게 구현하는 방법을 모릅니다.
다음과 같은 일이 발생합니다.

설정에서 1개 또는 두 번째 표시기를 끌 수 있도록.
많은 코드를 복사하지 않고는 어떻게 해야할지 모르겠습니다.....


 extern bool ind1= true ;
extern bool ind2= true ;

void OnTick (){

         bool buy1= true ;
         bool sell= true ;
         if (ind1){
                buy1=...
                sell2=...
        }

         bool buy1= true ;
         bool sell= true ;
         if (ind2){
                buy2=...
                sell2=...
        }       


         bool buy=buy1&&buy2;
         bool sell=sell1&&sell2;
}

한 가지 단점 - 모든 표시기가 비활성화되어 있으면 신호가 항상 존재합니다. 중요한 경우 인터넷에서 확인하고 Expert Advisor의 실행을 금지할 수 있습니다. 그러나 더 자주 전환할 수 없는 표시기가 하나 있으므로 문제가 없습니다.

 
Dmitry Fedoseev # :


한 가지 단점 - 모든 표시기가 비활성화되어 있으면 신호가 항상 존재합니다. 중요한 경우 인터넷에서 확인하고 Expert Advisor의 실행을 금지할 수 있습니다. 그러나 더 자주 전환할 수 없는 표시기가 하나 있으므로 문제가 없습니다.


이것은 Buy1, Sell1, Buy2, Sell2 변수를 초기화하여 해결됩니다.

 extern bool ind1 = true ;
extern bool ind2 = true ;

void OnTick () {

         bool buy1 = ind1 || ind2;
         bool sell1 = ind1 || ind2;
         if ( ind1 ) {
                buy1 = ...
                sell2 = ...
        }

         bool buy2 = ind1 || ind2;
         bool sell2 = ind1 || ind2;
         if ( ind2 ) {
                buy2 = ...
                sell2 = ...
        }       


         bool buy = buy1 && buy2;
         bool sell = sell1 && sell2;
}
 

그것은 모두 웅변과 같습니다.

첫째, 성공적인 거래 시스템이 있어야하고, 할 일이 없어도 아름다움과 질서를 회복 할 수 있습니다. ... 원한다면 ...

얼마나 많은 시도가 이루어질 것인가 - 수천, 수만, 얼마나 운이 좋은가 ...

그러나 이것이 실현될지는 미지수다.

따라서 거래 시스템 구축의 초기 단계에서 "더 아름답게"라는 주제로 두뇌를로드하는 것은 일반적으로 쓸모가 없습니다.

그리고 성공적인 거래가 없는 주제에 대한 웅변적인 진술 - 그들은 내가 하는 대로 하거나 어떻게 프로그래밍할 수 있는지 확인합니다 - 이것은 금융 시장에서 전혀 가치가 없는 유혹에 불과합니다.

;)