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

 

좋은 하루 되세요. 파기 방향을 초보자에게 알려줍니다. 문제가 해결되지 않았습니다. 요지는 이렇습니다.

H4에서 막대는 실제로 닫히는 바닥에서 위로 파동을 끊고 이것이 매수 조건입니다. 우리는 산다. 이제 몇 가지 점, 뭐, 대략 10점을 가져와서 닫고(지금까지는 모든 것이 간단하고 명확했습니다) 다음 막대까지 담배를 끊어야 합니다(이것은 정확히 작동하지 않는 것입니다). 주문이 종료되는 즉시 새 주문이 열리며(조건이 계속 충족됨) 다음 막대까지 거래를 금지하는 방법은 무엇입니까?

모든 것이 간단한 것 같습니다. 솔루션이 근처 어딘가에 있다고 생각하지만 지식 (또는 두뇌)이 충분하지 않습니다)). 549 페이지를 관리하지 못했다는 것을 즉시 인정해야하며 누군가가 이미 요청한 경우 ... 너무 욕하지 마십시오))))

도와주세요, 제발

 

자주하는 질문

 
감사해요
 
ex_kalibur :

안녕하세요, 도와주세요 plz, 나는 명백한 것을 보지 못합니다 ((((

이중 LotAllPos(int op) {

정수 나;

이중인자=0;

(i=0; i<OrdersTotal(); i++) {

if (OrderType()!=op) 계속;

if (OrderSymbol()!=sy) 계속;

if (OrderMagicNumber()==매직 || OrderMagicNumber()==매직+1) ll+=OrderLots();

}

반환(ll);

여기서 내 기호 및 유형별로 합계된 볼륨을 반환해야 합니다.

 for (i= 0 ; i< OrdersTotal (); i++) {
 if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)){
   if ( OrderType ()!=op) continue ;

....
   }
 
Sepulca :


감사합니다
 

제 문제가 무엇인지 알려주세요. 변수 newlots는 0.2입니다.

어드바이저가 실행되면 Print 1이 먼저 메시지 - 1 0.2를 표시한 다음 주문을 여는 조건이 트리거되고 주문이 열리지만 선행 하는 Print 2 기능 은 메시지를 표시하지 않는데 이해할 수 없습니다. 건너뛴 이유는 조건이 작동하고 주문 기능에 대한 경로가 열려 있으면 인쇄 기능도 캡처해야 하기 때문입니다. 이 외에도 로그에는 주문이 제출되었다는 메시지가 표시되지 않습니다. 각 주문이 열릴 때 표시되는 표준 메시지입니다.

그러나 이것은 최악이 아닙니다. 주요 문제는 newlots 변수가 0.2이고 주문이 0.1의 볼륨으로 열립니다. newlots 변수가 대신 함수에 명확하게 작성되기 때문에 이것이 어떻게 가능합니까? 용량.

   Print ( "1 " ,newlots);
  
   if (условие)
    {
     if (buytime != Time[ 0 ] && buys == 0 && sells == 0 )
      {
       Print ( "2 " ,newlots);
         if ( OrderSend ( Symbol (),OP_BUY,newlots,Ask,Slippage, 0 , 0 , 0 ,MagicNumber, 0 ,BuyColor) > 0 )
          {
          buytime = Time[ 0 ];
          }
      }
    }

// пробовал даже вот так, в этом случае выводятся только первые два сообщение, причем значение выводится что newlots все таки равен 0.2, но третье сообщение
не выводится, и ордер открывается с лотом 0.1.


Print("1 ",newlots); - равен 0.2


Print("2 ",newlots); - равен 0.2

Print("3 ",newlots); - не выводится сообщение, и далее ордер открывается с лотом 0.1



Print("1 ",newlots);
  if(((Ask > (MA1+3*Point*a)) && (Open[0] < (MA1+3*Point*a)) && (Ask < (MA1+5*Point*a))) || ((Low[0] < (MA1+3*Point*a)) && (Bid > (MA1+3*Point*a)) && (Bid < (MA1+5*Point*a))))
    {
    Print("2 ",newlots);
    if(buytime != Time[0] && buys == 0 && sells == 0)
      {
      Print("3 ",newlots);
        if(OrderSend(Symbol(),OP_BUY,newlots,Ask,Slippage,0,0,0,MagicNumber,0,BuyColor) > 0)
          {
          buytime = Time[0];
          }
      }
    }

 
sss2019 :

제 문제가 무엇인지 알려주세요. 변수 newlots는 0.2입니다.

어드바이저가 실행되면 Print 1이 먼저 메시지 - 1 0.2를 표시한 다음 주문을 여는 조건이 트리거되고 주문이 열리지만 선행하는 Print 2 기능은 메시지를 표시하지 않는데 이해할 수 없습니다. 건너뛴 이유는 조건이 작동하고 주문 기능에 대한 경로가 열려 있으면 인쇄 기능도 캡처해야 하기 때문입니다. 이 외에도 로그에는 주문이 제출되었다는 메시지가 표시되지 않습니다. 각 주문이 열릴 때 표시되는 표준 메시지입니다.

그러나 이것은 최악이 아닙니다. 주요 문제는 newlots 변수가 0.2이고 주문이 0.1의 볼륨으로 열립니다. newlots 변수가 대신 함수에 명확하게 작성되기 때문에 이것이 어떻게 가능합니까? 용량.


코드에서 주문을 여는 다른 곳은 어디입니까? OrderSend 는 또 어디에 있습니까?

보여주신 섹션에서 조건이 충족되지 않으므로 이 조건의 Print 2 및 OrderSend도 열리지 않습니다. 0.2가 많은 주문은 열리지 않습니다.

다른 OrderSend가 진행 중입니다.

 
zxc :


코드에서 주문을 여는 다른 곳은 어디입니까? OrderSend는 또 어디에 있습니까?

보여주신 섹션에서 조건이 충족되지 않으므로 이 조건의 Print 2 및 OrderSend도 열리지 않습니다. 0.2가 많은 주문은 열리지 않습니다.

다른 OrderSend가 진행 중입니다.


자, 여기 있습니다

 if ( OrderSend ( Symbol (),OP_BUY,newlots,Ask,Slippage, 0 , 0 , 0 ,MagicNumber, 0 ,BuyColor) > 0 )

Expert Advisor에 OrderSend 가 하나만 있고 조건이 충족되고 주문이 열리며 얼마인지는 확실하지 않습니다.

 

알려주세요 어드바이저와 함께 세트가 오면 어느 폴더에 넣어야 하나요? 고맙습니다.

 

안녕하세요!

도움말, 파일에서 읽기, 한 줄이 있습니다(일반적으로 더 있을 수 있지만 중요하지 않음). 마치 파일의 끝이 보이지 않는 것처럼 반복됩니다...

 int qq= 0 ;
 while ( FileIsEnding (h3)==false)
 {
   int uu= 0 ;
   while ( FileIsLineEnding (h3)==false)
  { 
    Histxmas[qq][uu]= StrToDouble ( FileReadString (h3));
     Print ( "Histxmas[" ,qq, "][" ,uu, "]=" ,Histxmas[qq][uu]);
    uu+;
  }
   FileSeek (h3, 0 , SEEK_END );   
  qq++;
   Print ( "Бро зациклился, покажи мне кюкю" ,qq);
 }