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

 
abeiks :

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 ?


iBarShift yardımcı olmalı
 
pu6ka :

iBarShift yardımcı olmalı

Bütün gün uğraştım ama başaramadım. Benim için deneyim değil ve henüz. :)

Birisi bu işlevi yazabilir mi?

 
abeiks :

Bütün gün uğraştım ama başaramadım. Benim için deneyim değil ve henüz. :)

Birisi bu işlevi yazabilir mi?

     int n = 0 ;                                           // индекс дня, в данном случае 0 - текущий день
datetime DayTime = iTime ( NULL , PERIOD_D1 , n);             // Начало дня "n" в секундах
     int cb = iBarShift ( NULL , 0 ,DayTime);                   // Получим на текущем ТФ индекс бара
 
Stells :

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

açılış fiyatı neden sıfır


Bu gece miydi? O zaman, büyük olasılıkla, zararı durdurun açılış fiyatının altındaydı ve bir Satış emri için zararı durdur fiyatı daha yüksek olmalıdır.
 
pu6ka :


Biraz değil. "n" gününün başlangıcını özellikle bu TimeDay(Time[80]) işlevinden saniye cinsinden almak gerekiyor, ancak bu benim için çalışmıyor.

 

Hikayeyi deliklerin varlığı açısından değerlendirmeye karar verdim.
Böyle mi yaptı:

 int start() 
{
   if ( Time [ 0 ] > prev_time ) 
  {
     if ( iTime ( NULL , PERIOD_M1 , 0 )- iTime ( NULL , PERIOD_M1 , 1 ) > 200000 )
    {
      n=n+ 1 ;
       Print ( "n =" ,n , "" );
    }
    prev_time = Time [ 0 ];
  } 
  
   return ( 0 );
}

iTime'ın saniye ve 200.000 = 2.31 gün olarak sayıldığını doğru anlıyor muyum?

Bunu yapabilmek mümkün mü? (işe yarıyor görünüyor, toplamda 6 adet bulundu)

 
abeiks :

Biraz değil. "n" gününün başlangıcını özellikle bu TimeDay(Time[80]) işlevinden saniye cinsinden almak gerekiyor, ancak bu benim için çalışmıyor.


Spesifik olarak, bu TimeDay(Time[80]) işlevinden , birkaç ara hesaplama daha yapmanız gerekecektir. Hâlâ Zaman[80] çubuğunun zamanına sahipsiniz. Böyle daha kolay olurdu:

     int n = iBarShift ( NULL , PERIOD_D1 , Time [ 80 ]);           // индекс дня, которому принадлежит время бара - Time[80]
datetime DayTime = iTime ( NULL , PERIOD_D1 , n);             // Начало дня "n" в секундах
     int cb = iBarShift ( NULL , 0 ,DayTime);                   // Получим на текущем ТФ индекс первого бара дня "n"
 
sv. :

Deliklerin varlığı için hikayeyi değerlendirmeye karar verdim.

İşte çok faydalı bir script , onu bir yıldan fazla süredir kullanıyorum. Alıntı arşivi yüklenirse, ayarlara özellikle uzun süre girmemek için iki parametreyi değiştirmeniz gerekir. Ekranda kırmızı bir çerçeve ile vurgulanır.

Herhangi bir grafiğe atın ve raporun bulunduğu dosyanın bulunduğu yerde bir mesaj görüntülenene kadar birkaç saniye bekleyin.

 
addict :

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


Bunun gibi bir fonksiyona yazın

int başlangıç()

if( OrdersTotal()==0 && CountTrades()==0)

{

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);

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üş(0);

}

//+------------------------------------------- --------------------+

int CountTrades()

{

int sayı = 0;

for(int ticaret = OrdersTotal()-1; ticaret >=0; ticaret--)

{

OrderSelect (ticaret,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)

say++;

}

}

dönüş(sayım);

 
pu6ka :


Spesifik olarak, bu TimeDay(Time[80]) işlevinden , birkaç ara hesaplama daha yapmanız gerekecektir. Hâlâ Zaman[80] çubuğunun zamanına sahipsiniz. Böyle daha kolay olurdu:


Teşekkür ederim! :)