초보자의 모험 - 페이지 9

 

팀,


전략 테스터 에서는 아직 거래를 하지 않지만 컴파일할 때 보고된 오류가 없는 곳을 가리키는 코드를 얻었습니다. 그러나 나는 뭔가에 의아해합니다.


int EntryRules(string CurrencySymbol, double TopFilter, double BottomFilter)  //Tim: string CurrencySymbol not CurrencySym right?
{

      emas_Up =  (ema7>ema14) && (ema14>sma50);
      if (emas_Up && Ask < TopFilter) // Note the TopFilter value  is a parameter passed to the function just like CurrencySymbol. These have not been defined anywhere as global variables.
         result = LONG_ENTRY;   // We have assigned the manifest constant to the local variable result 



매개변수 TopFilter 및 BottomFilter. 대신 'TopFilters' 및 'BotFilters' 매개변수를 의미합니까? (이것은 우리가 전역 수준에서 변수로 정의한 것입니다. 아래에 있는 것입니다. 이를 반영하도록 코드를 변경했는데 오류가 발생하지 않았습니다(이는 그에 따라 디버그 문을 변경하는 것을 의미함). 이에 대한 전문가의 견해는 무엇입니까?

   double TopFilters[NUM_CURRENCY_PAIRS];     // So we just define uninitialised arrays of the required size
   double BotFilters[NUM_CURRENCY_PAIRS];    // This is Step 1/2 for array building. Step 2/2 is to assign a numerical value to each element, 
 
niko :

CB, 이상형은 멀티 페어 EA를 갖는 것입니다. 이것이 Tim과 제가 구축하려고 하는 것입니다. 그러나 단일 쌍 EA는 코딩 방법을 가르쳐주기 때문에 매우 바람직합니다. 당신의 코딩 스타일은 다르며 동일/유사한 아이디어가 어떻게 다르게 코딩될 수 있는지 보는 것은 나에게 훌륭한 연습입니다. 게다가 싱글 EA를 먼저 끝내면 수동 거래에 도움이 될 거라고 생각했는데 지금은 두 코드 모두 같은 시간에 끝날 것 같습니다.

단일 및 다중이 정확히 무엇을 의미하는지 잘 모르겠습니다. 위에서 설명한 모델과 어떤 관련이 있습니까? 즉. 모든 쌍에 드롭될 수 있고 드롭된 차트 쌍에서만 거래되는 단일 EA - 드롭된 차트 쌍(유지해야 할 단일 코드베이스)만을 기반으로 모든 거래 결정을 내립니다. 나는 당신이 원하는 것을 알기 위해 용어를 바로 잡으려고 노력합니다.


CB

 

이봐 CB,

EA가 어떻게 실행되는지 막연하게 이해하지만, 내가 의미하는 것은 실행할 수 있고 한 번에 여러 쌍을 거래할 1.1 EA였습니다. 2. 특정 차트에 드롭해야 하므로 해당 차트에만 적용되는 단일 EA(문제는 3개의 다른 차트에 드롭할 수 있고 여전히 작동하는 단일 EA를 만드는 것이 가능합니까? 그 3개의 차트는?전에 시도했지만 어떤 이유로 1개의 차트만 실행되었습니다(다른 모든 차트는 실행되지 않음).

 
niko :

이봐 CB,

EA가 어떻게 실행되는지 막연하게 이해하지만, 내가 의미하는 것은 실행할 수 있고 한 번에 여러 쌍을 거래할 1.1 EA였습니다. 2. 특정 차트에 드롭해야 하므로 해당 차트에만 적용되는 단일 EA(문제는 3개의 다른 차트에 드롭할 수 있고 여전히 작동하는 단일 EA를 만드는 것이 가능합니까? 그 3개의 차트는?전에 시도했지만 어떤 이유로 1개의 차트만 실행되었습니다(다른 모든 차트는 실행되지 않음).

네, 쉽게 가능합니다. 내 EA 중 하나:

- 여러 개의 다른 차트에 놓을 수 있음(동일한 플랫폼 인스턴스에서 동시에 실행되거나 각각 별도의 플랫폼 인스턴스에서 실행되는 차트 - 무엇을 선택하든 상관없음)

- 실행 중인 차트와 연결된 쌍을 기반으로만 결정을 내립니다.

- 해당 차트와 관련된 쌍에 대해서만 거래됩니다.


CB

 

CB 감사합니다, 나는 그것을 몰랐습니다. 저는 이번 주에 2개의 코드를 비교하는 데 더 많은 시간을 할애할 것입니다. 사실 저는 두 코드를 모두 인쇄했고 무슨 일이 일어나고 있는지 더 잘 이해하기 위해 제 방 전체에 게시할 것입니다. 코딩 이면의 논리적 추론을 이해하는 것이 아마도 현재 내가 직면한 가장 어려운 문제일 것입니다.

 
niko :

CB 감사합니다, 나는 그것을 몰랐습니다. 저는 이번 주에 2개의 코드를 비교하는 데 더 많은 시간을 할애할 것입니다. 사실 저는 두 코드를 모두 인쇄했고 무슨 일이 일어나고 있는지 더 잘 이해하기 위해 제 방 전체에 게시할 것입니다. 코딩 이면의 논리적 추론을 이해하는 것이 아마도 현재 내가 직면한 가장 어려운 문제일 것입니다.

좋아, 내가 남긴 코드에서 이해하지 못하는 것을 발견하면 그냥 물어보세요.


CB.

 
CB 감사합니다. 확실히 할 것입니다! 난 지금 겪고 있어
 

CB, 당신의 지혜가 필요합니다. 컴파일러의 오류를 알아낼 수 없는 것 같습니다(그리고 이전에 발생한 오류와 동일하며 무엇을 해야할지 몰랐습니다). 오류 순입니다. 다음에 무엇을 해야 하는지 알 수 있도록 오류당 약간의 빛을 공유할 수 있습니까?


1. 설명: " 'for' - 세미콜론이 필요합니다." 이 줄이 필요하지 않기 때문에 내 이해는 어딘가에 우리의 대괄호와 함께 있습니다.

for (int c=0;c<NUM_CURRENCY_PAIRS;c++) 


2. 설명: " 'c' -expression on global scope not allowed'. 위와 같은 줄입니다. 이해가 되지 않습니다. 어떻게 전역 변수 선언을 허용하지 않을 수 있습니까? 게다가 많은 사람들이 이 코드를 사용하고 잘 작동합니다.

3. 설명 "NUM_CURRENCY_PAIRS" - 전역 범위에 대한 표현식은 허용되지 않습니다. 그러나 이미 이것을 외부에 선언했기 때문에 이보다 더 전역적일 수 없습니다!

4. 설명 : "{ 전역 범위에 대한 표현식은 허용되지 않습니다. 아래 코드의 대괄호가 마음에 들지 않는 것 같습니다.

{
   sSignal = fnGenerateSignal();						// change this to "sGignal = fnGenerateSignal();" ***done
   if (fnShouldWeTrade())
    fnTrade();                                                            // change this to "fnTrade();"**done
   return(0);
   }


감사합니다,

새긴 금

 
niko :

CB, 당신의 지혜가 필요합니다. 컴파일러의 오류를 알아낼 수 없는 것 같습니다(그리고 이전에 발생한 오류와 동일하며 무엇을 해야할지 몰랐습니다). 오류 순입니다. 다음에 무엇을 해야 하는지 알 수 있도록 오류당 약간의 빛을 공유할 수 있습니까?


1. 설명: " 'for' - 세미콜론이 필요합니다." 이 줄이 필요하지 않기 때문에 내 이해는 어딘가에 우리의 대괄호와 함께 있습니다.


2. 설명: " 'c' -expression on global scope not allowed'. 위와 같은 줄입니다. 이해가 되지 않습니다. 어떻게 전역 변수 선언을 허용하지 않을 수 있습니까? 게다가 많은 사람들이 이 코드를 사용하고 잘 작동합니다.

3. 설명 "NUM_CURRENCY_PAIRS" - 전역 범위에 대한 표현식은 허용되지 않습니다. 그러나 이미 이것을 외부에 선언했기 때문에 이보다 더 전역적일 수 없습니다!

4. 설명 : "{ 전역 범위에 대한 표현식은 허용되지 않습니다. 아래 코드의 대괄호가 마음에 들지 않는 것 같습니다.


감사합니다,

새긴 금

컴파일하려는 전체 코드를 게시할 수 있습니까? 고마워.


CB

 
당신의 소원은 내 명령입니다 (나는 '하이 플라이어'라고 말하려고했지만 온라인 사전을 확인 했는데 분명히 무례한 코멘트, 신경 쓰지 않았습니다)