Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 448

 
Forexman77 :
Bunu yaklaşık olarak uygulamak nasıl? Diğer işlevlere dalmış gibi görünüyorsam, ancak siparişler ve diziler konusunda hala tam olarak bir anlayışa sahip değilim.

Bir şekilde, muhtemelen

 // Учёт ордеров
   Symb= Symbol ();                               // Название фин.инстр.
   Total= 0 ;                                     // Количество ордеров
   int Ticket[ 5 ];
   ArrayInitialize (Ticket, 0 );
   for ( int i= 1 ; i<= OrdersTotal (); i++)           // Цикл перебора ордер
     {
       if ( OrderSelect (i- 1 , SELECT_BY_POS )== true ) // Если есть следующий
        {                                       // Анализ ордеров:
         if ( OrderSymbol ()!=Symb) continue ;       // Не наш фин. инструм
         if ( OrderType ()> 1 )                     // Попался отложенный
           {
             Alert ( "Обнаружен отложенный ордер. Эксперт не работает." );
             return ;                             // Выход из start()
           }
         Total++;                               // Счётчик рыночн. орд
         if (Total> 5 )                           // Было не более одного орд, стало не более пяти
           {
             Alert ( "Несколько рыночных ордеров. Эксперт не работает." );
             return ;                             // Выход из start()
           }
         Ticket[Total- 1 ]= OrderTicket ();                   // Номер выбранн. орд.
         Tip   = OrderType ();                     // Тип выбранного орд.
         Price = OrderOpenPrice ();               // Цена выбранн. орд.
         SL    = OrderStopLoss ();                 // SL выбранного орд.
         TP    = OrderTakeProfit ();               // TP выбранного орд.
         Lot   = OrderLots ();                     // Количество лотов
        }
     }
   // Открытие ордеров
   while ( true )                                   // Цикл закрытия орд.
     {
       if (Total < 5 && Opn_B== true )     // Открытых орд. нет +. Было Total < 1, стало Total < 5
        {                                       // критерий откр. Buy
         RefreshRates ();                         // Обновление данных
         SL= Bid - New_Stop(StopLoss)* Point ;     // Вычисление SL откр.
         TP= Bid + New_Stop(TakeProfit)* Point ;   // Вычисление TP откр.
         Alert ( "Попытка открыть Buy. Ожидание ответа.." );
         Ticket= OrderSend (Symb, OP_BUY ,Lts, Ask , 2 ,SL,TP); //Открытие Buy
         if (Ticket > 0 )                         // Получилось :)
           {
             Alert ( "Открыт ордер Buy " ,Ticket);
             return ;                             // Выход из start()
           }
         if (Fun_Error(GetLastError())== 1 )       // Обработка ошибок
             continue ;                           // Повторная попытка
         return ;                                 // Выход из start()
        }
   // Закрытие ордеров
       if (Tip== 0 && Cls_B== true )                 // Открыт ордер Buy и есть критерий закр
        {
           for (i= 0 ;i< 5 ;i++)                             
          {
            if (Ticket[i]== 0 ) continue ;           

             Alert ( "Попытка закрыть Buy " ,Ticket[i], ". Ожидание ответа.." );
             RefreshRates ();                         // Обновление данных
         
            Ans= OrderClose (Ticket[i],Lot, Bid , 2 );       // Закрытие Buy

             if (Ans== true )                         // Получилось :)
            {
               Alert ( "Закрыт ордер Buy " ,Ticket[i]);
            }

             if (Fun_Error(GetLastError())== 1 )       // Обработка ошибок
            {
               i--;
               continue ;                           // Повторная попытка
            }

         }
 
Vitek2010 :
Hayır, olmayacak. Açıklayacağım - forumunuz progerlerin son okuryazar kalesi için bir umut gibidir. ve bir boyut eklemek - bu yazım tam olarak böyle görüyor PERIOD_W1 ancak ne boyut kullanımı ne de tarih biçimindeki sabit referans noktalarının kullanımı istenen herhangi bir etkiye sahip değildir. bu yüzden belirli bir kavramı eklemek için belirli bir soru yazdım - Cuma günleri - bu arada, kodunuz derlenmiyor, 'sürüm' diyor - bilinmeyen özellik ( "sürüm" - bilinmeyen bir özellik) yani nasıl olduğunu bilmiyorsanız DayOfWeek ve 5 (Cuma numarası) sayılarını buna diğer seçenekleri verdiğim kodun eklenmesi yardımcı olmaz .


o yüzden söyleme

Dosyalar:
vitek2010.mq4  2 kb
 

Herkese iyi günler. Maalesef donan ve zamanında ok çizmeyen , ancak yalnızca grafiği güncellediğinizde... farklı TF'lere geçiş yapan bir gösterge gönderiyorum.

Her mum sonunda indikatörün kendini güncellemesini sağlayabilecek biri varsa... Mum kapanmadan 5-10 saniye önce diyelim? Ya da belki bu sorunu çözmenin başka bir yolu var mı?

Şimdiden teşekkürler.

Dosyalar:
 
Vinin :


o yüzden söyleme


Gösterge takılı. neyi gösterdiği belli değil. Benim versiyonumda, önceki hareketin devamı veya değiştirilmesi için bir koşul vardı. yani, sıfır çizgisinin hem altında hem de üstünde. ve her şey sizin için daha yüksek ve tüm haftalar için hepsi bu kadar değil. temel (benim) versiyonundan sapmaya ve bir şeyi basitleştirmeye gerek yok, bunu benim göstergeme göre yapmanız gerekiyor. Samimi olarak.
 
alsu :

Bir şekilde, muhtemelen


çizgiler koydum
 int Ticket[ 5 ];
ArrayInitialize (Ticket, 0 );

int Bilet yerine; hatalar çıkıyor:

'=' - dizi için sol kare parantez bekleniyor('=' - dizi için sol kare parantez bekleniyor)

'>' - dizi için beklenen sol kare parantez

'>' - beklenmeyen belirteç('>' - Beklenmeyen belirteç)

')' - atama bekleniyor(')' - atama bekleniyor )

'devam' - sadece bazı döngülerde kullanılan 'ara' veya 'devam et'

ve daha fazlası.

 

danışman neden sonsuz sayıda sipariş açar, düzeltmeye yardımcı olun

Teşekkür ederim

dış çift tp = 100;
dış çift l = 0.1;




int başlangıç()
{
// 1.3600
if(OrderMagicNumber() ==1 >0){return;}
başka
{
OrderSend("EURUSD",OP_BUYLIMIT,l,1.36000,5,0,1.36000+tp*Puan,"siparişim",1);
OrderSend("EURUSD",OP_BUYSTOP,l,1.36000,5,0,1.36000+tp*Puan,"siparişim",1);
}
if(OrderMagicNumber() ==2 >0){return;}
başka
{
OrderSend("EURUSD",OP_SELLLIMIT,l,1.36000,5,0,1.36000-tp*Puan,"siparişim",2);
OrderSend("EURUSD",OP_SELLSTOP,l,1.36000,5,0,1.36000-tp*Puan,"siparişim",2);
}
dönüş;
}

 
addict :

danışman neden sonsuz sayıda sipariş açar, düzeltmeye yardımcı olun

Teşekkür ederim

dış çift tp = 100;
dış çift l = 0.1;




int başlangıç()

if(OrdersTotal()==0) ekleyin




// 1.3600
if(OrderMagicNumber() ==1 >0){return;}
başka
{
OrderSend("EURUSD",OP_BUYLIMIT,l,1.36000,5,0,1.36000+tp*Puan,"siparişim",1);
OrderSend("EURUSD",OP_BUYSTOP,l,1.36000,5,0,1.36000+tp*Puan,"siparişim",1);
}
if(OrderMagicNumber() ==2 >0){return;}
başka
{
OrderSend("EURUSD",OP_SELLLIMIT,l,1.36000,5,0,1.36000-tp*Puan,"siparişim",2);
OrderSend("EURUSD",OP_SELLSTOP,l,1.36000,5,0,1.36000-tp*Puan,"siparişim",2);
}
dönüş;
}

 
denis77515 :

if(OrdersTotal()==0) ekleyin

bir satın alma emri bir tane açar, ancak yine oturmak için sonsuz sayıda emir
 

Tünaydın.

bu nasıl oluyor anlamıyorum

03:00:24 '9473965': 0,00000 sl'de 0,01 GBPUSD satış emri: 1,65314 tp: 0,00000 başarısız oldu [Geçersiz S/L veya T/P]

bu kodla

 RefreshRates ();
tick= OrderSend ( Symbol (), OP_SELL ,Lot, NormalizeDouble ( Bid , Digits ), 30 ,ssll, 0 ,CMM,MAGIC, 0 ,Blue);
     
açılış fiyatı neden sıfır
 

Tünaydın.

Böyle bir işlev oluşturma konusunda yardımcı olabilir misiniz?

Bilinen son sunucu zamanından (TimeCurrent()) o günün ilk çubuk açılışına kadar belirli bir güne (TimeDay(Time[80]) kadar ) mevcut grafiğin kaç çubuğu ?

Şimdiden teşekkür ederim!

Neden: