[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 316

 
granit77 :
Vladimir, bir seçim gönderdiğine göre, görünüşe göre bu konuyla ilgilendin.
Bir değişkeni terminalden terminale bellek, bir Windows değişkeni vb. aracılığıyla, yani bir dosya üzerinden geçirmek için hazır basit bir seçenek görmedim?
Son bir seçenek olarak, bir terminaldeki başka bir terminalden Close[0] çizgisini çevrimiçi olarak çizen bir gösterge. Bir onay grafiğinde, bu karşılaştırma çok net görünecektir.

Dosya Eşleme

veya Atom

https://www.mql5.com/ru/forum/54467

https://www.mql5.com/ru/forum/100455

ve MSDN'de FileMapping örnekleri

 
trave :
Lütfen tek bir bilgisayarda MT4 terminalleri arasında en hızlı şekilde veri alışverişi yapılmasına yardımcı olunuz.
Kütüphane.
 
drknn :

Fırsatları kopyalamanız gerekiyorsa, işte fotokopi makinesi. Sadece veri alışverişi ise, o zaman bir dll-ku yapmanız gerekir.
Teşekkür ederim.
Bu çözümü buldum, basit ve hızlı çalışıyor: https://www.mql5.com/en/forum/127032
 
trave :
Teşekkür ederim.
Bu çözümü buldum, basit ve hızlı çalışıyor: https://www.mql5.com/en/forum/127032 Kitaplığım

Hızlı değil. Orada dosyalar aracılığıyla. Disk tecavüze uğrayacak.

Dosyalarla çalışmak için kitaplığım daha iyi olacak.

 
Zhunko :

Hızlı değil. Orada dosyalar aracılığıyla. Disk tecavüze uğrayacak.

Dosyalarla çalışmak için kitaplığım daha iyi olacak.

Anladığım kadarıyla, transfer dosyalardan değil "adlandırılmış bir borudan" geçiyor
 
#import " kernel32.dll "
int CreateNamedPipeA(string pipeName,int openMode,int pipeMode,int maxInstances,int outBufferSize,int inBufferSize,int defaultTimeOut,int güvenlik);
int PeekNamedPipe(int PipeHandle, int PassAsZero, int PassAsZero2, int PassAsZero3, int & BytesAvailable[], int PassAsZero4);
int CreateFileA(dize Dosya Adı, int AccessMode, int ShareMode, int PassAsZero, int CreationMode, int FlagsAndAttributes, int AlsoPassAsZero);
int CloseHandle(int dosyaHandle);
int ReadFile(int FileHandle, int BufferPtr, int BufferLength, int & BytesRead[], int PassAsZero);
int MulDiv(dize X, int N1, int N2);

#içe aktarmak

Kesinlikle - diskten değil.

 
trave :
Anladığım kadarıyla, transfer dosyalardan değil "adlandırılmış bir borudan" geçiyor

Dikkatsizce baktı. İşte orada: CreateNamedPipe().

Bilgisayarlar arasında veri aktarımı için bu iyi bir seçenektir. Ancak bir bilgisayarın içinde haritalama kullanmak daha iyidir. Yukarıdaki bağlantı.

MQL4 kodunda WinAPI işlevlerini çağırmamak daha da iyidir. Bu çok yavaş ve güvenilir değil.

 
granit77 :
Vladimir, bir seçim gönderdiğine göre, görünüşe göre bu konuyla ilgilendin.
Bir değişkeni terminalden terminale bellek, bir Windows değişkeni vb. aracılığıyla, yani bir dosya üzerinden geçirmek için hazır basit bir seçenek görmedim?
Son bir seçenek olarak, bir terminaldeki başka bir terminalden Close[0] çizgisini çevrimiçi olarak çizen bir gösterge. Bir onay grafiğinde, bu karşılaştırma çok net görünecektir.


Hayır, tanışmadım. Ve şimdi verileri bir terminalden diğerine aktaran en benzer danışmanı yapmam gerekecek.

WinApi'yi kullanabileceğiniz bir yerde infa kaymış gibi görünüyor

 
Roman. :

Senin serbest bırakılmasıyla ... :-)))

teşekkürler
 

Yardım - durum saçmalık noktasına getirildi !!!

 double ticket,sl;
for (cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--)

    {
     if (! OrderSelect (cnt,SELECT_BY_POS, MODE_TRADES)) continue ;
       if (OrderSymbol() != symbol) continue ;
      ticket=OrderTakeProfit();sl=OrderStopLoss();
     if (OrderType() == OP_BUY) 
      {
       if (ticket== NormalizeDouble (tpb, Digits )) continue ;
       if (!OrderModify(OrderTicket(),OrderOpenPrice(),sl,tpb, 0 )) Print ( "tpb: " ,tpb, "  " , ticket-tpb);

      }
     if (OrderType() == OP_SELL) 
      {
       if (ticket== NormalizeDouble (tps, Digits )) continue ;
       if (!OrderModify(OrderTicket(),OrderOpenPrice(),sl,tps, 0 )) Print ( "tps: " ,tps, "  " , ticket-tps);            

      }
    }

Bu kod parçası yürütüldüğünde, günlüğün tamamı şununla kaplıdır:

 14 : 56 : 01 xxyyzz GBPUSD,M5: loaded successfully
14 : 56 : 01 xxyyzz inputs: step= 24 ; Step_coef= 1 ; TP= 10 ; mult= 2 ; min_lot= 0.05 ; lot_step= 50 ; slippage= 3 ;
14 : 56 : 02 2010.12 . 06 20 : 10   xxyyzz GBPUSD,M5: open #1 sell 0.05 GBPUSD at 1.5718 ok
14 : 56 : 02 2010.12 . 06 20 : 10   xxyyzz GBPUSD,M5: modify #1 sell 0.05 GBPUSD at 1.5718 sl: 0.0000 tp: 1.5708 ok
14 : 56 : 02 2010.12 . 06 22 : 27   xxyyzz GBPUSD,M5: open #2 buy 0.05 GBPUSD at 1.5713 ok
14 : 56 : 02 2010.12 . 06 22 : 27   xxyyzz GBPUSD,M5: modify #2 buy 0.05 GBPUSD at 1.5713 sl: 0.0000 tp: 1.5723 ok
14 : 56 : 02 2010.12 . 07 00 : 49   Tester: take profit #1 at 1.5708 (1.5705 / 1.5708)
14 : 56 : 02 2010.12 . 07 02 : 41   Tester: take profit #2 at 1.5723 (1.5723 / 1.5726)
14 : 56 : 03 2010.12 . 07 20 : 02   xxyyzz GBPUSD,M5: open #3 sell 0.05 GBPUSD at 1.5784 ok
14 : 56 : 03 2010.12 . 07 20 : 02   xxyyzz GBPUSD,M5: modify #3 sell 0.05 GBPUSD at 1.5784 sl: 0.0000 tp: 1.5774 ok
14 : 56 : 03 2010.12 . 07 20 : 17   Tester: take profit #3 at 1.5774 (1.5771 / 1.5774)
14 : 56 : 03 2010.12 . 07 21 : 11   xxyyzz GBPUSD,M5: open #4 buy 0.05 GBPUSD at 1.5763 ok
14 : 56 : 03 2010.12 . 07 21 : 11   xxyyzz GBPUSD,M5: modify #4 buy 0.05 GBPUSD at 1.5763 sl: 0.0000 tp: 1.5773 ok
14 : 56 : 03 2010.12 . 07 21 : 11   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 03 2010.12 . 07 21 : 11   xxyyzz GBPUSD,M5: tpb: 1.5773   - 0
14 : 56 : 03 2010.12 . 07 21 : 11   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 03 2010.12 . 07 21 : 11   xxyyzz GBPUSD,M5: tpb: 1.5773   - 0
14 : 56 : 03 2010.12 . 07 21 : 11   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 03 2010.12 . 07 21 : 11   xxyyzz GBPUSD,M5: tpb: 1.5773   - 0
14 : 56 : 03 2010.12 . 07 21 : 11   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 03 2010.12 . 07 21 : 11   xxyyzz GBPUSD,M5: tpb: 1.5773   - 0
........
........
14 : 56 : 05 2010.12 . 08 03 : 31   xxyyzz GBPUSD,M5: tpb: 1.5773   - 0
14 : 56 : 05 2010.12 . 08 03 : 31   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 05 2010.12 . 08 03 : 31   xxyyzz GBPUSD,M5: tpb: 1.5773   - 0
14 : 56 : 05 2010.12 . 08 03 : 31   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 05 2010.12 . 08 03 : 31   xxyyzz GBPUSD,M5: tpb: 1.5773   - 0
14 : 56 : 05 2010.12 . 08 03 : 31   xxyyzz GBPUSD,M5: open #5 buy 0.10 GBPUSD at 1.5739 ok
14 : 56 : 05 2010.12 . 08 03 : 31   xxyyzz GBPUSD,M5: modify #5 buy 0.10 GBPUSD at 1.5739 sl: 0.0000 tp: 1.5773 ok
14 : 56 : 05 2010.12 . 08 03 : 31   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 05 2010.12 . 08 03 : 31   xxyyzz GBPUSD,M5: tpb: 1.5773   - 0
14 : 56 : 05 2010.12 . 08 03 : 31   xxyyzz GBPUSD,M5: modify #5 buy 0.10 GBPUSD at 1.5739 sl: 0.0000 tp: 1.5757 ok
14 : 56 : 05 2010.12 . 08 03 : 31   xxyyzz GBPUSD,M5: modify #4 buy 0.05 GBPUSD at 1.5763 sl: 0.0000 tp: 1.5757 ok
14 : 56 : 05 2010.12 . 08 03 : 31   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 05 2010.12 . 08 03 : 31   xxyyzz GBPUSD,M5: tpb: 1.5757    0
14 : 56 : 05 2010.12 . 08 03 : 31   xxyyzz GBPUSD,M5: OrderModify error 1
........
........ 
14 : 56 : 05 2010.12 . 08 05 : 21   xxyyzz GBPUSD,M5: tpb: 1.5757    0
14 : 56 : 05 2010.12 . 08 05 : 21   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 05 2010.12 . 08 05 : 21   xxyyzz GBPUSD,M5: tpb: 1.5757    0
14 : 56 : 05 2010.12 . 08 05 : 21   xxyyzz GBPUSD,M5: open #6 buy 0.20 GBPUSD at 1.5715 ok
14 : 56 : 05 2010.12 . 08 05 : 21   xxyyzz GBPUSD,M5: modify #6 buy 0.20 GBPUSD at 1.5715 sl: 0.0000 tp: 1.5757 ok
14 : 56 : 05 2010.12 . 08 05 : 21   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 05 2010.12 . 08 05 : 21   xxyyzz GBPUSD,M5: tpb: 1.5757    0
14 : 56 : 05 2010.12 . 08 05 : 21   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 05 2010.12 . 08 05 : 21   xxyyzz GBPUSD,M5: tpb: 1.5757    0
14 : 56 : 05 2010.12 . 08 05 : 21   xxyyzz GBPUSD,M5: modify #6 buy 0.20 GBPUSD at 1.5715 sl: 0.0000 tp: 1.5739 ok
14 : 56 : 05 2010.12 . 08 05 : 21   xxyyzz GBPUSD,M5: modify #5 buy 0.10 GBPUSD at 1.5739 sl: 0.0000 tp: 1.5739 ok
14 : 56 : 05 2010.12 . 08 05 : 21   xxyyzz GBPUSD,M5: modify #4 buy 0.05 GBPUSD at 1.5763 sl: 0.0000 tp: 1.5739 ok
14 : 56 : 05 2010.12 . 08 07 : 31   xxyyzz GBPUSD,M5: open #7 buy 0.40 GBPUSD at 1.5691 ok
14 : 56 : 05 2010.12 . 08 07 : 31   xxyyzz GBPUSD,M5: modify #7 buy 0.40 GBPUSD at 1.5691 sl: 0.0000 tp: 1.5739 ok
14 : 56 : 05 2010.12 . 08 07 : 31   xxyyzz GBPUSD,M5: modify #7 buy 0.40 GBPUSD at 1.5691 sl: 0.0000 tp: 1.5719 ok
14 : 56 : 05 2010.12 . 08 07 : 31   xxyyzz GBPUSD,M5: modify #6 buy 0.20 GBPUSD at 1.5715 sl: 0.0000 tp: 1.5719 ok
14 : 56 : 05 2010.12 . 08 07 : 31   xxyyzz GBPUSD,M5: modify #5 buy 0.10 GBPUSD at 1.5739 sl: 0.0000 tp: 1.5719 ok
14 : 56 : 05 2010.12 . 08 07 : 31   xxyyzz GBPUSD,M5: modify #4 buy 0.05 GBPUSD at 1.5763 sl: 0.0000 tp: 1.5719 ok
14 : 56 : 05 2010.12 . 08 07 : 31   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 05 2010.12 . 08 07 : 31   xxyyzz GBPUSD,M5: tpb: 1.5719    0
14 : 56 : 05 2010.12 . 08 07 : 31   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 05 2010.12 . 08 07 : 31   xxyyzz GBPUSD,M5: tpb: 1.5719    0
14 : 56 : 05 2010.12 . 08 07 : 31   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 06 2010.12 . 08 09 : 11   Tester: take profit #4 at 1.5719 (1.5719 / 1.5722)
14 : 56 : 06 2010.12 . 08 09 : 11   Tester: take profit #5 at 1.5719 (1.5719 / 1.5722)
14 : 56 : 06 2010.12 . 08 09 : 11   Tester: take profit #6 at 1.5719 (1.5719 / 1.5722)
14 : 56 : 06 2010.12 . 08 09 : 11   Tester: take profit #7 at 1.5719 (1.5719 / 1.5722)
14 : 56 : 07 2010.12 . 08 20 : 10   xxyyzz GBPUSD,M5: open #8 buy 0.05 GBPUSD at 1.5796 ok
14 : 56 : 07 2010.12 . 08 20 : 10   xxyyzz GBPUSD,M5: modify #8 buy 0.05 GBPUSD at 1.5796 sl: 0.0000 tp: 1.5806 ok
14 : 56 : 07 2010.12 . 08 20 : 33   Tester: take profit #8 at 1.5806 (1.5806 / 1.5809)
14 : 56 : 07 2010.12 . 08 20 : 49   xxyyzz GBPUSD,M5: open #9 sell 0.05 GBPUSD at 1.5806 ok
14 : 56 : 07 2010.12 . 08 20 : 50   xxyyzz GBPUSD,M5: modify #9 sell 0.05 GBPUSD at 1.5806 sl: 0.0000 tp: 1.5796 ok
14 : 56 : 07 2010.12 . 08 20 : 50   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 07 2010.12 . 08 20 : 50   xxyyzz GBPUSD,M5: tps: 1.5796   - 0
14 : 56 : 07 2010.12 . 08 20 : 50   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 07 2010.12 . 08 20 : 50   xxyyzz GBPUSD,M5: tps: 1.5796   - 0
14 : 56 : 07 2010.12 . 08 20 : 50   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 07 2010.12 . 08 20 : 50   xxyyzz GBPUSD,M5: tps: 1.5796   - 0
14 : 56 : 07 2010.12 . 08 20 : 50   xxyyzz GBPUSD,M5: OrderModify error 1
........
........
14 : 56 : 07 2010.12 . 08 21 : 11   xxyyzz GBPUSD,M5: tps: 1.5796   - 0
14 : 56 : 07 2010.12 . 08 21 : 11   Tester: take profit #9 at 1.5796 (1.5793 / 1.5796)
14 : 56 : 07 2010.12 . 08 21 : 30   xxyyzz GBPUSD,M5: open #10 buy 0.05 GBPUSD at 1.5795 ok
14 : 56 : 07 2010.12 . 08 21 : 30   xxyyzz GBPUSD,M5: modify #10 buy 0.05 GBPUSD at 1.5795 sl: 0.0000 tp: 1.5805 ok
14 : 56 : 07 2010.12 . 08 21 : 48   Tester: take profit #10 at 1.5805 (1.5805 / 1.5808)
14 : 56 : 07 2010.12 . 08 22 : 10   xxyyzz GBPUSD,M5: open #11 sell 0.05 GBPUSD at 1.5806 ok
14 : 56 : 07 2010.12 . 08 22 : 10   xxyyzz GBPUSD,M5: modify #11 sell 0.05 GBPUSD at 1.5806 sl: 0.0000 tp: 1.5796 ok
14 : 56 : 07 2010.12 . 08 22 : 10   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 07 2010.12 . 08 22 : 10   xxyyzz GBPUSD,M5: tps: 1.5796   - 0
14 : 56 : 07 2010.12 . 08 22 : 10   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 07 2010.12 . 08 22 : 10   xxyyzz GBPUSD,M5: tps: 1.5796   - 0
14 : 56 : 07 2010.12 . 08 22 : 10   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 07 2010.12 . 08 22 : 10   xxyyzz GBPUSD,M5: tps: 1.5796   - 0
14 : 56 : 07 2010.12 . 08 22 : 10   xxyyzz GBPUSD,M5: OrderModify error 1
14 : 56 : 07 2010.12 . 08 23 : 59   xxyyzz GBPUSD,M5: tps: 1.5796   - 0
14 : 56 : 07 2010.12 . 08 23 : 59   Tester: order #11 is closed

TP değerini tpb veya tps değerine eşit olarak değiştirmeye çalışırken hata 1 görünüyor, ancak neden koddaki satır

if (ticket==NormalizeDouble(tps,Digits)) continue;

Haydi Yapalım şunu?????!!!!!!!!!!