MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 416

 
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderMagicNumber()!=MAGIC_3 || OrderSymbol()!=SMB_) continue;        //  здеся отсеиваются ордера не со своим магиком
      if(OrderMagicNumber()==MAGIC_3 && OrderSymbol()==SMB_)                     //  здеся отсеиваются ордера не со своим магиком
        {
         if(OrderType()==OP_SELL)
           {
            ticket=OrderTicket();OpenPrice=OrderOpenPrice();SL=OrderStopLoss();TP=OrderTakeProfit();comm_=OrderComment();
        //    if( comm_ != (DoubleToString(MAGIC_3,0)+" Uni OP_SeLL") || comm_ != (DoubleToString(MAGIC_3,0)+" UNI OP_SELLSTOP") ) return(0);
            RefreshRates();
            //+------------------TAKE НА SELL------------------------------------+ берёт несвой магик
            if(TP==0)//|| SL==0)   потому и здесь закомментировано || SL==0   поменял || на &&
              {
               TP    = OpenPrice - TakeProfit*Point;
               SL    = OpenPrice + 2*TakeProfit*Point;
               Color = clrViolet;
               Print(MAGIC_3," TAKE НА SELL ticket: ",ticket,", PR ",OpenPrice," SL: ",SL," TP: ",TP," Bid: ",Bid_);
               MODE_POS_b(ticket,OpenPrice,SL,TP,Color);
              }
            RefreshRates();
            //+------------------ОТКРЫТИЕ BUYSTOP--------------------------------+
            if(SchBuyStop_b(MAGIC_3,SMB_)==0 && SchSell_b(MAGIC_3,SMB_)==2)
              {
            if( SL==0 )return(0);
               OP_CMD_ = OP_BUYSTOP;
               Price   = NormalizeDouble(SL,Digits);
               SL      = 0;
               TP      = 0;
               lts     = SchSellLots_b(MAGIC_3,SMB_)*2;
               lts     = MathRound(lts/LotStep)*LotStep; // округление объема до ближайшего допустимого
               Color   = clrYellow;   //clrGreenYellow
               comm_   = DoubleToString(MAGIC_3,0)+" UNI OP_BUYSTOP";
               Print(MAGIC_3," OP_BUYSTOP:PR  ",Price," SL: ",SL," TP: ",TP," lts: ",lts," Ask: ",Ask_);
               res=bool_OP_b(SMB_,OP_CMD_,lts,Price,SL,TP,comm_,MAGIC_3,Color);
              }
            //+------------------ОТКРЫТИЕ SELLLIMIT------------------------------+
            if(SchSellLimit_b(MAGIC_3,SMB_)==0 && TP>0 && SchSell_b(MAGIC_3,SMB_)==1)
              {
               OP_CMD_ = OP_SELLLIMIT;
               Price   = TP + 2*Point*TakeProfit;
               Price   = NormalizeDouble(Price,Digits);
               TP      = TP + Point*TakeProfit;
               SL      = NormalizeDouble(SL,Digits);
               lts     = MathRound(SchSellLots_b(MAGIC_3,SMB_)/LotStep)*LotStep; // округление объема до ближайшего допустимого
               Color   = clrMediumSpringGreen;
               comm_   = DoubleToString(MAGIC_3,0)+" UNI OP_SELLLIMIT";
               Print(MAGIC_3," OP_SELLLIMIT:PR  ",Price," SL: ",SL," TP: ",TP," lts: ",lts," Ask: ",Ask_);
               res=bool_OP_b(SMB_,OP_CMD_,lts,Price,SL,TP,comm_,MAGIC_3,Color);Sleep(1000);
              }
           }
        }
      //   break;
     }
 
Alexander Boltunov :

안녕하세요 여러분! 가격 이 수평선 을 넘을 수 있는 조건을 설정하는 방법을 알려주실 수 있나요? 그리고 이 기능을 최대 정확도로 만드는 방법(모든 틱마다 반응함)은 무엇입니까?

미리 감사드립니다))

OnDeinit에서 자신의 줄 삭제를 추가했습니다.
파일:
-LINE.mq4  6 kb
 
Artyom Trishkin :

무슨 무스?

전문용어 없이 가능한가요? 글쎄, 학교가 아니라 쉬는 시간에 앉아서 누가 "adiki"쿨러, "yo"를 가지고 있는지 토론합니다 ...

손절하다
 
ZZuretc :

if(OrderMagicNumber()!=MAGIC_3 || OrderSymbol()!=SMB_) 계속; // 고유한 마법이 없는 주문은 여기에서 필터링됩니다.
if(OrderMagicNumber()==MAGIC_3 && OrderSymbol()==SMB_) // 고유한 마법이 없는 주문은 여기에서 필터링됩니다.

두 번 상영하는 건 무리인 것 같다.

 
STARIJ :

두 번 상영하는 건 무리인 것 같다.

그러나 그들은 자신의 것이 아니라 하나의 우회가 있지만 여러 개의 셀리미트가 있습니다.
 
ZZuretc :
그러나 그들은 자신의 것이 아니라 하나의 우회가 있지만 여러 개의 셀리미트가 있습니다.
MetaEditor에서 F5를 눌러 디버거를 시작해보세요. 거기에서 변수의 값을 추적할 수 있습니다
 
STARIJ :
MetaEditor에서 F5를 눌러 디버거를 시작해보세요. 거기에서 변수의 값을 추적할 수 있습니다

지금 한 달 동안 디버깅했는데 디버깅할 수 없습니다. 경험자분들의 현명한 조언 부탁드립니다.

 
kaktyzzz :

안녕하세요, 객체 삭제를 해독하는 데 도움이됩니다. 이론적으로 Incl005_011과 같은 이름을 가진 객체는 삭제되어야하지만 삭제되지 않습니다 ((

게시한 텍스트가 디컴파일됩니다. 여기에는 그에 대한 부정적인 태도가 있습니다. 처벌 = 금지. 삭제.
 
STARIJ :
게시한 텍스트가 디컴파일됩니다. 여기에는 그에 대한 부정적인 태도가 있습니다. 처벌 = 금지. 삭제.
디컴파일러를 어디에서 이해합니까? 여부, 제거
 
ZZuretc :
수평선은 특정 PRICE에 선다. if(Bid>=0.8765){return(0);}

덕분에!