[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 364

 
Burada, bu kodu şimdi gerçek bir hesapta kontrol ettim, her şey yolunda, piyasa emirlerindeki her şeyi değiştirdim, ancak mevduatlara dokunmadım . sorun ne? Ne düşünüyorsun?
 
Noterday :
Burada şimdi gerçek bir hesapta bu kodu kontrol ettim, her şey yolunda, piyasa emirlerinde her şeyi değiştirdim ama mevduatlara dokunmadım. sorun ne? Ne düşünüyorsun?


durumda

         if (cmd==OP_BUY || cmd==OP_SELL)

ve durumda

 if (cmd==OP_BUY)
 
anlamadım :(
 
Noterday :
anlamadım :(

Ayrıca script adında bir ibare var, sadece piyasa emirleri... piyasa emirleri için bu şartları kaldırın, o zaman piyasa ve bekleyen emirler için şartlar yerine getirilir - hepsi bu. Hayır, hepsi değil - bunu dikkatlice okuyun - gereksinimler ve kısıtlamalar... ve bu minimum kısıtlamaları bekleyen emirlerinizin ilgili koşullarına uyguladığınızdan emin olun, böylece onlar da yürütülür.
 
KONDOR :


Bu yüzden hiç böyle hatlarım yok, AT ALL tipini seçmiyorum, ama ister beklemede ister piyasada olsun, SAHİP OLDUĞUMUZ TÜMÜ değiştiriyorum.
 
Noterday :
Bu yüzden hiç böyle hatlarım yok, AT ALL tipini seçmiyorum, ama ister beklemede ister piyasada olsun, SAHİP OLDUĞUMUZ TÜMÜ değiştiriyorum.

Size dikkatlice okumanız için yazıyorum: " Donma mesafesinin kısıtlanması FreezeLevel.

StopLoss veya TakeProfit değerleri FreezeLevel parametresi için gereksinimleri ihlal ederse piyasa emirleri kapatılmaz.
StopLoss veya TakeProfit değerleri StopLevel parametresinin gereksinimlerini ihlal ederse, StopLoss veya TakeProfit piyasa emirlerinde değişiklik yapılmaz.
Açıklanan emir açılış fiyatı, Dondurma seviyesi parametresi gerekliliklerini ihlal ediyorsa bekleyen emirlerin silinmesi ve değiştirilmesi yapılmaz."
 

Her şey anlaşıldı, hata buradaydı:

 if ( OrdersTotal ()!= 0 )
  {
   
   bool    modify;
   int     Done= 0 ;
   for (i = 1 ; i <= OrdersTotal (); i++)
      {
       if ( OrderSelect (i- 1 ,SELECT_BY_POS,MODE_TRADES) == true)
         {
          Stop = OrderStopLoss();
          Take = OrderTakeProfit();
           Print ( "Пробую модифицировать " ,i, " ордер (#" ,OrderTicket(), ")" );
          modify = OrderModify(OrderTicket(), 0 ,SL,TP, 0 , 0 );                          <<<--------------------- во втором параметре OrderModify нужно ставить не ноль а Orderopenprice()
           if (modify==true) Done++;
           if (modify==false)
            {
             int error = GetLastError ();
             Print ( "                 Неудача... Ошибка " ,error);
             Sleep ( 5000 );
            }
         }
       }
     Alert ( "Модифицировано  " ,Done, "  из  " , OrdersTotal ());
     Sleep ( 10000 );
   }
 
Noterday :
Bu yüzden hiç böyle hatlarım yok, AT ALL tipini seçmiyorum, ama ister beklemede ister piyasada olsun, SAHİP OLDUĞUMUZ TÜMÜ değiştiriyorum.


Ayrıca bu şartla

( cmd==OP_BUYLIMIT || cmd==OP_SELLSTOP)

seçilen sipariş için aynı şekilde değiştirin (sipariş türünü belirleme koşulunu aşağıdakilerden biriyle değiştirin:

Devamlı değer Tanım
OP_BUY 0 Alış pozisyonu.
OP_SELL 1 Satış pozisyonu.
OP_BUYLIMIT 2 Limit bekleyen pozisyon satın alın.
OP_SELLLIMIT 3 Satış limiti bekleyen pozisyon.
OP_BUYSTOP 4 Bekleyen durdurma pozisyonu satın alın.
OP_SELLSTOP 5 Durdur bekleyen pozisyonu sat.
ve ancak o zaman seçilen bir veya başka bir siparişin "Ticaret işlemlerini yürütürken gereklilikler ve kısıtlamalar" ile uyumluluğunu kontrol edin, seçilen siparişin her türünün kendi gereksinimleri ve kısıtlamaları vardır ... ve burada komut dosyası yalnızca piyasadakiler içindir .. Analojiyle düzenleyin ve bu kadar - sahip olduğunuz tüm bilgiler. Sakin, dikkatli ve metodik bir şekilde.

 
Evet orijinalinde her şey doğru yazılmış, yukarıda anlatılan çöpte bir hata olmuş. HERKESE TEŞEKKÜRLER! =)))
 
Söyle bana, test sürecini hızlandırmak mümkün mü?
Neden: