orderend() kodlama yardımı... - sayfa 3

 
mugged :

Raptor, sakıncası yoksa... php aracılığıyla bağlantıyı nasıl kontrol etmeyi planlıyordun?

Benim aklımdan geçen şuydu:

EA, Barındırılan Web Sunucuma her 2 dakikada bir FTP yoluyla küçük bir dosya gönderecektir (5 dakika, 30 dakika olabilir, toleransınız ne olursa olsun... FTP ve son 2 dakika içinde güncellenip güncellenmediğini kontrol eder * değilse bana bir uyarı e-postası gönderir.

 
SDC :
Ben hep böyle yaptım çünkü MQL4 kitap örneklerinde böyle yapıyorlar ama şimdi bunun doğru olmadığını düşünüyorum, tabi ki Satış fiyatına açarsanız o fiyattan + TP'nizden kar almak istersiniz. tutar ve bu fiyattan vazgeçmek mi istiyorsunuz - SL tutarınız?

Fiyat-x'te durmak istiyorsanız. Bu ne anlama geliyor? Teklif fiyat-x'e ulaştığında (veya Satış fiyatı ulaştığında) durmak istiyor musunuz?

Bir satın alma işleminde 3 pip SL istiyorsanız ve Ask - 3*pips2dbl kullanın. Açtığınız anda artık 1 pip uzaktasınız (2 pip spread varsayarak.) Yine tanımınıza bağlı

Teklif fiyat-x'e ulaştığında demek istiyorsan, bir satın almada SL'niz fiyat-x olur. Ancak bir Satışta hala fiyat-x'te durmak istersiniz, ancak tetikleyici fiyat, talep ile ilgili olmalıdır. fiyat-x+spread.

Yayılım değiştiğinde ne yaparsınız? Bir Satışta, bu aynı pozisyonda (bir Teklif) kapatmak anlamına gelir, TP/SL'yi değiştirmeniz gerekir. Tanımınıza bağlı.

Yaptığım, Teklife göre TÜM hesaplamaları yapmak ve sonunda ayarlamak.

 //want to open at P
if (OP == OP_BUY)   double bid.to.open = Ask-Bid, bid.to.stop = 0 ,       DIR=+ 1 .;
else                       bid.to.open = 0 ;       bid.to.stop = Ask-Bid; DIR=- 1 .;
:
if ((Bid - P) *DIR >= 0 .){ // Time to open
   double openPrice = Bid + bid.to.open,
   OrderSend ( NULL , OP, v, Bid+bid.to.open...)
 
WHRoeder :

Benim yaklaşımım sadece hatayı bildirmek ve geri dönmek.

Benim endişem, SL & TP = 0 ile açık bir siparişim olması ve EA'mın İnternet bağlantısı olmaması. . . . EA'm bir VPS'de veya kendi ortak sunucumda olsa bile bu olasılık konusunda uyarılmayı tercih ederim.
 

Buna katılmıyorum, "hatayı bildir" dedim.

EA'nın isConnected()==false ile yapabileceği hiçbir şey yok ama bekleyin.

EA'nın ERR_TRADE_TIMEOUT ile yapabileceği hiçbir şey yok, bekleyin ve sonra görün.

Baştan dönmek ve bir sonraki onay işaretini beklemek ve ardından iyileşmek en kolayıdır.

 
WHRoeder :
Buna katılmıyorum, "hatayı bildir" dedim. EA'nın isConnected()==false veya ERR_TRADE_TIMEOUT ile yapabileceği hiçbir şey yoktur, ancak bir sonraki onay işaretini bekleyin ve ardından görün.
Elbette, sadece ne elde ettiğimi anladığınızdan emin oluyordum, bir noktada bir bekçi köpeğinin bana bir şeylerin doğru olmadığını söylemesini istiyorum. . . dolayısıyla cron işi ve PHP fikri.
 
mugged :

Raptor, sakıncası yoksa... php aracılığıyla bağlantıyı nasıl kontrol etmeyi planlıyordun?

Belki böyle bir şey. . .

 <?php
$to = "recipient@example.com";
$subject = "EA is silent";
$body = "EA has stopped responding . . . ";

$file = 'somefile.txt';
$filetime = filemtime($file);
$timetwomins = time()-120; // two mins ago

if ($filetime < $timetwomins) {
   mail($to, $subject, $body)
}
?>
 

Sanırım yapacağım şey, sipariş tetiklenmeden hemen önce bir e-posta uyarısı almak ve ardından durdurmanın değiştirildiğini onaylayan başka bir uyarı almak.

bu yüzden ilkini alırsam ve ilgili değişiklik e-postası gelmezse, o zaman sorunlar olduğunu biliyorum.

 
mugged :

Sanırım yapacağım şey, sipariş tetiklenmeden hemen önce bir e-posta uyarısı almak ve ardından durdurmanın değiştirildiğini onaylayan başka bir uyarı almak.

bu yüzden ilkini alırsam ve ilgili değişiklik e-postası gelmezse, o zaman sorunlar olduğunu biliyorum.

Bence sipariş tetiklendikten sonra bir posta gönderin ve bir diğeri durağın değiştirildiğini onaylayın
 
qjol :
Bence sipariş tetiklendikten sonra bir posta gönderin ve bir diğeri durağın değiştirildiğini onaylayın

E-postayı daha sonra göndermekle ilgili tek endişem, sipariş tetiklenir ve ardından posta gönderilmeden önce bağlantınız kesilirse ne olur?

Diğer şekilde, size bir şeyin tetiklenmek üzere olduğunu söyleyen ilk postaya sahip olursunuz ve ardından 2. postayı durdurma değişikliğini onaylarsınız.

 
RaptorUK :

Belki böyle bir şey. . .


Raptor, bu fikri sevdim. Bunu geçmişte düşündüm ama nasıl yapacağım hakkında hiçbir fikrim yoktu.

Şu anda sahip olduğum şey, sadece EA'nın her saat başı bir e-posta göndererek, çalışır durumda olduğunu onaylıyor. Sadece o postayı kontrol etmenin bir yoluna ihtiyacım olacak ve eğer gelmezse bir uyarı gönder. Aynı fikir farklı yaklaşım sanırım.

Neden: