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

 
artmedia70 :

내가 오류의 주제를 보기 전까지는 많은 경우가 있습니다.

적십자가 있는 곳에서 매도를 청산하기 위해서는 현재 바를 확인해야 합니다. If Ask<=close level && Open[0]>close level


코드가 작동하지 않습니다. 판매 if(Ask<=PriceLow && Open[0]>PriceLow) OrderClose(OrderTicket(),OrderLots(),Ask,3,White); 전혀 닫히지 않습니다.


저와 빠른 소통을 위한 주제가 궁금하시다면 Skype alexey1979621

 
alexey1979621 :

코드가 작동하지 않습니다. 판매 if(Ask<=PriceLow && Open[0]>PriceLow) OrderClose(OrderTicket(),OrderLots(),Ask,3,White); 전혀 닫히지 않습니다.


저와 빠른 소통을 위한 주제가 궁금하시다면 Skype alexey1979621


 if (Ask<=PriceLow && High[ 1 ]>PriceLow) OrderClose(OrderTicket(),OrderLots(),Ask, 3 ,White);
 
artmedia70 :


작동하지 않았습니다. 이 부분은 if(Volume[0]>1) return;
 
alexey1979621 :

시가로 테스트하고 있습니까 ?

여기 진드기에 필요합니다

 
모든 진드기에 대한 테스트
artmedia70 :

시가로 테스트 중이신가요?

여기 진드기에 필요합니다


모든 진드기에 대한 테스트
 
alexey1979621 :
모든 틱에 대한 테스트모든 틱에 대한 테스트

그리고 매도 마감 당시 표시선 은 어디에 있었습니까?

 
alexey1979621 :

수정, 위의 화면과 같은 방법으로 거래를 마감했지만 적십자는 어디에 있습니다.

나는 ExtremeTMA가 다시 그리는 것에 동의하지만 이것이 진입점 검색에 영향을 미치지 않는다고 생각합니다. 여기서 가장 중요한 것은 필터입니다. TDI 표시기를 사용했습니다. 내가 상상한 것을 적용합니다 (즉시 손이 구부러져 프로젝트 어드바이저가 내 손과 일치한다고 말합니다). 한 가지 문제가 있습니다. 테스터에서는 1년 동안 5시간 동안 테스트했습니다(어딘가에서 오류가 났습니다). 어렵지 않다면 오류를 찾으십시오.

대략 다음 원칙에 따라 주문 정렬을 수행합니다.

 int CalculateCurrentOrders( string symbol)
  {
   int buys= 0 ,sells= 0 ;
   //----
   if ( OrdersTotal ()> 0 )
   {   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
      {   if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
         {   if (OrderSymbol()!= Symbol ())   continue ;
             if (OrderMagicNumber()!=Magic) continue ;
            {   if (OrderType()==OP_BUY)  buys++;
               if (OrderType()==OP_SELL) sells++;
            }
   }  }  }
   //---- return orders volume
   if (buys> 0 ) return (buys);
   else        return (-sells);
  }

Magic=124로 설정했지만 코드는 즉시 124로 표시됩니다. Slippage도 마찬가지로 OrderSend 및 OrderClose에서 비용이 3(3)입니다.

 
alexey1979621 :

수정, 위의 화면과 같은 방법으로 거래를 마감했지만 적십자는 어디에 있습니다.

나는 ExtremeTMA가 다시 그리는 것에 동의하지만 이것이 진입점 검색에 영향을 미치지 않는다고 생각합니다. 여기서 가장 중요한 것은 필터입니다. TDI 표시기를 사용했습니다. 내가 상상한 것을 적용합니다 (즉시 손이 구부러져 프로젝트 어드바이저가 내 손과 일치한다고 말합니다). 한 가지 문제가 있습니다 . 테스터에서는 1년 동안 5시간 동안 테스트했습니다 (어딘가에서 오류가 났습니다). 어렵지 않다면 오류를 찾으십시오.

커스텀 지표 계산의 심각성으로 인해 EA의 발사 속도가 떨어질 수 있습니다. 계산의 심각도를 확인하기 위해 거래 중인 차트에 다음 스크립트를 던지십시오. 오랫동안 코멘트가 없으면 N을 100000 이하로 줄이십시오. 한 번의 반복에 몇 밀리초가 소요되는지 확인하십시오.

 //---
int     N= 1000000 ;
//---
double PriceHigh, PriceLow, TDIHigh, TDILow, RSIPriceLine, TradeSignalLine;
int     timestart, timestop;
//---
string TimeFrame         = "current time frame" ;
int     HalfLength        = 56 ;
int     Price             = PRICE_CLOSE ;
double ATRMultiplier     = 2.0 ;
int     ATRPeriod         = 100 ;
bool    Interpolate       = true ;
double TrendThreshold    = 0.5 ;
bool    Distances         = false ;
//---
int RSI_Period           = 13 ;         //8-25
int RSI_Price            = MODE_CLOSE;           //0-6
int Volatility_Band      = 34 ;     //20-40
int RSI_Price_Line       = 2 ;      
int RSI_Price_Type       = MODE_SMA ;       //0-3
int Trade_Signal_Line    = 7 ;   
int Trade_Signal_Type    = MODE_SMA ;   //0-3
bool UseAlerts           = false ;
//===============================================
int start()
{
   timestart= GetTickCount ();
   for ( int i= 0 ;i<N;i++) 
   {  
   PriceHigh = iCustom ( Symbol (), 0 , "ExtremeTMALine" , TimeFrame, HalfLength , Price, 
                        ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 1 , 0 );
   PriceLow = iCustom ( Symbol (), 0 , "ExtremeTMALine" , TimeFrame, HalfLength , Price, 
                       ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 2 , 0 );
   TDIHigh = iCustom ( Symbol (), 0 , "TradersDynamicIndex" , RSI_Period, RSI_Price, Volatility_Band, 
                      RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type, UseAlerts, 1 , 0 );
   TDILow = iCustom ( Symbol (), 0 , "TradersDynamicIndex" , RSI_Period, RSI_Price, Volatility_Band, 
                     RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type,UseAlerts, 3 , 0 );
   RSIPriceLine = iCustom ( Symbol (), 0 , "TradersDynamicIndex" , RSI_Period, RSI_Price, Volatility_Band, 
                           RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type,UseAlerts, 4 , 0 );
   TradeSignalLine = iCustom ( Symbol (), 0 , "TradersDynamicIndex" , RSI_Period, RSI_Price, Volatility_Band, 
                              RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type,UseAlerts, 5 , 0 );
   }
   timestop= GetTickCount ();
   //---
   Comment ( " Calculation " ,N, " times was =  " ,timestop-timestart, " millisec \n" ,
           " One iteration was = " ,(timestop-timestart)/(N- 1 ), " millisec" );
   return ( 0 );
}
//---
파일:
testing_1.zip  4 kb
 
artmedia70 :

그리고 매도 마감 당시 표시선은 어디에 있었습니까?

모든 것이 화면에 있는 그대로입니다. 채널에 다시 그릴 시간이 없었습니다.
 
paladin80 , 스크립트가 내 컴퓨터를 두 번 껐습니다!