MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 463

 
HUNTERGOOD :

457. sayfada, paosta # 4567'de oluşturduğum istek ve ihtiyacınız olan her şey: "neye ihtiyaç duyulduğunun ve tam olarak nasıl olduğunun bir göstergesi" - aynı yerde, her şeyi açıklamak hiç de zor değil, yola çıkın her şey kısaca ve noktaya, açık ve anlaşılır bir şekilde ve ilk mesajımda bu kadar ifade edilmeyen şey, şifreden anlayan bir chela için bu kadar önemsiz bir talebimin altı sayfa boyunca görmezden gelinmesi ve sonuç olarak “ "farlarda" beni sallayın - Buraya bitlerle yazıyorum. İKİLİ TALEP:

(((^^^Herkese iyi günler. Sevgili programcılar, lütfen her Alert3.Lv1;2;3 için göstergeye bir ses dosyası belirtme yeteneği olan bir satır eklememe yardım edin, böylece farklı bir ses tetiklenir). belirtin. Ben kendim kod ve programlama anlamıyorum .^^^)))

Tabloya koymayı denedin mi, işe yarıyor mu?

 

Söyle bana: Herhangi bir emrin varlığından hemen sonra durur ve alır. Danışman emirleri açtıysa, dur ve al. Operatör siparişleri açtıysa, bir durak koyun ve alın. Bunu tanımlamanın en iyi yolu nedir? Böylece daha sonra danışman ve operatör kimin emirlerinin nerede olduğunu anlar!

Kod böyle ve her şey çalışıyor gibi görünüyor, ama doğru mu?

Yoksa her sipariş türü için (Uzman Danışman veya Operatör) FOR üzerinden bir arama mı düzenlemek gerekiyor?

Dosyalar:
STOP_TAKE.txt  4 kb
 

Nasıl: 1

2

 
Rewerpool :

Nasıl:

Burada kodlar normalde eklenir . Çoğu insan resimleri burada sıralamak için çok tembel.

 
Konstantin Nikitin :

Burada kodlar normalde eklenir . Çoğu insan burada resimleri sıralamak için çok tembel.

Ve ilk başta tüm kod eklenmiş gibi görünüyor! Sadece dosya! Mesaj . Ardından durumu kısaca resimlerle anlattı!

 

sipariş türü için (Uzman Danışman veya Operatör) FOR üzerinden bir arama mı düzenlemek gerekiyor?



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

//| FONKSİYON Açık siparişler için Durdurma ve Alımların Yerleştirilmesi |
//+------------------------------------------- --------------------+
geçersiz STOP_TAKE()
{
int ipucu, Bilet;
çift OOP,OSL,OTP;
int SPREAD = (int)MarketInfo(Symbol(),MODE_SPREAD);
if (durma kaybı<STOPLEVEL) stoploss=0;
if (takeprofit<STOPLEVEL) takeprofit=0;
for(int i=0; i<SiparişToplam(); i++)
{
if(OrderSelect(i,SELECT_BY_POS)==true)
{
ipucu=SiparişTürü();
//----------Uzman Danışmanın siparişleri ise
if(tip<2 && OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{
OSL = OrderStopLoss();
OTP = OrderTakeProfit();
if ((OSL==0&&stoploss!=0)||(OTP==0&&takeprofit!=0))
{
OOP = OrderOpenPrice();
Bilet = OrderTicket();
if (tip==OP_BUY || ipucu==OP_BUYSTOP || ipucu==OP_BUYLIMIT)
{
if (kar al!=0) TP = NormalizeDouble(OOP + kar al*Puan,Rakamlar); başka TP=OTP;
if (stoploss!=0) SL = NormalizeDouble(OOP - (stoploss+SPREAD)* Point,Rakamlar); başka SL=OSL;
if (OrderModify(Ticket,OOP,SL,TP,0,Beyaz)) Print("SetStop ",Ticket," SL ",OSL," -> ",SL," TP ",OTP," -> ",TP );
else Print(Symbol()," Error STOP_TAKE",GetLastError()," Ticket ",Ticket);
}
if (tip==OP_SELL || ipucu==OP_SELLSTOP || ipucu==OP_SELLLIMIT)
{
if (kar al!=0) TP = NormalizeDouble(OOP - kar al*Puan,Rakamlar); başka TP=OTP;
if (stoploss!=0) SL = NormalizeDouble(OOP + (stoploss+SPREAD)* Nokta,Rakamlar); başka SL=OSL;
if (OrderModify(Ticket,OOP,SL,TP,0,Beyaz)) Print("STOP_TAKE",Ticket," SL ",OSL," -> ",SL," TP ",OTP," -> ",TP );
else Print(Symbol()," Error STOP_TAKE",GetLastError()," Ticket ",Ticket);
}
}
}
//----------Operatör Siparişleri ise
else if(tip<2 && OrderSymbol()==Symbol()&& OrderMagicNumber()!=Magic)
{
OSL = OrderStopLoss();
OTP = OrderTakeProfit();
if ((OSL==0&&stoploss!=0)||(OTP==0&&takeprofit!=0))
{
OOP = OrderOpenPrice();
Bilet = OrderTicket();
if (tip==OP_BUY || ipucu==OP_BUYSTOP || ipucu==OP_BUYLIMIT)
{
if (kar al!=0) TP = NormalizeDouble(OOP + kar al*Puan,Rakamlar); başka TP=OTP;
if (stoploss!=0) SL = NormalizeDouble(OOP - (stoploss+SPREAD)* Point,Rakamlar); başka SL=OSL;
if (OrderModify(Ticket,OOP,SL,TP,0,Beyaz)) Print("STOP_TAKE",Ticket," SL ",OSL," -> ",SL," TP ",OTP," -> ",TP );
else Print(Symbol()," Error STOP_TAKE",GetLastError()," Ticket ",Ticket);
}
if (tip==OP_SELL || ipucu==OP_SELLSTOP || ipucu==OP_SELLLIMIT)
{
if (kar al!=0) TP = NormalizeDouble(OOP - kar al*Puan,Rakamlar); başka TP=OTP;
if (stoploss!=0) SL = NormalizeDouble(OOP + (stoploss+SPREAD)* Nokta,Rakamlar); başka SL=OSL;
if (OrderModify(Ticket,OOP,SL,TP,0,Beyaz)) Print("STOP_TAKE",Ticket," SL ",OSL," -> ",SL," TP ",OTP," -> ",TP );
else Print(Symbol()," Error STOP_TAKE",GetLastError()," Ticket ",Ticket);
}
}
}
}
}
}
 
Rewerpool :

Ve ilk başta tüm kod eklenmiş gibi görünüyor! Sadece dosya! Mesaj . Ardından durumu kısaca resimlerle anlattı!

Peki, o zaman neden bir resim şekillendiriyorsun. Sana ondan bahsediyorum.

 
Rewerpool : Manuel olarak verilen siparişlerin sihirli numarası 0'dır, EA kendi büyüsü ile yerleştirir. Sihir ve gezinme ile.
 

@Konstantin Nikitin Tamam! Bir Uzman Danışman veya Operatör tarafından yapılan stop alma kodunun yapısı doğru mu? Bu yüzden soruyu daha net hale getirmek için resimler ekledim!

 
Rewerpool :

@Konstantin Nikitin Tamam! Bir Uzman Danışman veya Operatör tarafından yapılan stop alma kodunun yapısı doğru mu? Bu yüzden soruyu daha net hale getirmek için resimler ekledim!

Valla ben böyle bir şey yapardım

 for ( int i= 0 ; i< OrdersTotal (); i++)
{
     if (! OrderSelect (i, SELECT_BY_POS,MODE_TRADES )) continue ;
     if ( OrderSymbol ()!= Symbol ()) continue ;
     
     int tip = OrderType ();
     if (tip!= OP_BUY && tip!= OP_BUYSTOP && tip!= OP_BUYLIMIT ) continue ;
     
     // переменные которые будут использоваться в любых ордерах
     int Ticket = OrderTicket ();
     double OOP = OrderOpenPrice ();
     
     //---
     switch ( OrderMagicNumber () )
     {
           case Magic:     // Ордера советника
               {
                     // что-то делаем
               }
               break ;

           default :       // Все остальные
               {
                     // что-то делаем
               }
     }
}