MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 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 :

Herkese selam! Lütfen bana fiyatın yatay çizgiyi geçme koşulunu nasıl ayarlayacağımı söyler misiniz? Ve bu işlevi maksimum doğrulukla nasıl yapabilirim (bu, her tikte tepki verir)?

Şimdiden teşekkürler))

OnDeinit'te satırının silinmesini ekledi
Dosyalar:
-LINE.mq4  6 kb
 
Artyom Trishkin :

Ne geyiği?

Jargon olmadan mümkün mü? Eh, okulda değil, teneffüste oturup kimin "adiki" daha havalı olduğunu tartışıyoruz, "yo" ...

kaybı durdurmak
 
ZZuretc :

if(OrderMagicNumber()!=MAGIC_3 || OrderSymbol()!=SMB_) devam ediyor; // kendi sihrine sahip olmayan siparişler burada filtrelenir
if(OrderMagicNumber()==MAGIC_3 && OrderSymbol()==SMB_) // kendi büyüsüne sahip olmayan siparişler burada filtrelenir

İki kez taramak aşırıya kaçmış gibi görünüyor

 
STARIJ :

İki kez tarama aşırıya kaçmış gibi görünüyor

ama kendi başlarına değiller ve sadece bir ara durak var, birkaç selimit var
 
ZZuretc :
ama kendi başlarına değiller ve sadece bir ara durak var, birkaç selimit var
MetaEditor'da F5 tuşuna basarak hata ayıklayıcıyı başlatmayı deneyin. Orada değişkenlerin değerlerini takip edebilirsiniz.
 
STARIJ :
MetaEditor'da F5 tuşuna basarak hata ayıklayıcıyı başlatmayı deneyin. Orada değişkenlerin değerlerini takip edebilirsiniz.

Bir aydır hata ayıklıyorum, hata ayıklayamıyorum. Burada deneyimli uzmanlardan mantıklı tavsiyeler almak istiyorum.

 
kaktyzzz :

Selamlar, nesnelerin silinmesini deşifre etmeye yardımcı olun, teoride, Incl005_011 gibi adlara sahip nesneler silinmelidir, ancak silinmezler ((

Gönderdiğiniz metin parçası ayrıştırıldı. Burada ona karşı olumsuz bir tavır var. Ceza = yasak. Silmek.
 
STARIJ :
Gönderdiğiniz metin parçası ayrıştırıldı. Burada ona karşı olumsuz bir tavır var. Ceza = yasak. Silmek.
kod çözücüyü nerede anlarım. ya da değil, kaldırıldı
 
ZZuretc :
Yatay çizgi belirli bir FİYAT değerindedir. Diyelim ki if(Bid>=0.8765){return(0);}

Sayesinde!