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

 
Ve sonunda, sorun değil, anlayacağım, sadece kırıldı. Büyük olasılıkla kod, üzgünüm, biraz aptalca.
 
Lütfen bana kimin yapabileceğini söyle. Açtıktan sonra n (örneğin 5 numaralı mum) mumda bir anlaşma nasıl kapatılır? İşlemin açılış saati önceden bilinmemektedir.
 
kokos4 :
Lütfen bana kimin yapabileceğini söyle. Açıldıktan sonra n (örneğin 5 numaralı mum) bir anlaşma nasıl kapatılır? İşlemin açılış saati önceden bilinmemektedir.

n mumu saniyeye çevir , açılış saatine ekle ve şimdiki zamanla karşılaştır. Şimdiki zaman uzar uzar - kapanma emri.


 ////где-то в цикле перебора ордеров:
////
timer = OrderOpenTime()+ PeriodSeconds ()*n;

if ( TimeCurrent ()>timer) close(OrderTicket());
////////////////
 
kokos4 :
Lütfen bana kimin yapabileceğini söyle. Açtıktan sonra n (örneğin 5 numaralı mum) mumda bir anlaşma nasıl kapatılır? İşlemin açılış saati önceden bilinmemektedir.

Siparişin açılmasından bu yana geçen mum sayısı (önceden seçmeyi unutmayın):

iBarShift ( _Symbol , _Period , OrderOpenTime());

daha da kolay "buğulanmış şalgam". ;)

 

Meslektaşlarım, NormalizeDouble işlevi bende çalışmıyor (aksi halde açıklayamam). İkinci parametrede 5 yazmama rağmen 16 hane gösteriyor.Lütfen kodda neyin yanlış olduğunu söyleyin:

 double i = 0.123456789112345 ;
void OnStart ()
  {
         NormalizeDouble (i, 5 );  
         Alert (i);
  }
 
JoinDoe : Meslektaşlarım, NormalizeDouble işlevi bende çalışmıyor (aksi halde açıklayamam).
 double i = 0.123456789112345 ;
void OnStart ()
  {
         Alert ( NormalizeDouble (i, 5 ));
  }
 
TarasBY :
Teşekkür ederim! Ve şimdi 0.1234 6 veriyor
 
JoinDoe :
Teşekkür ederim! Ve şimdi 0.1234 6 veriyor
Bu doğru, en yakına yuvarlama!
 
Yuvarlamadan nasıl yapardınız?
 
JoinDoe :
Yuvarlama olmadan nasıl yapardınız?

O zaman normalleştirilmeyecek ve bir hataya neden olabilir! Ve neden daha doğru bir normalleştirilmiş fiyattan memnun değilsiniz?

Herhangi bir nedenle ihtiyacınız varsa, orijinal sayıyı 100000 ile çarparak bir tamsayıya dönüştürebilir ve ardından _Point veya 0.00001 ile çarpabilirsiniz:

 double i = 0.123456789112345 ;
void OnStart ()
  {
         Alert ( NormalizeDouble (i* 100000 , 0 )*_ Point );
  }