[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 568

 
Catrock >> :

Lütfen bana koşulu nasıl uygulayacağımı söyle.-

Eğer (bekleyen emirler varsa) bunu ve şunu yaparız;

 for ( int i= 0 ; i< OrdersTotal ();i++)
  {
   OrderSelect (i,SELECT_BY_POS);
   if (OrderType()== 2 || 3 || 4 || 5 ) // Есть ли отложники?
   {
   // Действия
   }
  }
 

Teşekkürler) Doğru, durum bununla çözülmedi. Bir soru daha.

Durum: Bekleyen bir tip 5 ( Sell Stop ) vardı, sonra fiyat ona ulaştı ve piyasa oldu. Sipariş türü değişti mi? Yani, özelliklerinde 5 değişiklik oldu mu?

Yukarıdaki kombinasyonu eklediğimde, "Eylemler" hala açık siparişin özelliklerini değiştiriyor, ancak yapmamalılar. Bu nedenle, eylemlerin yalnızca bekleyen siparişlere uygulanması için koşullar oluşturmak istiyorum.

         if ( OrdersTotal ())                                              // Если стоят ордера в списке
         {
             OrderSelect ( 0 , SELECT_BY_POS);                             // Выбираем первый
             if (OrderType()==( 2 || 3 || 4 || 5 ))                              // Если он не открытый то можем модифицировать
             {
               Alert ( "Что то делаю с ордером =)" );
               if (PricePointNew>PricePointOld)
               OrderModify( Ticket, PricePointNew- 5 * 0.0001 , PriсeStopNew+ 8 * 0.0001 , PricePointNew-Profit* 0.0001 , 0 , Green );
                else Print ( "OrderModify 1 вернул ошибку - " , GetLastError ());
            
               if (PricePointNew<PricePointOld)
               OrderModify( Ticket, PricePointNew- 5 * 0.0001 , PriсeStopNew+ 8 * 0.0001 , PricePointNew-Profit* 0.0001 , 0 , Green );
               else Print ( "OrderModify 2 вернул ошибку - " , GetLastError ());
            
               if (PriсeStopNew>PriсeStopOld && (PriсeStopNew-PriсeStopNew)<(Stop* 0.0001 ))
               OrderModify( Ticket, PricePointNew- 5 * 0.0001 , PriсeStopNew+ 8 * 0.0001 , PricePointNew-Profit* 0.0001 , 0 , Green );
               else Print ( "OrderModify 3 вернул ошибку - " , GetLastError ());
         
             if (PriсeStopNew<PriсeStopOld)
             OrderModify( Ticket, PricePointNew- 5 * 0.0001 , PriсeStopNew+ 8 * 0.0001 , PricePointNew-Profit* 0.0001 , 0 , Green );
             else Print ( "OrderModify 4 вернул ошибку - " , GetLastError ());         
            }
         }
         else                               // Если нет ордеров, то ставим
         {
            f = OrderSend ( Symbol (), 5 , 0.01 ,(PricePointNew- 5 * Point * 10 ) , 1 ,(PriсeStopNew+ 8 * Point * 10 ) ,(PricePointNew-Profit* Point * 10 ));
            OrderSelect ( 0 , SELECT_BY_POS);
            Ticket =  OrderTicket();
 
satış durdurucu yürütülürse, tip 1 olur ve sıradan biri olmaktan çıkar, bir pazar haline gelir.
 

Anlayamıyorum

Zamanı diziye sürüyorum ve baskı 0 =(

 for (i= 0 ; i<= 10 ; i++)
   {
     datetime Array[i] = iTime( NULL , 0 ,i);
     Print ( "Время: " ,Array[i]);
   }
Baskı çıktıları sıfırlar... Sorun ne?
 
Sonra takıldım)) EA'yı test cihazında görselleştirme ile çalıştırıyorum, piyasa emri yine de değişiyor, neden olduğu belli değil.
 
Noterday >> :

Anlayamıyorum

Zamanı diziye sürüyorum ve baskı 0 =(

Baskı çıktıları sıfırlar... Sorun ne?

dizi döngü dışında bildirilmeli ve boyut sabitlenmelidir (veya bir gösterge dizisinden bahsettiğimizin bir göstergesi)

 datetime Array[ 10 ];
int start() 
{
for ( int i= 0 ; i<= 10 ; i++)
   {
     Array[i] = iTime( NULL , 0 ,i);
     Print ( "Время: " ,Array[i]);
   }


}
 
Catrock >> :
Тогда я застрял)) Запускаю эксперт в тестере с визуализацией, рыночный ордер все равно меняется, непонятно почему.. Нагородил большой код, видимо ошибка где то алгоритмическая.
bir piyasa düzeninde tam olarak ne değişir? Bana ne elde etmek istediğinizi daha açık bir şekilde söyleyin.
 
Techno >> :

dizi döngü dışında bildirilmeli ve boyut sabitlenmelidir (veya bir gösterge dizisinden bahsettiğimizin bir göstergesi)

hala çalışmıyor .... iTime zamanı bir diziye nasıl yazar? 1970'den saniyeler içinde veya "yyyy:dd:dd ss:dd"
 
Noterday >> :
всё равно не работает.... как iTime записывает время в массив? В секундах о 1970 или "yyyy:mm:dd hh:mm"
Bu tasarımla evet, saniyeler içinde. Herşey çalışıyor. Kodun yalnızca bu bölümünü derleyin ve test edin.
 

Şu anda bir piyasa emrinde, kar al ve zararı durdur seviyeleri değişiyor. Ama yapmamalılar.

Sistemimde değişiklik yapma özelliği sadece bekleyen siparişler için mevcuttur. Emir bir piyasa emri haline gelirse, herhangi bir değişikliğe izin verilmez. EA toplamda bir sipariş kullanır.