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

 
Kiev saatinde veya GMT'de tüm borsalarda öğle yemeği molasının başlangıcı ve bitişiyle ilgili verileri bulabileceğiniz yer
 
alexey1979621 :

Merhaba! 711. sayfada buna benzer bir soru sormuştum maalesef kimse cevap vermemiş, belki şimdi birileri...

Bunu şöyle yapıyorum:

Durumu sıfır toplam konumuna (kilit) getiriyorum, ardından kilidi kapatıyorum.

Şimdi, detay.

1. Toplam pozisyonun hesaplanması:

siparişlerin numaralandırılması

Bu bir satın alma ise, toplam pozisyon sipariş lotunun büyüklüğü kadar artırılır.

Bir satış varsa, toplam pozisyon sipariş lotu miktarı kadar azaltılır.

sipariş döngüsünün sonu

2. Bir kilit oluşturun:

toplam pozisyon sıfırdan büyükse sat;

toplam pozisyon sıfırdan azsa, satın alın;

yoksa hiçbir şey yapmıyoruz.

Parti büyüklüğü toplam pozisyona eşittir.

3. Kilidi kapatın (kapalı konumlar)

Sonsuz döngü ( while (true))

alış ve satış emirlerinin biletlerini sıfırla

sipariş döngüsü

eğer (satın al) bir satın alma emri biletini düzeltirse

eğer (sat) bir satış emri biletini düzeltirse

sipariş döngüsünün sonu

eğer (bir satış ve bir alım varsa) o zaman çapraz kapat

aksi takdirde sonsuz döngüden çık (break)

sonsuz bir döngünün sonu

Şimdi bu algoritmayı seçilen dilde (MQL4) programlıyoruz.

 

beyler, bekleyen bir sipariş için bir kapanış saati belirleyip belirlemediğimi söyleyin

Data_1=iTime(Symbol(),PERIOD_D1,0)+86400; // sipariş ömrü

zaten piyasadaysa (tobish çıktı), yine de kapanacak veya kapanmayacak

 
korobok777 :

beyler, bekleyen bir sipariş için bir kapanış saati belirleyip belirlemediğimi söyleyin

Data_1=iTime(Symbol(),PERIOD_D1,0)+86400; // sipariş ömrü

zaten piyasadaysa (tobish çıktı), yine de kapanacak veya kapanmayacak

Numara
 
artmedia70 :
Numara
çok teşekkürler dostum
 

Herkese merhaba, dosya işlemleriyle hiç çalışmadım ama burada mecbur kaldım ve bir türlü aydınlatamıyorum.

Görev, her gün birkaç kez csv dosyasına veri yazmaktır.

Yani bugün 24.09.2014, veriler türe göre farklı hücrelerde bir satıra yazılır

bir B C

1 Tarih | değer | değer |

bugün veriler değiştiyse, 24.09.2014 tarihinden itibaren satırı yeniden yazıyoruz

yeni bir gün geldiyse, o zaman yeni bir hatta gidin.

Sigara içiyorum ve sigara içmiyorum...

 
VOLDEMAR :

Herkese merhaba, dosya işlemleriyle hiç çalışmadım ama burada mecbur kaldım ve bir türlü aydınlatamıyorum.

Görev, her gün birkaç kez csv dosyasına veri yazmaktır.

Yani bugün 24.09.2014, veriler türe göre farklı hücrelerde bir satıra yazılır

bir B C

1 Tarih | değer | değer |

bugün veriler değiştiyse, 24.09.2014 tarihinden itibaren satırı yeniden yazıyoruz

yeni bir gün geldiyse yeni bir hatta geçiyoruz.

Sigara içiyorum ve sigara içmiyorum...

 void Запись()
{
   int handle;
   string st=TimeToStr( TimeCurrent (), TIME_DATE );
   string filename = st+ " Bid_Ask.csv" ; // Формируем имя файла
  handle = FileOpen (filename, FILE_CSV | FILE_READ | FILE_WRITE , ';' );
   if (handle < 1 )
  {
     Print ( "Не удалось создать файл. Ошибка #" , GetLastError ());
     return ;
     //FileClose(handle);
  }
  
   FileWrite (handle,                   
             " Время " ,
             " Bid " ,
             " Ask " ,
             " Volume " ); // заголовок
   FileSeek (handle, 0 , SEEK_END );
   FileWrite (handle,
            TimeToStr( TimeCurrent (), TIME_MINUTES | TIME_SECONDS ),
            Bid,
            Ask,
            Volume[ 0 ]);
 
   FileClose (handle);
   return ;
}
Muhtemelen böyle bir şey.
 
r772ra :
Muhtemelen böyle bir şey.

ve veriler değiştiyse son satırı nasıl yeniden yazabilirim?

 
VOLDEMAR :

ve veriler değiştiyse son satırı nasıl yeniden yazabilirim?

Yardım için FileSeek() .

 

Veriler değiştiyse, fileseek ile üzerine yazacağımız yere bir işaretçi koymanız, normal filewrite ... yöntemiyle üzerine yazmanız, dosyanın sonunu hatırlamanız ve WinApi işlevini kesmeniz gerekir.

Veya normal yöntemle - dosyanın en sonuna yararlı bilgilerin bittiği konumu ekleyin ve bir sonraki çalışma sırasında bu konumu okuyun. (Pozisyonu başka bir dosyaya yazabilirsiniz)

Ancak yine de kesmek daha iyidir, ancak standart bir düzeltme aracı yoktur ((

bu Zhunko   12.09.2014 20:19   #

WinApi işlevleri de ilginç olurdu