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

 
FAQ :

절대 그것에 의존하지 않습니다. 아마도 다른 것에서 올 수 있지만 진드기가 아닌 것입니다. 나는 그것을 확인했습니다. 일반적으로 새 빌드에서는 어드바이저 흐름에 대한 터미널의 동작이 완전히 변경되었습니다. 이제 루프된 Expert Advisor는 터미널 자체의 작동에 관계없이 루프의 모든 반복을 정확하게 수행합니다. 이전 버전에서는 기본 스레드가 로드될 때 지연이 있었습니다. 그리고 그건 그렇고, 프로세서가 소비하는 리소스의 양이 급격히 감소했습니다 (루프 어드바이저에 의해)
나는 또한 터미널에 대해 비슷한 경험을 했습니다. 반복되는 것이 없었습니다. 터미널이 무언가를 처리하고 있는 것처럼 보였습니다... 마우스로 "속성" 창을 반복적으로 호출하려고 했을 때 - 5-8에서 시도 - 그것은 성공적으로 열렸습니다 ...
 
Roman. :
나는 또한 터미널에 대해 비슷한 경험을 했습니다. 반복되는 것이 없었습니다. 터미널이 무언가를 처리하고 있는 것처럼 보였습니다... 마우스로 "속성" 창을 반복적으로 호출하려고 했을 때 - 5-8에서 시도 - 그것은 성공적으로 열렸습니다 ...

가능하지만 티키와는 관련이 없습니다.
 
FAQ :

가능하지만 티키와는 관련이 없습니다.

분명한.
 

주제가 틀리지 않았으면 합니다. )

질문은 다소 멍청하지만 오랫동안 고정되어 있습니다.

정수 합계=OrdersTotal();

정수 Q, W;
if (총 == Q+W)

그런 다음 여러 다른 주문이 열립니다. 일부는 Q 아래에 있고 나머지는 W 아래에 있습니다. 주문(예: Q)이 닫히면 Q를 다시 열어야 하는 방식으로 만드는 방법 ... 그렇지 않으면 이제 모두 닫힐 때만 다시 열립니다 - Q 및 W

 
Keda :

주제가 틀리지 않았으면 합니다. )

질문은 다소 멍청하지만 오랫동안 고정되어 있습니다.

정수 합계=OrdersTotal();

정수 Q, W;
if (총 == Q+W)

그런 다음 여러 다른 주문이 열립니다. 일부는 Q 아래에 있고 나머지는 W 아래에 있습니다. 주문(예: Q)이 닫히면 Q를 다시 열어야 하는 방식으로 만드는 방법 ... 그렇지 않으면 이제 모두 닫힐 때만 다시 열립니다 - Q 및 W


판단할 수 있는 한 변수 Q와 W는 정수입니다.

또한, 일부 정수에 대한 주문이 열리며(어떻게 합니까?) 어떤 정수를 다시 열기 위해 (일부 정수의) 주문이 닫혀 있는 경우 어떻게 해야 하는지 묻습니다. 이제 두 개의 정수를 닫으면 열립니다(무엇, 무엇?).

질문은 훌륭합니다. 당신은 올바르게 말했습니다 : "질문은 멍청한 놈입니다." 맞습니다. 질문을 잘 하지 않습니다. 질문을 할 때 멍청한 짓을 하지 말고 이해할 수 있는 방식으로 질문하는 연습을 하세요.

그 동안에는 여기 로 가는 것이 좋습니다.

 

질문에서 질문자가 mql4의 완전한 초보자임을 알 수 있습니다. 답변 감사합니다. 이제 문제가 무엇인지 이해했습니다.

나는 이해하려고 노력했고, 더 혼란스러웠다. 로트를 여는 데는 제한이 있으며 2개 이하입니다. 2개의 다른 로트가 열립니다. 그들은 함께 일해야 합니다. 그 중 하나가 닫히면 닫힌 것을 다시 열려면 어떻게 해야 합니까? 그런 다음 1이 닫히면 다른 하나가 작동하고 둘 다 닫힐 때만 2개의 로트가 열립니다. 조언 감사히 받겠습니다

 
yosuf :
인터넷이 자주 사라지는데 프로그래밍 방식으로 다시 시작을 자동화할 수 있습니까? 또는이 방향으로 알려진 것은 무엇입니까? 어떤 의미에서 병렬로 둘 이상의 공급자로부터 동시에 전원을 공급할 수 있는 방법이 있습니까? 미리 감사드립니다.
VPS 서비스를 사용하는 것이 돈을 위해 더 쉽고 더 안정적입니다.
 
Keda :

질문에서 질문자가 mql4의 완전한 초보자임을 알 수 있습니다. 답변 감사합니다. 이제 문제가 무엇인지 이해했습니다.

나는 이해하려고 노력했고, 더 혼란스러웠다. 로트를 여는 데는 제한이 있으며 2개 이하입니다. 2개의 다른 로트가 열립니다. 그들은 함께 일해야 합니다. 그 중 하나가 닫히면 닫힌 것을 다시 열려면 어떻게 해야 합니까? 그런 다음 1이 닫히면 다른 하나가 작동하고 둘 다 닫힐 때만 2개의 로트가 열립니다. 조언 감사히 받겠습니다


이제 명확해졌습니다. 다음은 스케치의 예입니다.

 int    Magic= 123 ;

double Lot_Q= 0.01 ;
double Lot_W= 0.05 ;

bool    Flag_Q=False;
bool    Flag_W=False;


//Просматриваем все открытые ордера

for ( int i = OrdersTotal () - 1 ; i >= 0 ; i--) 
  {
   OrderSelect (i, SELECT_BY_POS, MODE_TRADES);
   if ( OrderSymbol () == Symbol () && OrderMagicNumber () == Magic) //Если это ордер данного символа и магика (т.е. открыт данным советником)
     {
       if ( OrderLots ()==Lot_Q) Flag_Q=True; //Если ордер с объемом Q есть среди открытых, присваиваем флагу Q истину.
       if ( OrderLots ()==Lot_W) Flag_W=True; //Если ордер с объемом W есть среди открытых, присваиваем флагу W истину.
     }
   }


//Проверяем условия нужности открытия - индикаторы, другие сигналы, и что там у Вас еще. И если есть сигнал

if (Flag_Q==False) //Только если ордер Q не открыт в настоящий момент
  {
   //Открытие ордера Q
  }

if (Flag_W==False) //Только если ордер W не открыт в настоящий момент
  {
   //Открытие ордера W
  }
 
좋아요, 바로 이것입니다. 감사해요
 

나 또 안녕! 좀 더 간결하게 작성하는 방법을 알려주실 수 있나요?

         for (i= 4 ; i< 7 ; i++){
        sum+=GetPrcD1(symb[i]);
        Content[ 5 ][ 1 ]= DoubleToStr (sum/ 3 , 3 );
        }
        
         for (i= 7 ; i< 10 ; i++){
        sum+=GetPrcD1(symb[i]);
        Content[ 6 ][ 1 ]= DoubleToStr (sum/ 3 , 3 );
        }

         for (i= 10 ; i< 13 ; i++){
        sum+=GetPrcD1(symb[i]);
        Content[ 7 ][ 1 ]= DoubleToStr (sum/ 3 , 3 );
        }

         for (i= 13 ; i< 16 ; i++){
        sum+=GetPrcD1(symb[i]);
        Content[ 8 ][ 1 ]= DoubleToStr (sum/ 3 , 3 );
        }

         for (i= 16 ; i< 19 ; i++){
        sum+=GetPrcD1(symb[i]);
        Content[ 9 ][ 1 ]= DoubleToStr (sum/ 3 , 3 );
        }