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

 

exe 연결을 복원해도 도움이 되지 않았습니다. cool-reader는 실행 파일입니다. 도움이 될 것이라고 생각했습니다. 불쌍해. 다른 것이 있습니까? 거기에는 다른 파일 확장자에 대한 링크가 있지만 fb2는 없습니다.
 
belous :

얘들아... 누가 알겠어!!!!


전략의 본질: 확률적 신호(5,14,3)에 진입하고 다른 기간(5,3,3)이 있는 확률론적 신호에서도 종료합니다. 그래서 역 신호가 아닌 스토캐스틱에서 출구를 만드는 방법을 이해할 수 없습니다.
문제가 있고 해결 방법을 모르겠습니다. 설명하려고 합니다.
그래서 내가 게시 한 코드에는 2 가지 기능이 있습니다.
...

SRC를 사용하여 포럼에 코드를 게시합니다. 예, 외칠 것이 없습니다.


 
안녕하세요. 어드바이저의 문제가 무엇인지 누가 알려줄 수 있습니까? 컴파일 할 때 대괄호를 넣어야한다는 오류가 발생하고 대괄호가 잘못 설정되었다는 다른 오류가 표시됩니다. 이미 전체를 깨뜨 렸습니다. 머리.
파일:
 
artemka_1981 :
안녕하세요. 어드바이저의 문제가 무엇인지 알려줄 수 있는 사람. 컴파일할 때 대괄호를 넣어야 한다는 오류가 표시되고 대괄호가 잘못 설정되었다는 또 다른 오류가 표시됩니다. 이미 전체를 깨뜨렸습니다. 머리.

닫는 중괄호를 끝에 넣으면

OrderMagicNumber() == 와 같은 행을 추가하십시오.

그 중 하나에 닫는 괄호 를 넣으면 모든 것이 컴파일됩니다.

 
주문 만료 를 올바르게 설정하는 방법을 알려주십시오. TimeCurrent()+60을 작성하려고 했는데 주문이 열리지 않습니다. 일반적으로 이 매개변수는 브로커에서 허용합니다.
 
sss2019 :
주문 만료를 올바르게 설정하는 방법을 알려주십시오. TimeCurrent()+60을 작성하려고 했는데 주문이 열리지 않습니다. 일반적으로 이 매개변수는 브로커에서 허용합니다.

60 60초가 나옵니다. 거의 설정하지 못할 가능성이 큽니다(예: 10분 제한 있음)

먼저 시도 TimeCurrent()+60*60*24 - 하루

어떤 오류 코드가 반환되는지 확인하십시오.

 
ilunga :

닫는 중괄호를 끝에 넣으면

OrderMagicNumber() == 와 같은 행을 추가하십시오.

그 중 하나에 닫는 괄호를 넣으면 모든 것이 컴파일됩니다.

안녕하세요. 대괄호를 추가하고 이제 다음 오류 '\end_of_program'을 넣습니다 - 불균형 왼쪽 괄호. 불분명( 그 중 하나에 닫는 괄호 를 넣으십시오)

if (tim< iTime ( Symbol (), PERIOD_D1 , 0 )) return ( 1 );
 return ( 0 );
 }
 
 OrderMagicNumber ()

 
artemka_1981 :
안녕하세요. 대괄호를 추가하고 이제 다음 오류 '\end_of_program'을 넣습니다 - 불균형 왼쪽 괄호. 불분명( 그 중 하나에 닫는 괄호를 넣으십시오)

다음과 같이 컴파일합니다.

 //+------------------------------------------------------------------+
//|                                                Open_Buy_Sell.mq4 |
//|                                                                  |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#define magic 999

#property link       "http://www.metaquotes.net"
extern double   _lots         = 0.01 ;
extern int      _takeProfit   = 1200 ;
extern int       maxpos       = 1 ;     // количество поз
extern bool     _trailingStop = true;
//+------------------------------------------------------------------+

int start()
  {
   double _slBuy= 0.0 ,_slSell= 0.0 , _tpBuy= 0.0 , _tpSell= 0.0 , _opBuy= 0.0 , _opSell= 0.0 ;

//if (iVolume(Symbol(),PERIOD_D1,0)>1) return;
//     if (Volume[0]>1) return;
     if (_trailingStop){ 
     _TrailingStop();
      }
   _opBuy= NormalizeDouble ( iHigh ( Symbol (), 0 , 1 ), Digits );
   _slBuy= NormalizeDouble ( iLow ( Symbol (), PERIOD_D1 , 1 ), Digits );
   _tpBuy= NormalizeDouble (Ask+_takeProfit* Point , Digits );
       if ( _opBuy<Ask && CountPos( 1 )<maxpos)
       if (barOpen(OP_BUYSTOP)== 1 ||barOpen(OP_BUY)== 1 )
         OrderSend ( Symbol (),OP_BUYSTOP,_lots,_opBuy, 15 ,_slBuy,_tpBuy, "Open_Buy_Sell" , 0 , Green );

   _opSell= NormalizeDouble ( iLow ( Symbol (), 0 , 1 ), Digits );
   _slSell= NormalizeDouble ( iHigh ( Symbol (), PERIOD_D1 , 1 ), Digits );
   _tpSell= NormalizeDouble (Bid-_takeProfit* Point , Digits );
     if (_opSell>Bid && CountPos( 0 )<maxpos)
       if (barOpen(OP_SELLSTOP)== 1 ||barOpen(OP_SELL)== 1 )
       OrderSend ( Symbol (),OP_SELLSTOP,_lots, _opSell, 15 ,_slSell,_tpSell, "Open_Buy_Sell" , 0 , Red );
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+  
 //Проверяем количесвто позиций.
   int CountPos( int type) 
{ //Описание http://fxnow.ru/blog.php?user=Yuriy&blogentry_id=66

int i;
int col;
int count= 0 ;
for (i= OrdersTotal ()- 1 ; i>= 0 ; i--)
{
if ( OrderSelect (i,SELECT_BY_POS)==true)
{
if ( OrderType ()==OP_BUYSTOP && OrderSymbol ()== Symbol () && type== 1 && OrderMagicNumber ()== magic){count++;}
if ( OrderType ()==OP_SELLSTOP && OrderSymbol ()== Symbol () && type== 0 && OrderMagicNumber ()== magic){count++;}
         }
       }   
return (count);
}
//+------------------------------------------------------------------+
void _TrailingStop(){
   int i;
   double _stopLossSellF= NormalizeDouble ( iHigh ( Symbol (), 0 , 1 ), Digits ),
          _stopLossBuyF= NormalizeDouble ( iLow ( Symbol (), 0 , 1 ), Digits );
   if ( OrdersTotal ()> 0 ){
       for (i= OrdersTotal ()- 1 ; i>= 0 ; i--){
         if ( OrderSelect (i, SELECT_BY_POS)){
             if ( OrderSymbol ()== Symbol () && OrderMagicNumber ()==magic){
             
               if ( OrderType ()==OP_BUY && OrderOpenPrice () < _stopLossBuyF){
                   while ( IsTradeContextBusy ()) Sleep ( 1000 );
                   RefreshRates ();
                   OrderModify ( OrderTicket (), OrderOpenPrice (),_stopLossBuyF, OrderTakeProfit (), OrderExpiration (), CLR_NONE );
               }
           
               if ( OrderType ()==OP_SELL && OrderOpenPrice () > _stopLossSellF && _stopLossSellF!= 0.0 ){
                   while ( IsTradeContextBusy ()) Sleep ( 1000 );
                   RefreshRates ();
                   OrderModify ( OrderTicket (), OrderOpenPrice (),_stopLossSellF, OrderTakeProfit (), OrderExpiration (), CLR_NONE );
               }
            }
         }
      }
   }
return ;
}
int barOpen( int ty)
{
datetime tim= 0 ;
 for ( int i= 0 ; i<= OrdersTotal (); i++)
    {  
       if (! OrderSelect (i,SELECT_BY_POS,MODE_TRADES)) continue ;
       if ( OrderSymbol () != Symbol ()|| OrderMagicNumber ()!= magic|| OrderType ()!=ty) continue ; 
       if (tim< OrderOpenTime ())        
          tim= OrderOpenTime ();
   }
 for (i= 0 ; i<= OrdersHistoryTotal (); i++)
    {  
       if (! OrderSelect (i,SELECT_BY_POS,MODE_HISTORY)) continue ;
       if ( OrderSymbol () != Symbol ()|| OrderMagicNumber ()!= magic|| OrderType ()!=ty) continue ; 
       if (tim< OrderOpenTime ())        
          tim= OrderOpenTime ();
   }
 
if (tim< iTime ( Symbol (), PERIOD_D1 , 0 )) return ( 1 );
 return ( 0 );
}
 

OrderSend 명령을 사용하여 연속으로 두 번 주문하면 그 사이에 IsTradeAllowed 상태 확인 기능을 넣어야 합니까?

또는 필요하지 않으며 주문이 성공적으로 완료된 후에만 EA가 첫 번째 OrderSend 호출에서 두 번째 호출로 이동합니까?

IsTradeAllowed 가 여전히 설정되어야 하는 경우 while 루프에서 어떤 시간 지연을 설정해야 합니까?

 
이 줄에 오류가 있었습니까? 정말 감사합니다
 if ( OrderType ()==OP_BUYSTOP && OrderSymbol ()== Symbol () && type== 1 && OrderMagicNumber ()==MAGICMA ){count++;}
if ( OrderType ()==OP_SELLSTOP && OrderSymbol ()== Symbol () && type== 0 && OrderMagicNumber ()==MAGICMA ){count++;}
ilunga :

다음과 같이 컴파일합니다.

이제 테스트 중에 로그에서 거래를 열지 않고 Open_BuyS_SellS EURUSD,Daily: OrderSend 오류 131 이라고 표시됩니다.