MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 448

 
Mickey Moose :


her şey yolunda, onu çıkarmak istiyorum

bu dosyadan kaynak almak, bu tür bir sorunu çözmekten çok daha zordur)

genellikle harika bir şey yapabilirsiniz: bir danışman (veya kaynak kodları olmadan sahip olduğunuz her şey) komşu bir tabloya posta gönderir :-)

sadece boş zamanımda http://luxtrade.tk/atcl:start yaptım (forum başlığı: https://www.mql5.com/ru/forum/224745 )

ve paketlerde bir SMTP sunucusu var ( https://core.tcl.tk/tcllib/doc/tcllib-1-18/embedded/www/tcllib/files/modules/smtpd/smtpd.html )

yani, göstergede Eval("paket gerekli smtpd") komutunu verebilir, ardından aynı işlemde MetaTrader'dan gerçekten ayrılmadan gerekli postayı hemen teslim etmek ve almak için bir geri arama ayarlayabilirsiniz.

ATcl
  • luxtrade.tk
Рад представить вам библиотеку ATcl v1 beta - интерпретатор Tcl для MT4. Расширяте возможности ваших программ MQL, используйте СУБД, дополняйте сетевыми средствами, интегрируйте их с любыми программами используя Tcl.
 
Maxim Kuznetsov :

genellikle harika bir şey yapabilirsiniz: bir danışman (veya kaynak kodları olmadan sahip olduğunuz her şey) komşu bir tabloya posta gönderir :-)

sadece boş zamanımda http://luxtrade.tk/atcl:start yaptım (forum başlığı: https://www.mql5.com/en/forum/224745 )

ve paketlerde bir SMTP sunucusu var ( https://core.tcl.tk/tcllib/doc/tcllib-1-18/embedded/www/tcllib/files/modules/smtpd/smtpd.html )

yani, göstergede Eval("paket gerekli smtpd") komutunu verebilir, ardından aynı işlemde MetaTrader'dan gerçekten ayrılmadan gerekli postayı hemen teslim etmek ve almak için bir geri arama ayarlayabilirsiniz.

Sonucu paylaşabilirsem çözmeye çalışacağım

 
Artyom Trishkin :

Bu, ayarlarda belirlediğiniz çubuklarda tarih boyunca noktalar koymalıdır.

Teşekkürler, ancak okun bulunduğu çubuk numarasını bulmaya çalışıyorum ve ancak o zaman onu on ile karşılaştırıyorum (örneğin) iç içe bir döngü olmadan yapamam.

Şu anda çağrılan göstergenin okunun hangi çubukta olduğunu bilmem gerekiyor.

Görünüşe göre düşüncelerimi hiç ifade edemiyorum.) Bir örnekle ne yapmak istediğimi daha net anlayacağını düşünüyorum.

Örneğin, geçmiş boyunca if(Open[i+1]>Cloce[i+1]) koşuluna göre, okun bulunduğu çubuğun numarasıyla Metni Yüksek[i+1] olarak ayarlayın
 
Mickey Moose :

Sonucu paylaşabilirsem çözmeye çalışacağım

Bir şey olursa, sorun - yine de kişisel olarak yapabilirsiniz veya kişiler profildedir. Siteyi sık sık ziyaret ediyorum, ancak tüm foruma bakmıyorum - takip edemiyorsunuz, yanlışlıkla bir soruyu atlayabilirim
 

Tüm işlemler için belirli bir kâra ulaşıldığında tüm döviz çiftleri için tüm işlemlerin kapatılmasının MQL5'te nasıl uygulanacağını söyleyebilir misiniz, bu EA tarafından mı yoksa başka bir şey tarafından mı açıldıkları önemli değil mi?

Bunu beğendim, doğru mu?

   if ( AccountInfoDouble ( ACCOUNT_PROFIT )>profit_close_all)
         for ( int i= 0 ; i< OrdersTotal (); i++)
            trade.PositionClose( OrderGetTicket (i), 40 );
 

Artyom Trishkin , karar verdi. Gerçekten iç içe döngüler gereksizdir. Teşekkür ederim )

 
Roman Sharanov :

Tüm işlemler için belirli bir kâra ulaşıldığında tüm döviz çiftleri için tüm işlemlerin kapatılmasının MQL5'te nasıl uygulanacağını söyleyebilir misiniz, bu EA tarafından mı yoksa başka bir şey tarafından mı açıldıkları önemli değil mi?

Bunu beğendim, doğru mu?

Hayır, doğru değil. mql5 OrdersTotal()'da bu bekleyen emirlerin sayısıdır, aktif emirlere pozisyon denir. Buna göre çevrim, pozisyon sayısına göre oluşturulmalıdır, PositionsTotal()
 
Roman Sharanov :

Bunu beğendim, doğru mu?

 if ( AccountInfoDouble ( ACCOUNT_PROFIT )>profit_close_all)
         for ( int i= PositionsTotal ()- 1 ; i>= 0 ; i--)
            trade.PositionClose( PositionGetTicket (i), 40 );

Bunun gibi bir şey.

Sıfırdan bir döngü kullanıyorsunuz, ancak büyükten sıfıra tersini yapmanız gerekiyor, çünkü siparişleri döngü içinde kapatırsınız. İkincisi, size zaten PositionsTotal() kullanmanız söylendi.

 
Anladım, yardımın için teşekkürler!
 
Roman Sharanov :
Anladım, yardımın için teşekkürler!

Vurgulanan satırda OrderGetTicket() öğesini PositionGetTicket() olarak değiştirmeyi unutmayın.

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MQL4, yardım ve algoritmalar ve kodlar hakkında herhangi bir acemi sorusu

Konstantin Nikitin , 2018.02.03 08:38

 if ( AccountInfoDouble ( ACCOUNT_PROFIT )>profit_close_all)
         for ( int i= PositionsTotal ()- 1 ; i>= 0 ; i--)
            trade.PositionClose( OrderGetTicket (i), 40 );

Bunun gibi bir şey.

Sıfırdan bir döngü kullanıyorsunuz, ancak büyükten sıfıra tersini yapmanız gerekiyor, çünkü siparişleri döngü içinde kapatırsınız. İkincisi, size zaten PositionsTotal() kullanmanız söylendi.