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

 
tara :

마스터는 루스탐을 부릅니다. 소개하다?
오 그래.
 
tara :

아니, 모든 것이 훌륭합니다. 사용하시는 제품은 '기능' 뿐만 아니라 작성자도 생각하지 못한 설정까지 가지고 있다는 점입니다 :) 이 제품은 정말 진지하게 조사한 농담 같은 그런 제품입니다-존경과 찬사.

제품이란 테스터를 의미합니까?

하지만 여러 쌍을 테스트했는데..... 결과는 동일합니다.

 
solnce600 :

나는 당신이 말하는 설정을 잘 이해하지 못하지만, 코드는 단순히 여러 번 반복되는 여러 줄의 원시적입니다.

하나의 어려운 조건과 주문을 여는 주문.


제품이란 TESTER를 의미합니까?

아니요, 저자는 그것을 테스터 성배 라고 불렀습니다.
 

힌트를 이해했습니다.

그러나 테스터와 실제 거래는 약간 다르다는 것을 알고 있습니다....

하지만 차이점보다 공통점이 더 많은 것 같아요.

 
solnce600 :

힌트를 이해했습니다.

그러나 테스터와 실제 거래는 약간 다르다는 것을 알고 있습니다....

하지만 차이점보다 공통점이 더 많은 것 같아요.


펠트 펜의 맛과 색은 충분하지 않습니다.
 
tara :

펠트 펜의 맛과 색은 충분하지 않습니다.

이 테스터에 대한 테스트 품질에 대한 귀하의 의견은 무엇입니까?

http://clip2net.com/s/6h6sCw

테스트 품질 면에서 MT-4의 테스터보다 훨씬 나은가요?

고맙습니다.

 
90909solnce600 :

이 테스터에 대한 테스트 품질에 대한 귀하의 의견은 무엇입니까?

http://clip2net.com/s/6h6sCw

테스트 품질 면에서 MT-4의 테스터보다 훨씬 나은가요?

고맙습니다.



나는 테스트의 품질이 무엇인지 정말로 이해하지 못하고 변경되지 않은 데이터로 결과의 반복성을 제공하는 테스터를 선호합니다(MT4 테스터는 다르게 작동합니다). 이것이 내가 종종 내 프로그램 내에서 거래 전술을 테스트하는 이유입니다.
 
tara :

나는 테스트의 품질이 무엇인지 정말로 이해하지 못하고 변경되지 않은 데이터로 결과의 반복성을 제공하는 테스터를 선호합니다(MT4 테스터는 다르게 작동합니다). 이것이 내가 종종 내 프로그램 내에서 거래 전술을 테스트하는 이유입니다.
이해했습니다 감사합니다.
 

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

 extern bool test= false ;   // откл объектов при тесте
extern int prof= 56 ;     // уровень профита
extern int chag= 36 ;     // шаг между ордерами
extern int risk= 4 ;         //уровень риска
extern double lot = 0.01 ; // начальный лот
extern double k_lot= 1.7 ; // увеличение объема
extern double lot_max= 100 ; // максимальный лот
int kn= 9 ;   // величина вертикальной шкалы
int magic = 37641 ; 
 
int k,c,b_ind,s_ind,objtot,er;
double buy_prs,sel_prs,buy_ind,sel_ind,or_bu,or_sl,prf_b,prf_s,b_pr,s_pr,b2_cls,s2_cls;
string nh;
int init()
  {
//----
 
if ( Digits == 2 ) k= 1 ;
if ( Digits == 3 ) k= 10 ;
if ( Digits == 4 ) k= 1 ;
if ( Digits == 5 ) k= 10 ;
nh= StringSubstr ( Symbol (), 2 , 2 );
 
 if (!IsTesting()){
    buy_prs= GlobalVariableGet (nh+ "_buy_prs" ); buy_ind= GlobalVariableGet (nh+ "_buy_ind" );
    sel_prs= GlobalVariableGet (nh+ "_sel_prs" ); sel_ind= GlobalVariableGet (nh+ "_sel_ind" );}
 
c= 0 ;
chag=chag*k;
prof=prof*k;
//нннннннннннннннннннннннннннн//
   return ( 0 );
  }
//============================================//
int start()
  {
//----
int i,y,tick_s,tick_b,tick_slm,tick_blm;
double prov,price_b,price_s,prof_b,prof_s,lot_b,lot_s,b_cls,s_cls,abc;
bool mod_b= false ,mod_s= false ;

   if ( Bars -c> 1 ) c= 0 ;
   i= Bars -c; c= Bars ;
 if (!IsTesting()){ for (y= 0 ;y< OrdersTotal ();y++)
   { OrderSelect (y, 0 , 0 ); if (OrderSymbol()!= Symbol ()||OrderMagicNumber()!=magic||(OrderType()!= 0 &&OrderType()!= 1 )) continue ;
      prov=prov+OrderProfit()+OrderSwap()+OrderCommission();}
   if (prov< 0 &&prov< GlobalVariableGet (nh+ "_max_prov" )) GlobalVariableSet (nh+ "_max_prov" ,prov);}
 
     for (y= 0 ;y< OrdersTotal ();y++){ OrderSelect (y, 0 );
       if ( Symbol ()!=OrderSymbol()||OrderMagicNumber()!=magic) continue ; 
       if (OrderType() == 0 || OrderType() == 1 ) abc=abc + OrderProfit() + OrderSwap() + OrderCommission();
     
       if (OrderType()== 0 ){ if (prf_b!=OrderTakeProfit() && prf_b!= 0 ) mod_b= true ; prf_b=OrderTakeProfit();}
       if (OrderType()==OP_BUY && tick_b<OrderTicket()) {
       tick_b=OrderTicket();
       price_b=OrderOpenPrice();
       lot_b=OrderLots();
       prof_b=OrderTakeProfit();}
 
       if (OrderType()== 1 ){ if (prf_s!=OrderTakeProfit() && prf_s!= 0 ) mod_s= true ; prf_s=OrderTakeProfit();}      
       if (OrderType()==OP_SELL && tick_s<OrderTicket()) {
       tick_s=OrderTicket();
       price_s=OrderOpenPrice();
       lot_s=OrderLots();
       prof_s=OrderTakeProfit();} 
 
       if (OrderType()==OP_BUYLIMIT)  tick_blm = OrderTicket();
       if (OrderType()==OP_SELLLIMIT) tick_slm = OrderTicket();}
   if (Ask>buy_prs && or_bu<= 0 ) {buy_prs=Ask; buy_ind=Ask;}
   if ((Ask<buy_prs && Ask<buy_ind) || buy_ind== 0 ) buy_ind=Ask;
   b_cls=buy_ind+ MathFloor (prof+chag/ 2 )* Point ;
   or_bu= MathFloor ((buy_prs-buy_ind)/ Point /chag); 
   if (Bid>=b_cls && or_bu> 0 ){buy_prs=Ask; buy_ind=Ask; or_bu= 0 ;}
   if (tick_b== 0 && b_ind> 0 ){buy_prs=Ask; buy_ind=Ask; or_bu= 0 ;}
 
   if ((Bid<sel_prs||sel_prs== 0 ) && or_sl<= 0 ) {sel_prs=Bid; sel_ind=Bid;}
   if (Bid>sel_prs && Bid>sel_ind) sel_ind=Bid;
   s_cls=sel_ind- MathFloor (prof+chag/ 2 )* Point ;
   or_sl= MathFloor ((sel_ind-sel_prs)/ Point /chag);
   if (Ask<=s_cls && or_sl> 0 ){sel_prs=Bid; sel_ind=Bid; or_sl= 0 ;}
   if (tick_s== 0 && s_ind> 0 ) {sel_prs=Bid; sel_ind=Bid; or_sl= 0 ;}
 
 if (!IsTesting()){
   GlobalVariableSet (nh+ "_buy_prs" ,buy_prs); GlobalVariableSet (nh+ "_buy_ind" ,buy_ind);
   GlobalVariableSet (nh+ "_sel_prs" ,sel_prs); GlobalVariableSet (nh+ "_sel_ind" ,sel_ind);} 
   if (tick_b== 0 && tick_blm!= 0 ) OrderDelete(tick_blm);
   if (tick_s== 0 && tick_slm!= 0 ) OrderDelete(tick_slm);
 
   if (or_bu==risk && tick_b== 0 ) open( 0 ); 
   if (or_sl==risk && tick_s== 0 ) open( 1 );
 
   if (tick_b> 0 && tick_blm== 0 && lot_b*k_lot<lot_max && Ask>price_b-chag* Point ) open_lim( 2 ,price_b,lot_b);
   if (tick_s> 0 && tick_slm== 0 && lot_s*k_lot<lot_max && Bid<price_s+chag* Point ) open_lim( 3 ,price_s,lot_s);
 
   if (mod_b) modif( 0 ,prof_b);
   if (mod_s) modif( 1 ,prof_s);
//===============================
  b_ind=tick_b;   s_ind=tick_s; 
//=================================================//
 if (!test){ if (b_pr!=buy_prs || s_pr!=sel_prs || i>= 1 || objtot!= ObjectsTotal ())
         object(buy_prs,buy_prs-chag*kn* Point , sel_prs,sel_prs+chag*kn* Point );
//======= 
 if (b_cls>buy_prs && ObjectFind ( "clsbuy" )== 0 ) ObjectDelete ( "clsbuy" ); 
 if (s_cls<sel_prs && ObjectFind ( "clsel" )== 0 )   ObjectDelete ( "clsel" );
 
 if (b_cls<buy_prs && (b2_cls!=b_cls || i>= 1 || objtot!= ObjectsTotal ())) cls( 0 ,b_cls);
 if (s_cls>sel_prs && (s2_cls!=s_cls || i>= 1 || objtot!= ObjectsTotal ())) cls( 1 ,s_cls);
 
   b2_cls=b_cls; s2_cls=s_cls;
   b_pr=buy_prs; s_pr=sel_prs;
   objtot= ObjectsTotal (); com(abc);}
//======================================================//
   return ( 0 );
  }
//нннннннннннннннннннннннннннн//
//==================================//
int open( int tip){ int tk;
   if (tip== 0 ){tk= OrderSend ( Symbol (),OP_BUY,lot,Ask, 3 , 0 , 0 , "martin" ,magic); er= GetLastError (); if (er> 0 ) err(er);
   if (tk> 0 ){ OrderSelect (tk,SELECT_BY_TICKET); OrderModify(OrderTicket(),OrderOpenPrice(), 0 ,OrderOpenPrice()+prof* Point , 0 );
       er= GetLastError (); if (er> 0 ) err(er);}}
             
   if (tip== 1 ){tk= OrderSend ( Symbol (),OP_SELL,lot,Bid, 3 , 0 , 0 , "martin" ,magic); er= GetLastError (); if (er> 0 ) err(er);    
   if (tk> 0 ){ OrderSelect (tk,SELECT_BY_TICKET); OrderModify(OrderTicket(),OrderOpenPrice(), 0 ,OrderOpenPrice()-prof* Point , 0 );
       er= GetLastError (); if (er> 0 ) err(er);}}}
//==================================//
int open_lim( int tip, double prc, double lota){ double lott= NormalizeDouble (lota*k_lot, 2 ); if (lota== 0.01 && k_lot> 1.3 )lott= 0.02 ;
   if (tip== 2 ){ OrderSend ( Symbol (),OP_BUYLIMIT,lott,prc-chag* Point , 3 , 0 ,prc-(chag-prof)* Point , "martin" ,magic, 0 );
               er= GetLastError (); if (er> 0 ) err(er);}
   if (tip== 3 ){ OrderSend ( Symbol (),OP_SELLLIMIT,lott,prc+chag* Point , 3 , 0 ,prc+(chag-prof)* Point , "martin" ,magic, 0 );}
               er= GetLastError (); if (er> 0 ) err(er);}
//==================================//
bool modif( int tp, double pf){ int y;
   if (tp== 0 ){ for (y= 0 ;y< OrdersTotal ();y++){ OrderSelect (y, 0 );
       if ( Symbol ()!=OrderSymbol() || OrderMagicNumber()!=magic || OrderType()!= 0 ) continue ;
       OrderModify(OrderTicket(),OrderOpenPrice(), 0 ,pf, 0 ); er= GetLastError (); if (er> 0 ) err(er);}}
//=======   
   if (tp== 1 ){ for (y= 0 ;y< OrdersTotal ();y++){ OrderSelect (y, 0 );
       if ( Symbol ()!=OrderSymbol() || OrderMagicNumber()!=magic || OrderType()!= 1 ) continue ;   
       OrderModify(OrderTicket(),OrderOpenPrice(), 0 ,pf, 0 ); er= GetLastError (); if (er> 0 ) err(er);}}}      
//======================================//
bool com( double abc){ Comment ( "  gubaha martin.    " ,TimeToStr( TimeLocal (), 4 ),
       "\n" , "  максим. просадка   =  " , GlobalVariableGet (nh+ "_max_prov" ), " $" ,
       "\n" , "  Текущий прибыль= " , NormalizeDouble (abc, 2 ), " $ " , 
       "\n" , "  Текущий баланс       = " , AccountBalance(), " $ " );}
//==================================//
bool object( double up_b, double dw_b, double up_s, double dw_s){
   if ( ObjectFind ( "lin_b" )==- 1 )
      { ObjectCreate ( "lin_b" , 2 , 0 ,Time[ 0 ]+ Period ()* 240 ,up_b,Time[ 0 ]+ Period ()* 240 ,dw_b);
       ObjectSet( "lin_b" , 10 , 0 );ObjectSet( "lin_b" , 6 ,DeepSkyBlue);
       ObjectSet( "lin_b" , 8 , 2 );}   
   else {ObjectSet( "lin_b" , 1 ,up_b); ObjectSet( "lin_b" , 0 ,Time[ 0 ]+ Period ()* 240 );
        ObjectSet( "lin_b" , 3 ,dw_b); ObjectSet( "lin_b" , 2 ,Time[ 0 ]+ Period ()* 240 );}      
//-------------
   if ( ObjectFind ( "lin_s" )==- 1 )
      { ObjectCreate ( "lin_s" , 2 , 0 ,Time[ 0 ]+ Period ()* 480 ,up_s,Time[ 0 ]+ Period ()* 480 ,dw_s);
       ObjectSet( "lin_s" , 10 , 0 );ObjectSet( "lin_s" , 6 ,Red);
       ObjectSet( "lin_s" , 8 , 2 );}   
   else {ObjectSet( "lin_s" , 1 ,up_s);ObjectSet( "lin_s" , 0 ,Time[ 0 ]+ Period ()* 480 );
        ObjectSet( "lin_s" , 3 ,dw_s);ObjectSet( "lin_s" , 2 ,Time[ 0 ]+ Period ()* 480 );}
//-------------
 string ln; int y,tm,tm2,col,shn; double kln;
 
   for (y= 0 ;y<=kn* 2 + 1 ;y++){ln= "kr_" +DoubleToStr(y, 0 );    
       if (y<=kn){kln=up_b-y*chag* Point ; tm= 120 ; tm2= 240 ;}
       if (y>kn && y<=kn* 2 + 1 ){kln=up_s+(y-kn- 1 )*chag* Point ; tm= 360 ; tm2= 480 ;}
       if (y==risk || y==kn+ 1 +risk) {col=Lime; shn= 3 ;} else {col=DarkGoldenrod; shn= 0 ;}
 
   if ( ObjectFind (ln)==- 1 )   
       { ObjectCreate (ln, 2 , 0 ,Time[ 0 ]+ Period ()*tm,kln,Time[ 0 ]+ Period ()*tm2,kln);
        ObjectSet(ln, 10 , 0 );ObjectSet(ln, 6 ,col); ObjectSet(ln, 8 ,shn);}
   else {ObjectSet(ln, 1 ,kln);ObjectSet(ln, 3 ,kln);ObjectSet(ln, 6 ,col); ObjectSet(ln, 8 ,shn);
        ObjectSet(ln, 0 ,Time[ 0 ]+ Period ()*tm);ObjectSet(ln, 2 ,Time[ 0 ]+ Period ()*tm2);}}}
//==============//
 bool cls( int tp, double clos){
   if (tp== 0 ){ if ( ObjectFind ( "clsbuy" )==- 1 ) 
       { ObjectCreate ( "clsbuy" , 2 , 0 ,Time[ 0 ]+ Period ()* 120 ,clos,Time[ 0 ]+ Period ()* 240 ,clos);
        ObjectSet( "clsbuy" , 10 , 0 );ObjectSet( "clsbuy" , 6 ,Magenta); ObjectSet( "clsbuy" , 8 , 3 );}
   else {ObjectSet( "clsbuy" , 1 ,clos); ObjectSet( "clsbuy" , 3 ,clos);   
        ObjectSet( "clsbuy" , 0 ,Time[ 0 ]+ Period ()* 120 ); ObjectSet( "clsbuy" , 2 ,Time[ 0 ]+ Period ()* 240 );}}
 
   if (tp== 1 ){ if ( ObjectFind ( "clsel" )==- 1 )      
       { ObjectCreate ( "clsel" , 2 , 0 ,Time[ 0 ]+ Period ()* 360 ,clos,Time[ 0 ]+ Period ()* 480 ,clos);
        ObjectSet( "clsel" , 10 , 0 ); ObjectSet( "clsel" , 6 ,Magenta); ObjectSet( "clsel" , 8 , 3 );}
   else {ObjectSet( "clsel" , 1 ,clos); ObjectSet( "clsel" , 3 ,clos);   
        ObjectSet( "clsel" , 0 ,Time[ 0 ]+ Period ()* 360 ); ObjectSet( "clsel" , 2 ,Time[ 0 ]+ Period ()* 480 );}}
       }
 
Burger :

어드바이저가 테스터에서 일하는 이유좀 알려주세요 데모계정에서는 짧은 기간을 설정해도 어드바이저는 웃기만하고 포지션은 안뜨나요?

베타 버전.0

extern double Minimum_lot = 1;//값:1;0.10;0.01

외부 이중 Price_point = 10;

extern double 이익 비율 = 20;

외부 이중 Percent_Risk = 20;

extern datetime time1 = D'24.11.2014 19:00';

외부 이중 가격1 = 1.3450;

extern datetime time2 = D'24.11.2014 19:00';

외부 이중 가격2 = 1.3560;

extern datetime Closing_time = D'24.11.2014 19:00:00';//시간 형식 dd.mm.gggg hh:mm:ss

외부 정수 AF = 100;

정수 초기화()

{

//----

//----

리턴(0);

}

//+----------------------------------------------- --------------------+

//| 전문가 시작 기능 |

//+----------------------------------------------- --------------------+

정수 시작()

{

이중 TP,SL,BBU,BBD,dLTU,dLTD,N;

문자열 주석 = NULL;

문자열 LTU,LTD;

인트 티켓;

int DSL = ((Risk_Percent/100)*AccountBalance());

int DTP = ((Profit_Percent/100)*AccountBalance());

정수 시간 = (Close_Time/3600)-(TimeLocal())/3600;

BBU = iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_UPPER,0);

BBD = iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_LOWER,0);

N = ((AccountBalance()*(Risk_Percent/100))/(Pip_Price*AF))*Min_Lot;

TP = (DSL+((Risk_Percent/100)*배)/(Pip_Price*AF*(Profit_Percent/100)))/Pip_Price;

SL = (DTP-((Risk_Percent/100)*배)/(Pip_Price*AF*(Profit_Percent/100)))/Pip_Price;

if(가격1<가격2)

{

LTU = ObjectCreate("트렌드업",OBJ_TREND,0,시간1,가격1,시간2,가격2);

dLTU = StrToDouble(LTU);

}

if(가격1>가격2)

{

LTD = ObjectCreate("트렌드다운",OBJ_TREND,0,시간1,가격1,시간2,가격2);

dLTU = StrToDouble(LTD);

}

//----

if(BBU<dLTU)

{

ticket=OrderSend(Symbol(),OP_SELL,N,Bid,3,Bid+SL*Point,Ask-TP*Point,Comment,365,Green);

}

if(닫기_시간==참)

{

OrderClose(OrderTicket(),OrderLots(),Ask,10);

}

if(BBD>dLTD)

{

ticket=OrderSend(Symbol(),OP_BUY,N,Ask,3,Bid-SL*Point,Ask+TP*Point,comment,367,Green);

}

if(닫기_시간==참)

{

OrderClose(OrderTicket(),OrderLots(),Bid,10);

}

반환(0);


당신의 해는 2014년입니다