[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 606

 
hoz :


Genel fikri anladım. İşte olanlar:

N - günlük çubuğun açılmasından bu yana geçen dakika sayısı. Şimdiye kadar nasıl elde edeceğimi çözemedim, bu yüzden tamamen değişken olarak yazdım. Teoride her şey doğru.

sergeev :

Ama başarılı bir operasyonun ezbere bağlanmasını zamana kadar netleştirmenizi rica edeceğim. pek anlamadım.


Ne de olsa sizin için önemli olan zamanın kendisi değil, belirli bir süre içinde bir şeyler yapılıp yapılmadığı, o yüzden kontrol edin.

PS Ve N tanımlamanız gerekmez, ihtiyacınız olan işlemler tamamlanana (bir sipariş belirleme ) kadar ( TimeCurrent () >= iTime( Symbol (), 1440 , 0 ) ) kontrolünüzü yapın.

 
rigonich :

Bayrak, kontrol edilen koşulun doğruluğuna bağlı olarak bir duruma ayarlanan, genellikle bool türünde bir değişkendir (burada -- belirli bir açık fiyata sahip bir pozisyon var mı).

anlaşıldı ama POZİSYON ENDEKSİ nedir? bir ticker gibi değil, bir tip değil ....
 
lottamer :

anlaşıldı ama POZİSYON ENDEKSİ nedir? bir ticker gibi değil, bir tip değil ....


Bu, terminalde mevcut olan siparişlerle ilgili verileri depolayan dizideki siparişin konumunu belirleyen bir dizindir.

Altı çizili olan budur (SELECT_BY_POS ile) bool OrderSelect ( int index , int select, int pool=MODE_TRADES)

 
rigonich :


Bu, terminalde mevcut olan siparişlerle ilgili verileri depolayan dizideki siparişin konumunu belirleyen bir dizindir.

Yani altı çizili olan(SELECT_BY_POS ile) bool OrderSelect( int index , int select, int pool=MODE_TRADES)



ancak "son iki işlem geyik olsaydı ....." koşulunu kodlamanız gerekirse, bunu nasıl uygulamaya koyabilirsiniz?
 
lottamer :

ancak "son iki işlem geyik olsaydı ....." koşulunu kodlamanız gerekirse, bunu nasıl uygulamaya koyabilirsiniz?


Pratikte bu, emirlerle çalışan tüm baykuşlarda kullanılır. önce bir emir seçmeniz gerekir ve sonra onunla bir şeyler yapabilirsiniz (siparişle ilgili bilgileri görüntüleyin, sunucuya değiştirilmesi veya kapanması hakkında bir ticaret talebi gönderin) Terminalde emir seçmenin biletle iki yolu vardır, yani, belirli bir sipariş için değişmeyen sunucudaki siparişe atanan numaraya veya siparişin terminalde saklandığı seri numarasına (endeks) göre. Bu sayı, hangi ve kaç siparişin açıldığına, verildiğine, kapatıldığına veya silindiğine bağlı olarak her tikte değişebilir.

Siparişlerle çalışmak için sipariş numaralandırma döngüleri düzenlenir.

 
rigonich :


Ne de olsa sizin için önemli olan zamanın kendisi değil, belirli bir süre içinde bir şeyler yapılıp yapılmadığı, o yüzden kontrol edin.

PS Ve N tanımlamanız gerekmez, ihtiyacınız olan işlemler tamamlanana (bir sipariş belirleme ) kadar ( TimeCurrent () >= iTime( Symbol (), 1440 , 0 ) ) kontrolünüzü yapın.


Ama bunu şöyle koyarsanız:

 if ( TimeCurrent () >= iTime( Symbol (), 1440 , 0 )

Böylece sinyal, çubuğun açılmasından sonra ve ... sonsuza kadar geçerli olacaktır. Ve neden yapmalıyım? Ana şey, bir paketin değil, bir barın açılışında bir sipariş açmaktır.

 
hoz :

Ama bunu şöyle koyarsanız:

Böylece sinyal, çubuğun açılmasından sonra ve ... sonsuza kadar geçerli olacaktır. Ve neden yapmalıyım? Ana şey, bir paketin değil, bir barın açılışında bir sipariş açmaktır.


Ve ... sonsuza kadar - bu özel bir durumdur, eğer ihtiyacınız olan koşul - sipariş vermek - bugün veya yarın yerine getirilmezse ...

Ve bir paketi açmamak için, her açılıştan önce açık bir siparişin olup olmadığını veya ihtiyacınız olan süre için bir açılış olup olmadığını kontrol etmeniz yeterlidir.

 
rigonich :


Pratikte bu, emirlerle çalışan tüm baykuşlarda kullanılır. önce bir emir seçmeniz gerekir ve sonra onunla bir şeyler yapabilirsiniz (siparişle ilgili bilgileri görüntüleyin, sunucuya değiştirilmesi veya kapanması hakkında bir ticaret talebi gönderin) Terminalde emir seçmenin biletle iki yolu vardır, yani, belirli bir sipariş için değişmeyen sunucudaki siparişe atanan numaraya veya siparişin terminalde saklandığı seri numarasına (endeks) göre. Bu sayı, hangi ve kaç siparişin açıldığına, verildiğine, kapatıldığına veya silindiğine bağlı olarak her tikte değişebilir.

Siparişlerle çalışmak için sipariş numaralandırma döngüleri düzenlenir.


Böyle bir döngüye nasıl başlayacağımı biliyorum...

for(int i=0; i<toplam; i++)

{

if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))

ama sırada ne var? belirli bir değişken nasıl yapılır DOĞRU - son 2 işlem kayıp olduğunda ve YANLIŞ karlı olduğunda?

VEYA bu seçenek.

Durdurarak esnaf kapatırken, bayrakların sayacı bir yerde açılmalıdır .... ama kapanış anı nasıl yakalanır?

 
rigonich :


Bu, terminalde mevcut olan siparişlerle ilgili verileri depolayan dizideki siparişin konumunu belirleyen bir dizindir.

Yani altı çizili olan(SELECT_BY_POS ile) bool OrderSelect( int index , int select, int pool=MODE_TRADES)



ME tarafından son kapatılan işlemin indeks 1'e sahip olacağını doğru anlıyorum. Ve bir sonrakini kapattıktan sonra, indeks 2... ve her yeni kapatılan pozisyonda böyle devam eder mi? Peki ya günün toplamı? dün sayılır mı Yoksa her gün yeniden mi başlıyor?
 
lottamer :


Böyle bir döngüye nasıl başlayacağımı biliyorum...

for(int i=0; i<toplam; i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

ama sırada ne var? belirli bir değişken nasıl yapılır DOĞRU - son 2 işlem kayıp olduğunda ve YANLIŞ karlı olduğunda?

VEYA bu seçenek.

Durdurarak esnaf kapatırken, bayrakların sayacı bir yerde açılmalıdır .... ama kapanış anı nasıl yakalanır?


Bu tür sorunları çözmek için birkaç seçenek vardır. belki de en basiti, tüm siparişler arasında dolaşın, en son kapatılanı arayın, siparişinizin stop veya kar ile kapatılıp kapatılmadığına bakın, biletini hatırlayın, döngüye yeni bir tane ile başlayın, eğer biletle bir sipariş hatırlıyorsanız seçili, atla, sondan bir önceki sırayı bul...

PS ve MODE_TRADES değil, MODE_HISTORY.