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

 
SpikeOne :


나는 주문 사이의 단계가 int 값으로 표시되고 1.7을 설정하고 두 배로 변경하여 제대로 작동하는 초기 데이터에서 jamb =)를 찾은 것 같습니다 =)


음, 건강)))) 실수를 찾으면 이해합니다. 모든 것이 더 쉬웠다는 것을 언데드라고 생각했습니다)
 
Ekburg :

그러면 나는 조수가 아닙니다) 전체 고문을 분류해야 합니다.

일반적으로 모든 것을 두 배로 변경했습니다. 지금은 잘 작동하고 나머지 포인트를 테스트해야합니다 =) 고문에게 이익을 수집하도록 강요하면 필요한 경우 배치 할 수 있습니다 =)

그리고 도움을 주셔서 감사합니다. 당신이 없었다면 나는 문제가 무엇인지 알지 못했을 것입니다 =) 나는 그것에 대해 망쳐 놓고 싶었습니다 =) 그는 그것이 작동하지 않는 이유를 이해하지 못했습니다 =) 그가 ' t 점수 =)

 
SpikeOne :

일반적으로 나는 모든 것을 두 배로 변경했습니다. 지금은 잘 작동합니다. 나머지 포인트를 테스트해야합니다 =) 고문에게 이익을 수집하도록 강요하면 필요한 경우 배치 할 수 있습니다 =)

그리고 도움을 주셔서 감사합니다. 당신이 없었다면 나는 문제가 무엇인지 알지 못했을 것입니다 =) 나는 그것에 대해 망쳐 놓고 싶었습니다 =) 그는 그것이 작동하지 않는 이유를 이해하지 못했습니다 =) 그가 ' t 점수 =)


아마도, 왜 안될까요?)

네, 아무 이유 없이)

길은 걸어가는 자의 주인이 되리라 처음에는 나도 그런 순간이 있었고 머리가 어지러웠지만 문제를 풀고 나면 어느 정도 만족감이 생기고 이 느낌은 값을 매길 수 없다)

 
신호 1 이후의 시간을 기록해야 하고 신호 2가 도착할 때까지 변경하지 않아야 하며, 신호 2를 기다리는 과정에서 신호 1은 반복적으로 발생하지만 시간은 첫 번째 신호 1을 수신한 순간부터 변경되지 않은 상태로 유지되어야 합니다 .
 
Forexman77 :
신호 1 이후의 시간을 기록해야 하고 신호 2가 도착할 때까지 변경하지 않아야 하며, 신호 2를 기다리는 과정에서 신호 1은 반복적으로 발생하지만 시간은 첫 번째 신호 1을 수신한 순간부터 변경되지 않은 상태로 유지되어야 합니다 .

 int sm;
datetime data;
if (sm== 0 ) if (сигнал 1 == true ) data= TimeLocal (); sm= 1 ;
if (sm== 1 ) if (сигнал 2 == true ) data= TimeLocal ();
 
extern bool test= false ;   // откл объектов при тесте
extern int prof= 4 ;     // уровень профита
extern int chag= 3 ;     // шаг между ордерами
extern int risk= 0 ;         //уровень риска
extern double lot = 0.01 ; // начальный лот
extern double k_lot= 2 ; // увеличение объема
extern double lot_max= 100 ; // максимальный лот
//=====================================================//
int kn= 20 ;   // величина вертикальной шкалы
int magic = 37649 ; 
extern double   BeginHour = 3 ;
bool result;
bool fail= false ; 
double gg= 0 ;
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 ( AccountBalance ()>gg)
   {
    gg= AccountBalance ();
   }
   if ( Hour () >= BeginHour )
{
if ( AccountEquity ()>=gg)
   {
 //if(AccountEquity()>=740)
   // {
 
   for ( int zx= OrdersTotal (); zx+ 1 >= 0 ; zx--)
      {
       if ( OrderSelect (zx, SELECT_BY_POS , MODE_TRADES )== true )
       OrderDelete ( OrderTicket ());
      }
   while ( OrdersTotal ()> 0 )
      {
       if ( OrderSelect ( 0 , SELECT_BY_POS , MODE_TRADES ))
         {
         if ( OrderType ()== OP_BUY ) result= OrderClose ( OrderTicket (), OrderLots (), NormalizeDouble ( MarketInfo ( OrderSymbol (), MODE_BID ), MarketInfo ( OrderSymbol (), MODE_DIGITS )), 3 ,CLR_NONE);
         if ( OrderType ()== OP_SELL ) result= OrderClose ( OrderTicket (), OrderLots (), NormalizeDouble ( MarketInfo ( OrderSymbol (), MODE_ASK ), MarketInfo ( OrderSymbol (), MODE_DIGITS )), 3 ,CLR_NONE);
         if ( OrderType ()== OP_BUYLIMIT || OrderType ()== OP_BUYSTOP || OrderType ()== OP_SELLLIMIT || OrderType ()== OP_SELLSTOP )
         OrderDelete ( OrderTicket ());
         if (result!= TRUE )
            {
            er=GetLastError();
             Print ( "LastError = " ,er, " " , Symbol ());
            }
         else er= 0 ;
         }
       else Print ( "Error when order select " , GetLastError());
      }
   if ( OrdersTotal ()== 0 ) fail= true ;
   }
}
if (fail== true ) return ( 0 );
 
   if (or_bu==risk && tick_b== 0 ) open( 0 );
   if (or_sl==risk && tick_s== 0 ) open( 1 );

일반적으로 여기에 코드가 있습니다. 시작 부분에 삽입되고 전체 부분이 아래에 제공된 위치까지 대체됩니다. 여기에 시작 부분을 삽입해야 하는 어드바이저 자체가 있습니다 https://www.mql5 .com/en/code

약 00:00에 밤을 시작하고 특정 시간까지 거래하고 그 후에 거래와 고문을 닫습니다.

 if (or_bu==risk && tick_b== 0 ) open( 0 );
if (or_sl==risk && tick_s== 0 ) open( 1 );
 
Ekburg :


조금 더 어려움이 필요합니다. 변수는 신호 1에 따라 다르므로 신호 2가 없는 동안 신호 1이 사용하는 데이터가 업데이트되어 변수가 변경되지만 변수를 한 번 변경해야 합니다. 신호 2 이후에만 변수의 후속 변경. 스위치 1이 잠시 트립되면 1을 시작하고 스위치 2가 트립될 때까지 아무 것도 변경되지 않습니다. 그러나 스위치 1은 특정 데이터를 사용하여 켜기 때문에 다시 처리하지만 하나만 필요합니다. 한번.

 
SpikeOne :

일반적으로 여기에 코드가 있습니다. 시작 부분에 삽입되고 전체 부분이 아래에 제공된 위치까지 대체됩니다. 여기에 시작 부분을 삽입해야 하는 어드바이저 자체가 있습니다 https://www.mql5 .com/en/code

약 00:00에 밤을 시작하고 특정 시간까지 거래하고 그 후에 거래와 고문을 닫습니다.


그리고 뭐?! 공장?:)
 
Forexman77 :

조금 더 어려움이 필요합니다. 변수는 신호 1에 의존하므로 신호 2가 없는 동안 신호 1이 사용하는 데이터가 업데이트되어 변수가 변경되지만 변수를 한 번 변경해야 합니다. 신호 2 이후에만 변수의 후속 변경. 스위치 1이 잠시 트립되면 1을 시작하고 스위치 2가 트립될 때까지 아무 것도 변경되지 않습니다. 그러나 스위치 1은 특정 데이터를 사용하여 켜기 때문에 다시 처리하지만 하나만 필요합니다. 한번.


나는 당신에게 기초를 주었다, 어서, 어서! 이게 무슨 게으름인지..설명도 하지 않았는데 고맙다는 말을 안 해서 썼네요;;)
 
Ekburg :

나는 당신에게 기초를 주었다, 어서, 어서! 이게 무슨 게으름인지..설명도 하지 않았는데 고맙다는 말을 안 해서 썼네요;;)
고맙습니다! 기본만 알면)