포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 920

 

여보세요

"이력 데이터로 시작" 버튼이 활성화되어 있지 않습니다.

이유는 무엇입니까?

 
mukata :

여보세요

"이력 데이터로 시작" 버튼이 활성화되어 있지 않습니다.

이유는 무엇입니까?

무엇을 시작합니까?
 
Vinin :
매개변수를 잘못 입력했습니까?
아니요, 설정이 정확합니다. 0에서 99로의 이동을 확인했습니다. 1에서 99까지의 모든 값은 표시기의 판독 값과 명확하게 일치하지만 이동 값이 0이면 데이터가 표시기와 일치하지 않습니다. 나는 그들이 어떻게 받아 들여지고 내 실수가 무엇인지 이해할 수 없습니다.
 

모두들 즐거운 연말 보내세요 :-)

여기서 어떤 문제에 직면했습니다. 보류 중인 주문 을 노출하는 기능이 있습니다. 그러나 그녀는 주어진 가격에 주문이 없는 경우에만 그것들을 노출합니다. 그런데 이상하게도 같은 가격으로 주문이 다시 들어옵니다. 다음은 주문을 하는 기능입니다.

 int fOrderOpenBuy( double PR1, double PTP){
bool chek1= false ;
   RefreshRates();
   double lts=fGetLotsSimple(OP_BUY);
       if (lts> 0 ){      
         if (!IsTradeContextBusy()){
             //double PR=Close[1]-(150*Point);
             double slts=ND(PR1- Point *StopLoss);
             if (StopLoss== 0 )slts= 0 ;
//проверка ордеров
     int   TotalOrders= OrdersTotal (); 
           for ( int i= 0 ; i<=TotalOrders; i++){
     
                 if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)== true ){
                 
                     if    (PR1==OrderOpenPrice()){chek1= true ;}   
                 Print ( "Чек " +OrderOpenPrice()+ "  " +PR1);
                 }
           }  
         if (chek1== false ) {   int irv= OrderSend ( Symbol (),OP_BUYLIMIT,lts,PR1,Slippage,slts,PTP, NULL ,Magic_N, 0 ,CLR_NONE); }
               if (irv> 0 ){
                   PlaySound ( "ok" );
                   return (irv);
               }
               else {
                   PlaySound ( "timeout" );
                   Print ( "Error open BUY. " +fMyErDesc( GetLastError ())); 
                   return (- 1 );
               }
         }
         else {
             static int lt2= 0 ;
               if ( TimeCurrent ()>lt2+ 20 ){
                  lt2= TimeCurrent ();
                   Print ( "Need open buy. Trade Context Busy" );
               }            
             return (- 2 );
         }
      }
       else {
         static int lt3= 0 ;
             if ( TimeCurrent ()>lt3+ 20 ){
               lt3= TimeCurrent ();
               if (lts==- 1 ) Print ( "Need open buy. No money" );
               if (lts==- 2 ) Print ( "Need open buy. Wrong lots size" );                  
            }
         return (- 3 );                  
      }
}  

또한 동일한 시가를 출력하지만 if (PR1==OrderOpenPrice()){chek1= true ;} 행은 실행되기를 원하지 않습니다. 왜 그런지 답해줄사람????

 

그러다가 벌써 말더듬.....

 
전문가 여러분 !!!!!전문가 고문은 테스터에서 모든 것이 정상이지만 데모와 실제를 거래하지 않습니다!

무엇이 문제일 수 있는지 말씀해 주십시오. 나는 다른 지표를 조이려고했지만 모두 작동하지만 테스터에서만 작동합니다!

파일:
 

좋은 오후에요 여러분!

제발 말해줘...

다음은 Print 함수가 메시지를 인쇄하는 두 가지 조건이 있는 코드 조각입니다.

문제.

Print 함수는 ON EACH TICK 메시지를 인쇄합니다. 첫 번째 틱에만 인쇄하고 나머지는 나머지 메시지를 인쇄하는 데 필요합니다.

첫 번째 틱 후 중지하는 방법을 알려주세요.

고맙습니다.

if (OrderSelect(Ht-1,SELECT_BY_POS, MODE_HISTORY))

if (OrderType()==OP_SELL)

X1 = 주문 이익( );

if (OrderSelect(Ht-1,SELECT_BY_POS, MODE_HISTORY))

if (OrderType()==OP_SELL)

if(X1 < 0)

인쇄(" 낮음 ", X1 );

 
solnce600 :

좋은 오후에요 여러분!

제발 말해줘...

다음은 Print 함수가 메시지를 인쇄하는 두 가지 조건이 있는 코드 조각입니다.

문제.

인쇄 기능은 ON EACH TICK 메시지를 인쇄합니다. 첫 번째 틱에만 인쇄하고 나머지 틱에는 나머지 메시지를 인쇄하는 데 필요합니다.

첫 번째 틱 후 중지하는 방법을 알려주세요.

고맙습니다.

if (OrderSelect(Ht-1,SELECT_BY_POS, MODE_HISTORY))

if (주문 유형()==OP_SELL)

X1 = 주문 이익( );

if (OrderSelect(Ht-1,SELECT_BY_POS, MODE_HISTORY))

if (주문 유형()==OP_SELL)

if(X1 < 0)

인쇄(" 낮음 ", X1 );

막대당 한 번 비율에 대해 이야기하는 경우 다음을 사용합니다.

if (b!=막대){

b=바;

}

따라서 괄호 안의 계산은 막대당 한 번만 수행됩니다...

 
nikelodeon :

막대당 한 번 비율에 대해 이야기하는 경우 다음을 사용합니다.

if (b!=막대){

b=바;

}

따라서 괄호 안의 계산은 막대당 한 번만 수행됩니다...

매우 감사합니다.

나에게 그 inf가 필요합니다. 첫 번째 분 표시줄에만 표시됩니다.

나는 당신이 제안한 옵션을 시도했지만 ..... 2와 3 모두에 대한 정보를 표시합니다. 왜냐하면 두 번째 막대가 첫 번째 막대와 같지 않고 세 번째 막대가 두 번째 막대와 같지 않기 때문에 등.

정보를 표시해야 합니다. 첫 번째 막대에서 한 번. 그리고 다음 주문이 STOP 에 의해 종료될 때까지 인쇄 기능은 "휴식"해야 합니다.

 
solnce600 :

매우 감사합니다.

정보가 필요해요. 첫 번째 분 표시줄에만 표시됩니다.

나는 당신이 제안한 옵션을 시도했지만 ..... 2와 3 모두에 대한 정보를 표시합니다. 왜냐하면 두 번째 막대가 첫 번째 막대와 같지 않고 세 번째 막대가 두 번째 막대와 같지 않기 때문에 등.

정보를 표시해야 합니다. 첫 번째 막대에서 한 번. 그리고 다음 주문이 STOP 에 의해 종료될 때까지 인쇄 기능은 "휴식"해야 합니다.

플래그를 사용해보십시오.

유형

부울 플래그=거짓;

......

if (x1<0)&&(flag==false){Print();flag=true;}

그런 다음 인쇄가 한 번 표시됩니다.

그리고 중지가 트리거 된 후 플래그를 false로 설정하면 인쇄가 다시 실행됩니다....