EA kodu 2 ile ilgili sorun (SL yöneticisi) - sayfa 2

 
Funky :

Merhaba Raptor, tekrar teşekkürler.

1. Yukarıdaki kodla ilgili tek sorun bu mu? Bence en kötü durumda PendingOrderTicket_1 değiştirilmez ve SL'sinde kapanır.

2. OrderSelect işlevini nasıl kullandığım doğru mu?

Sahip olacağımı düşündüğüm en büyük sorun, OrderTicket_1 ilk Gap_Level1'in üzerindeyken, bu kriterin karşılandığı EVERYTICK'teki sırayı değiştirmeye devam edecek.

3. Durum bu mu? Eğer öyleyse, aşağıdaki kod düzeltir mi?

Tekrar teşekkürler ;)

1. Sadece bana atlayan ve kodunuzu kıracak bir şey.


2. OrderSelect'iniz yanlış ( https://docs.mql4.com/trading/OrderSelect ) bilet numarasını kullanarak seçim yapacaksanız SELECT_BY_TICKET değil SELECT_BY_POS kullanmalısınız.

3. Sanmıyorum, yaptığınız şey, sanırım, bu işlevin yalnızca bir kez çağrıldığı anlamına gelecektir. . . değiştirilmesi gereken bir sonraki Siparişiniz olduğunda ne olur? aynı anda açık iki siparişiniz varsa ne olur?

Yaptığınız şeye %100 aşina değilim, bunu yapmak için kodunuza yeterince ayrıntılı bakacak zamanım yok. . . ama, bir sorum var.

Bir Order'ın OrderOpenPrice()'sine, onun OrderStopLoss()'una ve OrderTakeProfit()'ine bakıp zaten seviye 1 2 veya 3 olarak değiştirilip değiştirilmediğini belirleyemez misiniz?

 
RaptorUK :

1. Sadece bana atlayan ve kodunuzu kıracak bir şey.


2. OrderSelect'iniz yanlış ( https://docs.mql4.com/trading/OrderSelect ) bilet numarasını kullanarak seçim yapacaksanız SELECT_BY_TICKET değil SELECT_BY_POS kullanmalısınız.

3. Sanmıyorum, yaptığınız şey, sanırım, bu işlevin yalnızca bir kez çağrıldığı anlamına gelecektir. . . değiştirilmesi gereken bir sonraki Siparişiniz olduğunda ne olur? aynı anda açık iki siparişiniz varsa ne olur?

Yaptığınız şeye %100 aşina değilim, bunu yapmak için kodunuza yeterince ayrıntılı bakacak zamanım yok. . . ama, bir sorum var.

Bir Order'ın OrderOpenPrice()'sine, onun OrderStopLoss()'una ve OrderTakeProfit()'ine bakıp zaten seviye 1 2 veya 3 olarak değiştirilip değiştirilmediğini belirleyemez misiniz?

Teşekkürler Raptor, anlayışınız bana çok yardımcı oldu...

Zaman kısıtlamalarını da tamamen anlıyorum, zamanınız ve ipuçlarınız çok takdir edildi.... Kimseden benim için yazmasını istemeye çalışmıyordum, bu yüzden çok ayrıntıya gitmedim... ki bu da şu sorunu ortaya koyuyor: fazla ayrıntı olmadan yardım teklif etmek zor, bu yüzden özür dilerim..... Bu örnekte, öğrenirken endişelendiğim şey daha çok koddu ve ipuçlarınız benim için çok iyi oldu.

1. Test etmek için bir araya getirmek için uğraşıyordum, bu yüzden daha deneyimli olduğumda güç kesintisi sorununu daha sonra çözebilirim.

2. POS yerine SELECT_BY_TICKET olarak değiştireceğim, çok teşekkür ederim.

3. GAP_Level1'in yalnızca bir kez çağrılmasını istiyorum, bu yüzden belki de hepsini bir araya getirme şeklimde haklıyım... Sorunuza cevap vermek için, en son Bekleyen Siparişin Biletine bakmaya çalışıyorum, TradeUp markamı aşıp aşmadığına bakın. Bu gerçekleştiğinde, önceki tüm siparişlerimi yukarı çekmesini istiyorum (bu sefer hepsini almak için sihirli sayıya göre seçiyorum)... Bu aşamada, başka bir Bekleyen Emir Açık var ve Gap_Level2'ye ulaştığında, ben aynı koda sahip bir BuyModify_Level2 bloğuna sahip olacak.... Makul??

Umarım mantığımla yazıyorumdur, gerçekten bu sefer dediğiniz gibi kağıda oturup kafayı yedim... ;)

 
Funky :


3. GAP_Level1'in yalnızca bir kez çağrılmasını istiyorum, bu yüzden belki de hepsini bir araya getirme şeklimde haklıyım... Sorunuza cevap vermek için, en son Bekleyen Siparişin Biletine bakmaya çalışıyorum, TradeUp markamı aşıp aşmadığına bakın. Bu gerçekleştiğinde, önceki tüm siparişlerimi yukarı çekmesini istiyorum (bu sefer hepsini almak için sihirli sayıya göre seçiyorum)... Bu aşamada, başka bir Bekleyen Emir Açık var ve Gap_Level2'ye ulaştığında, ben aynı koda sahip bir BuyModify_Level2 bloğuna sahip olacak.... Makul??


HasBeenExecuted = false ; böylece IfGap_Level_1() 2. işlem grubu için yürütülür mü?
 
RaptorUK :
HasBeenExecuted = false ; böylece IfGap_Level_1() 2. işlem grubu için yürütülür mü?

Güzel soru dostum.

Dışa aktardıklarımın altındaki iç değişkenlerin başında o değişkeni yükseltecektim. Bir GAP_Level_1, GAP_Level_2,GAP_Level_3, GAP_Level_4, GAP_Level_5 vs yapacaktım. Yani GAP_Level_1'e ulaştığında, bu ilk boşluk seviyesini unutabilir.

Sözün beni düşündürdü, çok takdir ettim. Şimdi bir sorun görüyorum.

Bir ticaret bir SL'ye ulaştığında ve yeniden başladığında, ilk ticaretin tekrar Gap_Level_1'i aramasını ve dönmesini istediğimi fark ettim. Ve lanet olsun evet, bu bir soruna neden olacak, çünkü PendingOrder_1'i GAP_Level_1 ile, PendingOrderLevel_Level_2'yi GAP_Level2 ile bağlayacağım.

Sanırım hala kaldırabilirim, ama sen bahsetmeseydin bunu düşünmezdim.....

Aklıma üç geçici çözüm geliyor... İlki beyin gücüme biraz daha uyuyor haha ;)

1. EĞER SON TİCARET KAYIP İSE'ye gidersem, BEKLEMEDEKİ TÜM SİPARİŞLERİ SİL ve bir işlem bir SL'ye ulaşırsa onları yeniden başlat. Bekleyen Emir 1'in Boşluk Düzeyi_1'e gitmesi için, Pending_Order5'in GAP_Level5'e giden bir sonraki açılan işlem olmasını durduracaktır. Bir SL'ye ulaşıldıktan sonra, hepsi aynı SL'yi paylaştığı için tüm Açık işlemlerim Kapatılacaktır, bu nedenle Bekleyen Emirlerimi kapatmak ve mantığı yeniden başlatmak uygun olabilir.

2. Aklıma gelen diğer seçenek (birkaç hafta önceki diğer kod sorunumla ilgili ipucunuz sayesinde), NEWTRADE adlı ilk ticaret yapıldıktan sonra bir boolean değişkeni eklemek ve ardından IFNEWTRADE==1, ardından GAP_Level1'e gidin. Bu beni düşündürüyor, sanırım Bekleyen Emir 1 Blokunda IFNEWTRADE1'e ve Bekleyen Emir 2 Blokunda IFNEWTRADE2'ye gidebilirim ve böyle devam eder... o zaman IFNEWTRADE2==1 GAP_Level2'ye gidebilirim.

EDIT (bir kahveden sonra): 3. Sadece zamana göre sıralasam (şimdi birinin birden fazla siparişi birçok şekilde sıralayabileceğini biliyorum) ve ZAMAN'a göre ORD_SELECT_NUMBER adlı bir tam sayı değişkeni atasam diye düşündüm. Ardından ORD_SELECT_NUMBER == 1'den sonra, GAP_Level1'e gidin, ardından bu ORDER_SELECT_NUMBER ++ komutunu kullanarak sonraki ORD_SELECT_NUMBER'a bakın.

Sinyallere vb. dayalı tek sıralı EA'lar yazmakta iyiyim, dürüstçe beni öldüren bu çok sıralı şeyler... EA'm aslında olduğu gibi çalışıyor ve iyi sonuçlar alıyor, değiştirdiği için kullanması çılgınca EVERYTICK'ta ve en küçük Gap_Level atm'imi kullanıyor, çünkü yukarıda hepsini nasıl birleştireceğimi araştırdığımdan beri...

Vay canına, ama tekrar teşekkürler Raptor, ayrıca KODLAMA BİLGİSİ İyi MANTIĞIN da ne kadar önemli olduğunu görüyorum, düşünmemi sağladığınız için teşekkürler.

 
Funky :

Vay canına, ama tekrar teşekkürler Raptor, ayrıca KODLAMA BİLGİSİ İyi MANTIĞIN da ne kadar önemli olduğunu görüyorum, düşünmemi sağladığınız için teşekkürler.

Bunu yanlış yoldan almışsın. . . C++, Perl, Pascal, Fortran, Assembler vb. tüm yazılımlar, hangi dilde kodlanmış olursa olsun, sadece problem çözmekle ilgilidir. Çözümünüzün arkasındaki mantık kusurluysa, o zaman ne kadar iyi bir kodlayıcı olduğunuzun önemi yoktur. . . çözüm önce gelir, kod sonra gelir.
 
RaptorUK :
Bunu yanlış yoldan almışsın. . . C++, Perl, Pascal, Fortran, Assembler vb. tüm yazılımlar, hangi dilde kodlanmış olursa olsun, sadece problem çözmekle ilgilidir. Çözümünüzün arkasındaki mantık kusurluysa, o zaman ne kadar iyi bir kodlayıcı olduğunuzun önemi yoktur. . . çözüm önce gelir, kod sonra gelir.

Ne dediğini anlıyorum... Planları olmayan bir inşaatçı, dünyanın en iyi inşaatçısı olsa bile fazla uzağa gidemez. İlk plan neredeyse daha önemli , sizi duydum.

Raptor'a çok yardımcı oldun ve tekrar teşekkür etmek istedin.

Yukarıdaki tembel seçenek 1 ile gittim.

Saatlerce ve saatlerce programlama oldu, EA'm 85k civarında (bu nedenle sadece bir parça yayınladı), bu yüzden bu dinozor tamamlandıktan sonra nasıl gittiğimi henüz rapor etmedim. Şanslı bir atm yaşıyorum, siparişler doğru seçiliyor. Yazmaya alışkın olduğum tek sıralı EA'lardan uzak olduğu için ilerledikçe çalışıyorum. Bu projeyle ve yüzmeyi öğrenerek derinliğe atladım. Nasıl gittiğimi geri göndereceğim.

Raptor'a tekrar teşekkürler :)

 
Funky :

Ne dediğini anlıyorum... Planları olmayan bir inşaatçı, dünyanın en iyi inşaatçısı olsa bile fazla uzağa gidemez. İlk plan neredeyse daha önemli, sizi duydum.

Raptor'a çok yardımcı oldunuz ve tekrar teşekkür etmek istediniz.

Yukarıdaki tembel seçenek 1 ile gittim.

Saatlerce ve saatlerce programlama oldu, EA'm 85k civarında (bu nedenle sadece bir parça yayınladı), bu yüzden bu dinozor tamamlandıktan sonra nasıl gittiğimi henüz rapor etmedim. Şanslı bir atm yaşıyorum, siparişler doğru seçiliyor. Yazmaya alışkın olduğum tek sıralı EA'lardan uzak olduğu için ilerledikçe çalışıyorum. Bu proje ve yüzmeyi öğrenerek derinliğe atladım. Nasıl gittiğimi geri göndereceğim.

Raptor'a tekrar teşekkürler :)

Kod kaynaklarınızda genişlediğinizi gördüğünüzde ve gelecekteki herhangi bir EA kullanımı için ortak hale getirilebilecek işlevler olduğunda, kitaplığı/include vb. kullanmayı düşünün.

Bek. Tyrannosaurus'a dönüştüğünde, kodlar kendi Juraissic Park'larında kaybolur, özellikle. gelecekte herhangi bir kullanım için tekrar ihtiyacınız olduğunda.

 
diostar :

Kod kaynaklarınızda genişlediğinizi gördüğünüzde ve gelecekteki herhangi bir EA kullanımı için ortak hale getirilebilecek işlevler olduğunda, kitaplığı/include vb. kullanmayı düşünün.

Bek. Tyrannosaurus'a dönüştüğünde, kodlar kendi Juraissic Park'larında kaybolur, özellikle. gelecekte herhangi bir kullanım için tekrar ihtiyacınız olduğunda.



Haha dostum, bu beni güldürdü. Bunun nasıl olabileceğini görüyorum.

Dürüst olmak gerekirse, 'OrderSendReliable.mqh' adında bir Kitaplık Ekleme buldum. Önce bu EA'yı bitireceğim, sonra da sıcak pazar olayını düzeltebileceğine inandığım diğer EAcode gönderisiyle o Library Insert ile nasıl gittiğimi geri gönderecektim.

Bir kıkırdadım, çünkü şimdi görebiliyorum, deneyimle, EA'nın tepesinde her türlü #include'un nasıl olacağını görebiliyorum, haha ve her EA için 1 mb'lik bir dosya önbelleği taşıyorsun.

Biliyorsun, yorumun beni düşündürdü, hemen tıkladı. Beğendiğim bir {bölüm} aldığımda ve onları bağladığımda EA'larım arasında kod kesip yapıştırıyordum ve onları bağladım (örneğin, daha önce bahsettiğim diğer gönderide sorun yaşadığım {bölüm}). Bunu bir Library Insert olarak yapmayı düşünmemiştim bile ve sadece ona atıfta bulunuyorum... Bu tür şeylerden çok uzağım... Bu EA'dan sonra ilk kütüphane içeriğime başlamak üzereydim. nasıl çalıştıklarını görmek için.... olasılıklar çok güzel. Bu MQL oldukça bağımlılık yapıyor.

Oh evet, her şey benim kodumda da yolunda, amacı için mükemmel çalışıyor, büyük bir teşekkür vermek için geri dönüyordum :) ..

Desteğiniz için gerçekten minnettarım, keşke ne kadarını kelimelerle anlatabilseydim ;)

 

Daha sonra değil, daha önce düşünmenizi şiddetle tavsiye ettiğim kendi "temel" kitaplık işlevleri kümelerinize sahip olabilirsiniz.

Ben de ilk EA'mla başladım, aynı şey, kopyala, yapıştır, kopyala yapıştır....

Dönüm noktası, bu EA'yı eski askerlik hizmetim eski ortağım için zaten emekli olduğum zamandı. Bu her şeyi değiştirdi, ilk defa kütüphane kullanmaya başladım.

O kütüphaneyi bugüne kadar hala saklıyorum. Size fikirler sunabilir, devam etmenize yardımcı olabilirse... işte başlığı, dostum:

 #define PI              3.1415629
#define GOLDEN_RATIO    1.618

#import "command.ex4"
   bool      isInit();
   bool      isFractional( string ins);
   bool      isOrderLimit( int cap);
   bool      isRiskLimit( double risk);
   
   int       ioSession( int h);
   string    ioWkday(datetime d);
   double    ioOrderPriceLvl( string ins, int type, double oPrice);    
   double    ioPriceLvl( string ins, double dPrice);
   bool      ioTrailStop( string ins, int tkt, int type, double oPrice, int lvl, double stop= 0 );
   int       ioTotalOrd( int magic);
         
   int       opClose( string ins, int ticket, int cmd, double lLot, bool Activate.NO_BREAK_ONE= false );
   int       opOpen( string ins, int cmd, double lLot, double lPrice, double lLoss, double lProfit, string comment, int EA.Id, int lSlip= 0 , bool Activate.NO_BREAK_ONE= false );
   int       opModify( string ins, int ticket, int cmd, double lPrice, double lLoss, double lProfit, bool Activate.NO_BREAK_ONE= false );   
   double    opStopLvl( string ins, double p);
   double    opNorm( string ins, double price);
   double    opNormL( string ins, double d);   
   double    opPoint( string ins);
   
   double    intelLot( string market, double risk, double stop); 
   double    intelCorrel( string s1, string s2, int f, int type);   
   int       intelPriceMove( string ins, int p, int L);
   int       intelTrend( string ins, int p, int q);   
#import

Bu yardımcı olur umarım....

 
diostar :

Daha sonra değil, daha önce düşünmenizi şiddetle tavsiye ettiğim kendi "çekirdek" kitaplık işlevleri kümelerinize sahip olabilirsiniz.

Ben de ilk EA'mla başladım, aynı şey, kopyala, yapıştır, kopyala yapıştır....

Dönüm noktası, bu EA'yı eski askerlik hizmetim eski ortağım için zaten emekli olduğum zamandı. Bu her şeyi değiştirdi, ilk defa kütüphane kullanmaya başladım.

O kütüphaneyi bugüne kadar hala saklıyorum. Size fikirler sunabilir, devam etmenize yardımcı olabilirse... işte başlığı, dostum:

Bu yardımcı olur umarım....


Merhaba Diostar, bu gerçekten harika dostum, bu bilgiyi paylaştığın için teşekkürler, henüz kütüphaneleri okumamıştım. Bu, değişkenleri taşımak ve daha sonra için önceden tanımlanmış olmasını sağlamak için harika bir yol gibi görünüyor. Bunun hakkında bir düşüneceğim. "Geç değil, erken" demeni beğendim, böyle ipuçlarını seviyorum, teşekkürler dostum. Bana gitar çalmayı öğrenmeyi hatırlatıyor, 20 yıl sonra keşke en başından 'şöyle yapsaydım' dediğimde, son 20 yılı daha kolay hale getirirdi, lol. Cidden buna daha fazla bakacağım, teşekkürler.

Ah, tam yandığımı sandığım anda, çözmeyi düşünemediğim bir dram var. Bu iki birleştirme bölümünde doğru siparişleri seçmede sorun yaşıyorum:

Örneklerimden ikisini gösterebilirim ve etkilerini gösterebilirim, beynim buna tıklamıyor...

Örnek 1:

Önceki siparişler arasında tam istediğim gibi KAYDIRIYOR, ancak onları EVERYTICK'te değiştiriyor

(Orijinal dizi Raptor, Seviyelerin çakışmasını durdurmama yardımcı oldu, bu yüzden SL daha önce de bu nedenle ortalıkta dolanıyordu. Bu son bölümü çözmenin kolay olduğunu hissettim, ancak günlerdir üzerindeydim, durdurmaya çalışıyor gibi hissediyorum her tik oluyor ..)

 void IfGap_SELLLevel_00()
{
     if ( OrderSelect (FirstRunSell_ticket_00,SELECT_BY_TICKET,MODE_TRADES)) 
    {
         if ( OrderSymbol () == Symbol () && OrderMagicNumber () == SELL_Magic01)
        {
             if ((Gap_Level_00 < 0 && ( OrderType () == OP_SELL && OrderOpenPrice () - Bid < Gap_Level_00*PipValue* Point ))
             || (Gap_Level_00 > 0 && ( OrderType () == OP_SELL && OrderOpenPrice () - Bid > Gap_Level_00*PipValue* Point )))
            {
                IfGap_SELLLevel_00AlreadyExe = false;
            }
             if (IfGap_SELLLevel_00AlreadyExe == false)
            {
                IfGap_SELLLevel_00AlreadyExe = true;
                SellOrderModifyLevel_00();
            }
        }
    }
    
    
}

void SellOrderModifyLevel_00()
{
     for ( int i= OrdersTotal ()- 1 ; i >= 0 ; i--)
     if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES))
    {
         if ( OrderType () == OP_SELL && OrderSymbol () == Symbol () && OrderMagicNumber () == SELL_Magic01) 
        { 
             double Level_00_SL = Bid + Stoploss_Level_00*PipValue* Point ;
             if (Stoploss_Level_00 == 0 ) Level_00_SL = 0 ;
             double Level_00_TP = Bid - Takeprofit_Level_00*PipValue* Point ;
             if (Takeprofit_Level_00 == 0 ) Level_00_TP = 0 ;
             bool ret00 = OrderModify ( OrderTicket (), OrderOpenPrice (), Level_00_SL, Level_00_TP, 0 , Modify_Order_Colour);
             if (ret00 == false)
             Print ( "OrderModify() error - " , ErrorDescription( GetLastError ()));
        }
    }
    
}


Örnek 2:

İstediğim bu örnek değil... Bu seçeneği durdurmayı denedim, her onayda gönder değiştir... ancak siparişler arasında gezinmiyor ve her onayda doğru biletlerden birini değiştiriyor (birincisini değiştiriyor) sipariş, sanırım siparişlerin Dizin önbelleğinde son).

 void IfGap_SELLLevel_00()
{
     if ( OrderSelect (FirstRunSell_ticket_00,SELECT_BY_TICKET,MODE_TRADES)) 
    {
         if ( OrderSymbol () == Symbol () && OrderMagicNumber () == SELL_Magic01)
        {
             if ((Gap_Level_00 < 0 && ( OrderType () == OP_SELL && OrderOpenPrice () - Bid < Gap_Level_00*PipValue* Point ))
             || (Gap_Level_00 > 0 && ( OrderType () == OP_SELL && OrderOpenPrice () - Bid > Gap_Level_00*PipValue* Point )))
            {
                SellOrderModifyLevel_00();
            }
        }
    }
    
    
}

void SellOrderModifyLevel_00()
{
     bool IfGap_SELLLevel_00AlreadyExe = FALSE;
     for ( int i= OrdersTotal ()- 1 ; i >= 0 ; i--)
     if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES))
    {
         if ( OrderType () == OP_SELL && OrderSymbol () == Symbol () && OrderMagicNumber () == SELL_Magic01 && !IfGap_SELLLevel_00AlreadyExe) 
        { 
             double Level_00_SL = Bid + Stoploss_Level_00*PipValue* Point ;
             if (Stoploss_Level_00 == 0 ) Level_00_SL = 0 ;
             double Level_00_TP = Bid - Takeprofit_Level_00*PipValue* Point ;
             if (Takeprofit_Level_00 == 0 ) Level_00_TP = 0 ;
             bool ret00 = OrderModify ( OrderTicket (), OrderOpenPrice (), Level_00_SL, Level_00_TP, 0 , Modify_Order_Colour);
            IfGap_SELLLevel_00AlreadyExe = TRUE;
             if (ret00 == false)
             Print ( "OrderModify() error - " , ErrorDescription( GetLastError ()));
        }
    }
    
}


50 denemem daha var, daha önce çalıştırılmadıysa IFGAP'e geçirmek için önce biraz IF EXECUTED 00 bölümünü deniyorum... bu seçeneği göstermek için ....

Örnek 3:

Bir anahtarla... hala Örnek 1 ile aynı etkiye sahiptir. Siparişler arasında doğru bir şekilde ilerler ama yine de her tikte değişiklik yapar...

Switch'in sorunları tekrar tekrar yanlış almaya devam ettiğini görebiliyorum, bu yüzden sadece tekrar geçiyor ... ancak diğer girişimler bunun geçmesine hiç izin vermiyor ... bu seçeneğe bağlı kalmalı ve IfGap_SELLLevel_00AlreadyExe = başka bir yerde doğru ilan etmeyi denemeli miyim? peki nerede?

 void IfGap_SELLLevel_00AlreadyBlock()
{
     if ( OrderSelect (FirstRunSell_ticket_00,SELECT_BY_TICKET,MODE_TRADES))
    {
        IfGap_SELLLevel_00AlreadyExe = false;
    }
     if (IfGap_SELLLevel_00AlreadyExe == false)
    {
        IfGap_SELLLevel_00AlreadyExe = true;
        IfGap_SELLLevel_00();  
    }
}


void IfGap_SELLLevel_00()
{
     if ( OrderSelect (FirstRunSell_ticket_00,SELECT_BY_TICKET,MODE_TRADES)) 
    {
         if ( OrderSymbol () == Symbol () && OrderMagicNumber () == SELL_Magic01)
        {
            if ((Gap_Level_00 < 0 && ( OrderType () == OP_SELL && OrderOpenPrice () - Bid < Gap_Level_00*PipValue* Point ))
             || (Gap_Level_00 > 0 && ( OrderType () == OP_SELL && OrderOpenPrice () - Bid > Gap_Level_00*PipValue* Point )))
            {
                SellOrderModifyLevel_00();
                
            }
        }
    }
    
    
}

void SellOrderModifyLevel_00()
{
     for ( int i= OrdersTotal ()- 1 ; i >= 0 ; i--)
     if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES))
    {
         if ( OrderType () == OP_SELL && OrderSymbol () == Symbol () && OrderMagicNumber () == SELL_Magic01) 
        { 
             double Level_00_SL = Bid + Stoploss_Level_00*PipValue* Point ;
             if (Stoploss_Level_00 == 0 ) Level_00_SL = 0 ;
             double Level_00_TP = Bid - Takeprofit_Level_00*PipValue* Point ;
             if (Takeprofit_Level_00 == 0 ) Level_00_TP = 0 ;
             bool ret = OrderModify ( OrderTicket (), OrderOpenPrice (), Level_00_SL, Level_00_TP, 0 , Modify_Order_Colour);
             if (ret == false)
             Print ( "OrderModify() error - " , ErrorDescription( GetLastError ()));
        }
    }
    
}


Yani evet arkadaşlar hepinizi tekrar rahatsız etmeden önce gerçekten denedim... saatlerce ve saatlerce... Yine kayboldum...

Herhangi bir yardım veya işaretçiler takdir edilecektir;)