[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 575

 
Frostr :



Test yaparken verdiğiniz danışman nedense benim için tek seferde 500-800 pozisyon açıyor, açılan pozisyonların sayısını ne belirliyor anlamıyorum ve düzenleyemiyorum (((

Açılan pozisyon sayısını azaltmaya yardımcı olur, sadece Lotu arttırır, eğer bütüne lot koyarsanız 1-3 pozisyon açar

Minimum Lot belirlerseniz, bir seferde 500-1500 pozisyon açacaktır.

1. Aynı anda açılan siparişlerin sayısı için bir limit girin.

2. Partide önemli bir artışla, fon eksikliği nedeniyle ek pozisyon açılması imkansızdır.

 
Frostr :



Test yaparken verdiğiniz danışman nedense benim için tek seferde 500-800 pozisyon açıyor, açılan pozisyonların sayısını ne belirliyor anlamıyorum ve düzenleyemiyorum (((

Açılan pozisyon sayısını azaltmaya yardımcı olur, sadece Lotu arttırır, eğer bütüne lot koyarsanız 1-3 pozisyon açar

Minimum Lot belirlerseniz, bir seferde 500-1500 pozisyon açacaktır.

Dosyalar:
 
rigonich :


 

Uzman Danışmanım için takip etmek gibi bir şey yazdım, ancak işe başlamak için neyi değiştirmeye çalıştığıma bağlı olarak çalışmıyor, değişiklik sırasında hata 1 veriyor veya ilkinden daha ileri gitmiyor prints ( Print ( "Satın alma pozisyonundayız" ); ).. Sebepleri ne olabilir, tüm önerilerden memnuniyet duyacağım, şimdiden teşekkürler!

 bool TrailingStop()
   {
   int MD0=MarketInfo( Symbol (),MODE_STOPLEVEL);
   if ((OrderMagicNumber()== 11111 )== true )
      {
       Print ( "Ведём позицию Buy" );
       while (OrderCloseTime()== 0 )
         {
         if (( NormalizeDouble (Bid-OrderStopLoss()+StepStop* Point , Digits )> NormalizeDouble (StopLevel* Point , Digits ))&&( NormalizeDouble (MD0, Digits )< NormalizeDouble (StopLevel* Point , Digits )))
               {
               RefreshRates();
               Print ( "текущий бид-" ,Bid, ", текущий стоп-" ,OrderStopLoss(), ", текуйщий тейк-" ,OrderTakeProfit(), ", цена открытия-" ,OrderOpenPrice(), ", расстояние от текущего стопа до текущего бида-" , NormalizeDouble (Bid-OrderStopLoss(), Digits ), ", новый стоп-" , NormalizeDouble (Bid-StopLevel* Point , Digits ));
               if (OrderModify(OrderTicket(),OrderOpenPrice(), NormalizeDouble (Bid-StopLevel* Point , Digits ),OrderTakeProfit(), 0 )== true )
                   Print ( "Stop Loss ордера с номером " , OrderTicket(), ", и магическим числом " ,OrderMagicNumber(), ", успешно изменён на " ,OrderStopLoss());
               else Print ( "Не удалось переместить уровень Stop Loss ордера с номером " , OrderTicket(), ", и магическим числом " ,OrderMagicNumber(), ". Ошибка " , GetLastError ());
               }
         Sleep ( 1000 );
         }
       if (OrderCloseTime()> 0 )
         {
         Print ( "Ордер с номером " , OrderTicket(), ", и магическим числом " ,OrderMagicNumber(), ", закрыт по цене " ,OrderClosePrice(), ", с прибылью/убытком " ,OrderProfit());
         return ( true );
         }
      }
   else
      {
       if ((OrderMagicNumber()== 22222 )== true )
         {
         Print ( "Ведём позицию Sell" );
         while (OrderCloseTime()== 0 )
            {
             if (( NormalizeDouble (OrderStopLoss()+StepStop* Point -Ask, Digits )> NormalizeDouble (StopLevel* Point , Digits ))&&( NormalizeDouble (MD0, Digits )< NormalizeDouble (StopLevel* Point , Digits )))
               {
               RefreshRates();
               Print ( "текущий бид-" ,Ask, ", текущий стоп-" ,OrderStopLoss(), ", текуйщий тейк-" ,OrderTakeProfit(), ", цена открытия-" ,OrderOpenPrice(), ", расстояние от текущего стопа до текущего бида-" , NormalizeDouble (OrderStopLoss()-Ask, Digits ), ", новый стоп-" , NormalizeDouble (Ask+StopLevel* Point , Digits ));
               if (OrderModify(OrderTicket(),OrderOpenPrice(), NormalizeDouble (Ask+StopLevel* Point , Digits ),OrderTakeProfit(), 0 )== true )
                   Print ( "Stop Loss ордера с номером " , OrderTicket(), ", и магическим числом " ,OrderMagicNumber(), ", успешно изменён на " ,OrderStopLoss());
               else Print ( "Не удалось переместить уровень Stop Loss ордера с номером " , OrderTicket(), ", и магическим числом " ,OrderMagicNumber(), ". Ошибка " , GetLastError ());
               }
             Sleep ( 1000 );
            }
         if (OrderCloseTime()> 0 )
            {
             Print ( "Ордер с номером " , OrderTicket(), ", и магическим числом " ,OrderMagicNumber(), ", закрыт по цене " ,OrderClosePrice(), ", с прибылью/убытком " ,OrderProfit());
             return ( true );
            }
         }
       else return ( false );
      }
   }
 
Ekburg :

Uzman Danışmanım için takip etmek gibi bir şey yazdım ama işe yaramıyor, çalışmaya başlamak için neyi değiştirmeye çalıştığıma bağlı olarak, değişiklik sırasında hata 1 veriyor veya ilkinden daha ileri gitmiyor prints ( Print ( "Satın alma pozisyonundayız" ); ).. Sebepleri ne olabilir, tüm önerilerden memnuniyet duyacağım, şimdiden teşekkürler!


while koşulunuz (OrderCloseTime()== 0 ). Bu döngüye girerseniz, sipariş kapatılana veya döngüde olmayan brek veya return ifadesi ile karşılaşılıncaya kadar değişiklik denemeleri tekrarlanır.

Üzgünüm, berbat. Onlar., Ama gözlüksüz hemen fark etmedim. Fazladan parantez kaldırıldı, bir çıkış eklendi. deneyin, işe yarayabilir.

Dosyalar:
0101.mq4  3 kb
 
Ekburg :

Uzman Danışmanım için takip etmek gibi bir şey yazdım, ancak işe başlamak için neyi değiştirmeye çalıştığıma bağlı olarak çalışmıyor, değişiklik sırasında hata 1 veriyor veya ilkinden daha ileri gitmiyor prints ( Print ( "Satın alma pozisyonundayız" ); ).. Sebepleri ne olabilir, tüm önerilerden memnuniyet duyacağım, şimdiden teşekkürler!

İlgi uğruna, bize BU'nun nasıl davrandığını söyleyin - danışmanda "izlemek gibi bir şey" ??? Varsayımlarıma göre, kod askıda kalmalı. gerçekten nedir??? Birden fazla sipariş açıldı???
 
TarasBY :
İlgi uğruna, bize BU'nun nasıl davrandığını söyleyin - danışmanda "izlemek gibi bir şey" ??? Varsayımlarıma göre, kod askıda kalmalı. gerçekten nedir??? Birden fazla sipariş açıldı???


ummm.. neden donması gerekiyor?!

kar göründükten sonra takip kendisi mevcut durakları yukarı çekmeye başlar, kayıp bölgesindeki durakları da yukarı çekmesini sağlamaya çalıştım.

çok basit davranır: terminal takibi ile aynı prensibe göre, kayıp ve fiyat arasındaki fark takip eden seviyeden büyük olduğunda, emir değiştirilir ve yeni bir zararı durdur değeri kabul edilir, ardından bir saniye uyur , sık sık istek gelmesin diye (normalde takip etme seçeneğimi hala test edemediğim için bu süreyi bir saniyeliğine aldım), eğer gerekli koşullar oluşmadıysa, o zaman onların olmasını bekleyecek, tüm bunlar oluyor sipariş kapanana ve kapanış zamanı sıfırdan büyük olana kadar, bu nedenle döngü koşulu yürütülmeyecek ve fonksiyon işini bitirip doğru dönecektir.

 
Ekburg :


ummm.. neden donması gerekiyor?!

kar göründükten sonra takip kendisi mevcut durakları yukarı çekmeye başlar, kayıp bölgesindeki durakları da yukarı çekmesini sağlamaya çalıştım.

çok basit davranır: terminal takibi ile aynı prensibe göre, kayıp ve fiyat arasındaki fark takip eden seviyeden büyük olduğunda, emir değiştirilir ve yeni bir zararı durdur değeri kabul edilir, ardından bir saniye uyur , sık sık istek gelmesin diye (normalde takip etme seçeneğimi hala test edemediğim için bu süreyi bir saniyeliğine aldım), eğer gerekli koşullar oluşmadıysa, o zaman onların olmasını bekleyecek, tüm bunlar oluyor sipariş kapanana ve kapanış zamanı sıfırdan büyük olana kadar, bu nedenle döngü koşulu yürütülmeyecek ve fonksiyon işini bitirip doğru dönecektir.

Kod, döngüye çıkış koşuluyla girdi - siparişi StopLoss ile kapattı. Ve ne kadar sürer (fiyatın SL seviyesine ulaşması)??? Muhtemelen bir milisaniye değil, bir saniye değil, ama büyük olasılıkla bir dakika değil mi?! TEBRİKLER - MQL4 kodlamada "yeni bir adım" attınız!!!

PS Ya da belki yanılıyorum ve siz sadece test cihazı için gelişmiş bir kod yazarı mısınız?! :)))

 
lütfen bana ekran görüntüleri ve durumlar için iyi bir ücretsiz FTP sunucusu söyleyin ve böylece 1 yıl sonra çökmez ... bazıları gibi
 
TarasBY :

Kod, döngüye çıkış koşuluyla girdi - siparişi StopLoss ile kapattı. Ve ne kadar sürer (fiyatın SL seviyesine ulaşması)??? Muhtemelen bir milisaniye değil, bir saniye değil, ama büyük olasılıkla bir dakika değil mi?! TEBRİKLER - MQL4 kodlamada "yeni bir adım" attınız!!!

PS Ya da belki yanılıyorum ve siz sadece test cihazı için gelişmiş bir kod yazarı mısınız?! :)))



Herkes her şeyi biliyorsa, bu konuya ve genel olarak forumlara neden ihtiyaç duyulsun?