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

 

얘들 아, 고문과 거래하기에 좋은 DC를 알려주세요.

 
그리고 어떤 어드바이저가 궁금하면 다른 마틴이 말해주는데, 실제 계정 으로 런칭하시겠습니까?
 
Profitov :
그리고 어떤 어드바이저가 궁금하면 다른 마틴이 말해주는데, 실제 계정으로 런칭하시겠습니까?

나는 "마틴"이 어떤 종류인지 모릅니다.))) 아직 데모가 아닌 실제 계정 에 대해서는 너무 이르지만, 나중에 실제가 될 동일한 DC의 데모를 원합니다.

 
SpikeOne :

여러분, 누가 무슨 일이 일어나고 있는지 설명할 수 있습니까? +에 주문이 마감된 장소를 표시하고 새 시리즈가 열립니다.

Andrei, 기분을 상하게하지 마십시오. 그러나이 부조리는 연대기의 장소입니다!
 

모두를 환영합니다! 한 가지 흥미로운 문제를 해결하는 데 도움을 요청합니다. 어드바이저가 있습니다. 그 특징은 이익을 얻은 후 1에서 4까지의 다음 거래가 손절매 로 마감되고 다시 이익을 얻는다는 것입니다. EA는 지표의 신호에 따라 거래를 엽니다. 이익에 따른 손실을 보는 거래를 배제하려면 지표에서 떠오르는 신호를 건너뛸 필요가 있습니다. 이익을 얻은 후에 거래(1,2,3,4)하지 마십시오. 이를 위한 Sig 기능이 있습니다. 그런데 제가 이 기능을 잘못 쓴 것 같습니다. 왜냐하면 그것으로 고문은 주문을 전혀 열지 않으며 그것 없이는 모든 것이 매우 명확하게 작동합니다. 신속 똑똑한 사람들, 실수는 어디에 있습니까?

네, signal은 이익을 받은 후 신호의 수이고 pynkt는 이익의 크기(포인트)입니다.

도움을 주시면 감사하겠습니다.

void CheckForOpen()
{
   int ticket, STOPLEVEL;
   double Price, SL, TP; 
   STOPLEVEL=MarketInfo( Symbol (),MODE_STOPLEVEL);


   double MA1Low = NormalizeDouble ( iMA ( NULL , 0 ,MA_Period_2,MA_Shift_2,MA_Method_2, 0 , 1 ), Digits ); 
   double MA2High = NormalizeDouble ( iMA ( NULL , 0 ,MA_Period_2,MA_Shift_2,MA_Method_2, 1 , 1 ), Digits );
   
 
  
   if (Volume[ 0 ]> 1 ) return ;

     // продажа
   if (Open[ 1 ]>Close[ 1 ] && Open[ 1 ] > MA1Low && Close[ 1 ] < MA1Low)
   
{
       if (Pro( 1 , 100 ))

   {
       ticket= OrderSend ( Symbol (),OP_SELL,Lots,Bid,Slippage,SL,TP, "Pattern_1" , 1000 , 0 ,Red);
       return ;
    }
   
  }  
//---- buy conditions
   // покупка
   if (Open[ 1 ]<Close[ 1 ] && Open[ 1 ] < MA2High && Close[ 1 ] > MA2High)
 
 { 
   if (Pro( 1 , 100 ))
   {
      ticket= OrderSend ( Symbol (),OP_BUY,Lots,Ask,Slippage,SL,TP, "Pattern_1" , 1000 , 0 ,Blue);
       return ;
   }       
   }
}
 
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool Sig( int signal, int pynkt)
 {
   static int cnt = 0 ;
   static datetime tm;
   if (Time[ 0 ] == tm) return ( false );
  tm = Time[ 0 ];
   if ( OrderSelect (OrdersHistoryTotal()- 1 ,SELECT_BY_POS,MODE_HISTORY) == true )
   {
    cnt = cnt + 1 ;
     if (OrderType() == OP_BUY && OrderClosePrice() - OrderOpenPrice() < pynkt* Point ) cnt = 0 ;
     if (OrderType() == OP_SELL && OrderOpenPrice() - OrderClosePrice() < pynkt* Point ) cnt = 0 ;
     if (cnt >= signal) return ( true );
   }
   return ( false );
 }
//+------------------------------------------------------------------+
 
알아낼 수 있도록 도와주세요. 고문은 컴파일하지 않습니다.
//ПАРАМЕТРЫ ОТКРЫТИЯ ДЛИННОЙ ПОЗИЦИИ

if ( iCCI ( Symbol , 0 , 14 , PRICE_TYPICAL , 0 )> 100 && iCCI ( Symbol , 0 , 14 , PRICE_TYPICAL , 0 )>- 100 
{
if ((NumberOfBarOpenLastPos()> 0 ||NumberOfBarOpenLastPos()==- 1 )&&(NumberOfBarCloseLastPos()> 0 ||NumberOfBarCloseLastPos()==- 1 ))
{ 
Opn_B= true ;
//Cls_S=true;
}
}
 //ПАРАМЕТРЫ ОТКРЫТИЯ короткой ПОЗИЦИИ    
if ( iCCI ( Symbol , 0 , 14 , PRICE_TYPICAL , 0 )< 100 && iCCI ( Symbol , 0 , 14 , PRICE_TYPICAL , 0 )<- 100
{
if ((NumberOfBarOpenLastPos()> 0 ||NumberOfBarOpenLastPos()==- 1 )&&(NumberOfBarCloseLastPos()> 0 ||NumberOfBarCloseLastPos()==- 1 ))
{
Opn_S= true ; 
//Cls_B=true;   
}  
}


if (Tip== 0 ){
           if (TrailingStop> 0 )  
              {                 
               if (Bid-OrderOpenPrice()> Point *TrailingStop)
                 {
                   if (SL<Bid- Point *TrailingStop)
                    {
                     OrderModify(Ticket,OrderOpenPrice(),Bid- Point *TrailingStop,TP, 0 ,Green);
                     //return(0);
                    }
                 }
              }
}

if (Tip== 1 ){
           if (TrailingStop> 0 )  
              {                 
               if ((OrderOpenPrice()-Ask)>( Point *TrailingStop))
                 {
                   if (SL>Ask+ Point *TrailingStop)
                    {
                     OrderModify(Ticket,OrderOpenPrice(),Ask+ Point *TrailingStop,TP, 0 ,Red);
                     // return(0);
                    }
                 }
              }
}


   // Закрытие ордеров
   while ( true )                                   // Цикл закрытия орд.
     {
//длинной
//if (iRSI(NULL,0,14,PRICE_CLOSE,0)<30&&iRSI(NULL,0,14,PRICE_CLOSE,1)>30){
 if ( iCCI ( Symbol , 0 , 14 , PRICE_TYPICAL , 0 )< 100 && iCCI ( Symbol , 0 , 14 , PRICE_TYPICAL , 0 )<- 100 {  
       if (Tip== 0 )                 // Открыт ордер Buy..
        {                                       //и есть критерий закр
         Alert ( "Попытка закрыть Buy " ,Ticket, ". Ожидание ответа.." );
         RefreshRates();                         // Обновление данных
         Ans=OrderClose(Ticket,Lot,Bid, 2 );       // Закрытие Buy
         if (Ans== true )                         // Получилось :)
           {
             Alert ( "Закрыт ордер Buy " ,Ticket);
             break ;                               // Выход из цикла закр
           }
                           
            
         if (Fun_Error( GetLastError ())== 1 )       // Обработка ошибок
             continue ;                           // Повторная попытка
         return ;                                 // Выход из start()
        }
        }

// короткой       
if (Close[ NULL ]){
       if (Tip== 1 )                 // Открыт ордер Sell..
        {                                       // и есть критерий закр
         Alert ( "Попытка закрыть Sell " ,Ticket, ". Ожидание ответа.." );
         RefreshRates();                         // Обновление данных
         Ans=OrderClose(Ticket,Lot,Ask, 2 );       // Закрытие Sell
         if (Ans== true )                         // Получилось :)
           {
             Alert ( "Закрыт ордер Sell " ,Ticket);
             break ;                               // Выход из цикла закр
           }
                  
           
         if (Fun_Error( GetLastError ())== 1 )       // Обработка ошибок
             continue ;                           // Повторная попытка
         return ;                                 // Выход из start()
        }
        }
       break ;                                     // Выход из while
     }

 
niformalka :
알아낼 수 있도록 도와주세요. 고문은 컴파일하지 않습니다.

...그리고 어떤 언어의 규칙에 따라 그것을 조각 했습니까?! 예를 들어:

 if ( iCCI ( Symbol , 0 , 14 , PRICE_TYPICAL , 0 )> 100 && iCCI ( Symbol , 0 , 14 , PRICE_TYPICAL , 0 )>- 100 
{

:)

 
niformalka :
알아낼 수 있도록 도와주세요. 고문은 컴파일하지 않습니다.

컴파일 오류를 나타내는 빨간색 원을 두 번 클릭하면 오류를 찾을 줄 왼쪽에 같은 원이 표시됩니다! 여기에서는 서클이 표시되지 않습니다.

그리고 내가 당신의 시트에서 내 글을 삭제한 것처럼 당신의 게시물을 삭제하세요!

 
SpikeOne :

당신의 해는 2014년입니다
철저한 답변을 원합니다!이 브랜드를 판매 리더로 만들겠습니다.
 
niformalka :

얘들 아, 오류를 찾는 데 도움이됩니다. 고문이 컴파일되지 않습니다. 이미 머리가 깨졌습니다. 아마도 롱/숏 포지션을 열고 닫는 라인의 오류일 것입니다.


//롱 포지션을 열기 위한 매개변수

if(iCCI(Symbol,0,14,PRICE_TYPICAL,0)>100&&iCCI(Symbol,0,14,PRICE_TYPICAL,0)>-100
{
if((NumberOfBarOpenLastPos()>0||NumberOfBarOpenLastPos()==-1)&&(NumberOfBarCloseLastPos()>0||NumberOfBarCloseLastPos()==-1))
{
Opn_B=참;
//Cls_S=true;
}
}
//짧은 위치를 열기 위한 매개변수
if(iCCI(기호,0,14,PRICE_TYPICAL,0)<100&&iCCI(기호,0,14,PRICE_TYPICAL,0)<-100
{
if((NumberOfBarOpenLastPos()>0||NumberOfBarOpenLastPos()==-1)&&(NumberOfBarCloseLastPos()>0||NumberOfBarCloseLastPos()==-1))
{
Opn_S=참;
//Cls_B=참;
}
}


if(팁==0){
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(SL<Bid-Point*TrailingStop)
{
OrderModify(티켓,OrderOpenPrice(),Bid-Point*TrailingStop,TP,0,Green);
//반환(0);
}
}
}
}

if(팁==1){
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if(SL>Ask+Point*TrailingStop)
{
OrderModify(티켓,OrderOpenPrice(),Ask+Point*TrailingStop,TP,0,Red);
// 반환(0);
}
}
}
}


// 마감 주문
while(true) // 주문 마감 주기.
{
//긴
//if (iRSI(NULL,0,14,PRICE_CLOSE,0)<30&&iRSI(NULL,0,14,PRICE_CLOSE,1)>30){
if(iCCI(Symbol,0,14,PRICE_TYPICAL,0)<100&&iCCI(Symbol,0,14,PRICE_TYPICAL,0)<-100 {
if (Tip==0) // 구매 주문이 열려 있습니다..
{ //종료 기준이 있습니다.
Alert("구매를 종료하려고 합니다. ",티켓,". 응답을 기다리는 중입니다..");
새로 고침(); // 데이터 업데이트
Ans=OrderClose(티켓, 로트, 입찰, 2); // 닫기 구매
if (Ans==true) // 알았습니다 :)
{
Alert("구매 주문 마감됨",티켓);
부서지다; // 닫기 루프에서 종료
}


if (Fun_Error(GetLastError())==1) // 오류 처리
계속하다; // 재시도
반품; // start()에서 종료
}
}

// 짧은
if (닫기[NULL]){
if (Tip==1) // 매도 주문이 열렸습니다..
{ // 닫는 기준이 있습니다.
Alert("판매 종료 시도 ",티켓,". 응답을 기다리는 중입니다..");
새로 고침(); // 데이터 업데이트
Ans=OrderClose(티켓,로트,매도,2); // 닫기 판매
if (Ans==true) // 알았습니다 :)
{
Alert("판매 주문 마감됨",티켓);
부서지다; // 닫기 루프에서 종료
}


if (Fun_Error(GetLastError())==1) // 오류 처리
계속하다; // 재시도
반품; // start()에서 종료
}
}
부서지다; // 종료하는 동안
}



컴파일러가 할 수 없는 유일한 것은 변수를 선언하는 것입니다.