Yeni bir satırda bir dosyaya yazma - sayfa 4

 

Görünüşe göre satırların üstüne, herhangi bir zorluk çekmeden ilk satır yerine yeni bir satır yazmak, en azından yeni bir satır yazmak mümkün.


 //Открываем файл 
   int h1= FileOpen ( "Copy.txt" , FILE_WRITE | FILE_READ , ";" );
   FileSeek (h1, 0 , SEEK_SET );
   FileWrite (h1, Symbol (),OP_BUYSTOP,OrderLots()*Koof,OrderStopLoss(),Slippage, 0 , 0 , IntegerToString (OrderTicket()));
   FileClose (h1);
// закрываем файл
 
Artık seçenekleriniz var, sizin için neyin daha uygun olduğuna kendiniz karar verin
 
EfremovSergey :

Görünüşe göre satırların üstüne, herhangi bir zorluk çekmeden ilk satır yerine yeni bir satır yazmak, en azından yeni bir satır yazmak mümkün.


Doğrudan parlaklık! noktaya, topuğa ..

Bir şeyin yazılması gerekiyorsa, o zaman yazılmalıdır. Nerede, ne zaman, nasıl, neden, neden ve kim-bizim umursamıyoruz. Bizim işimiz yazmak ve kimin okuması gerekiyor - bırakın kendilerini döndürsünler ..

 
Maxim Kuznetsov :

Doğrudan parlaklık! noktaya, topuğa ..

Bir şeyin yazılması gerekiyorsa, o zaman yazılmalıdır. Nerede, ne zaman, nasıl, neden, neden ve kim-bizim umursamıyoruz. Bizim işimiz yazmak ve kimin okuması gerekiyor - bırakın kendilerini döndürsünler ..

Yani evet, bu bir seçenek...

Bir dizeye yeni bilgiler yazabilir veya sadece çöp yazabilirsiniz, ancak bir nedenden dolayı onu hiç silemezsiniz ... garip bir hikaye ...

 

Dosya ile nasıl çalışılacağını buldum, herkese çok teşekkürler ve büyük beğeni.

Böyle bir soru, biraz konu dışı.

satırı okumanın sonucu

 string s= FileReadString (h)

s değeri elde edilir, bu, örneğin EURUSD,5,0,02,1.17808,70,0,0,302090516 gibi bir sipariş açmak için verileri ifade eder

Açılan siparişin her bir bileşen tanımlayıcı kısmını ayrı ayrı izole etmeden bu değeri bir şekilde tamamıyla OrderSend işlemine yerleştirmek mümkün müdür?

 OrderSend (s)

doğal olarak yuvarlanmaz

OrderSend - Торговые функции - Справочник MQL4
OrderSend - Торговые функции - Справочник MQL4
  • docs.mql4.com
[in]  Цвет открывающей стрелки на графике. Если параметр отсутствует или его значение равно CLR_NONE, то открывающая стрелка не отображается на графике. При открытии рыночного ордера (OP_SELL или OP_BUY) в качестве цены открытия могут использоваться только самые последние цены Bid (для продажи) или Ask (для покупки). Если операция проводится по...
 
İşlev, farklı türlerdeki birkaç değişkenin değerlerini alır ve bir dizginiz olur.
 
EfremovSergey :

Benim görüşüme göre, önceden işlenmiş bilgilerden kurtulmazsanız, yeniden analizi için kaynak harcamanız gerekecektir.

Bilgi, eğer bir danışman çerçevesindeyse, bir dosyaya yazılması gerekli değildir, eğer kendiniz okumanız gerekmiyorsa. yandan ise, okuduktan sonra dosyaya boş bir dosya yazın.

 
Aleksei Stepanenko :
İşlev, farklı türlerdeki birkaç değişkenin değerlerini alır ve bir dizginiz olur.

Soru bu... bir dizgeden değişkenlerin nasıl "acısız bir şekilde" numaralandırılacağı. StringSubstr işlevi kullanılarak çok evrensel olmayan bir çözüm elde edilir. StringSplit nasıl çalıştığını tam olarak anlamadı ... Belki bazı dönüşümler yapılabilir?

 
Valeriy Yastremskiy :

Bilgi, eğer bir danışman çerçevesindeyse, bir dosyaya yazılması gerekli değildir, eğer kendiniz okumanız gerekmiyorsa. dışarıdan ise, okuduktan sonra dosyaya boş bir dosya yazın.

Herhangi bir çift için emir açacak ayrı bir danışman yaparsanız ve belirli bir çiftin danışmanı yönetim için açık bir emri durdurursa, büyük olasılıkla bu seçenek işe yarayacaktır, ancak ayrı bir çiftin her danışmanının birlikte çalışması gerekiyorsa, dosya ayrı ayrı, daha sonra bu şemaya göre senkronize etmek mümkün olmazdı.

 

Bir dizi kullanmanın rahatlığı fikrini iletmeyi bir kez daha deneyeceğim

 struct MyData
   {
   string    symbol;               // символ
   int       operation;           // торговая операция
   double    lot;                 // количество лотов
   double    stoploss;             // stop loss
   double    takeprofit;           // take profit
   int       magic;               // идентификатор
   } my[];

for ( int i= 0 ; i< ArraySize (my); i++)
   {
   if (my[i].magic==MagicNumber)
      {
      eTicket= OrderSend (my[i].symbol,my[i].operation,my[i].lot,ePrice,( int ) SymbolInfoInteger (my[i].symbol, SYMBOL_SPREAD ),
			my[i].stoploss,my[i].takeprofit, NULL ,my[i].magic, 0 ,eColor);
      }
   }

Bu dizi zaten yazılmış bir dosyaya nasıl kaydedilir.

Veya dizenizi ayrıştırın.

Neden: