[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 828

 
chief2000 :

Pek öyle değil - bir Stop emri için açılış fiyatı, Örneğin, Satın Al durumunda,

önceki fraktal yüksek (= OpenPrice ) + Spread

(Sorunun Stop_Level veya daha fazla değeri ile fraktalın altında olması şartıyla). Onlar. sipariş Ask'tan değil, bazı "dış" koşullardan verilir.

Ancak daha büyük ölçüde, TakeProfit ve StopLoss'taki Spread'in muhasebeleştirilmesi hakkında bilgi edinmek istiyorum:

- Satın Alma durumunda:

OrderSend ( Symbol (), OP_BUYSTOP, Lot, OpenPrice+Spread, Slippage, OpenPrice-StopLoss, OpenPrice+TakeProfit+Spread, ...)

- Satmak:

- Doğru mu yoksa bir şey mi kaçırdım?

Doğru, zaten uykuya dalıyorum, ancak müşteriyle yapılan en zorlu pazarlıklardan yoruldum, ancak tek bir şey söyleyeceğim: Buy pozunu Sor ile açıyoruz, Bid ile kapatıyoruz.
Ve Ask ve Bid arasındaki fark, yayılmadır... Bu yüzden dans ediyoruz efendim...
 
Mesaj yazmak için "cevapla" tuşuna basmak zorunda mısın? "Cevapla"ya tıklamadan bir konuya nasıl mesaj eklenir?
 
 
peshihod :
Mesaj yazmak için "cevapla" tuşuna basmak zorunda mısın? "Cevapla"ya tıklamadan bir konuya nasıl mesaj eklenir?

Editör penceresinin altında ve "Yorum ekle" düğmesi
 

Okuyorum, anlamaya çalışıyorum, kısaltmalara ve anlaşılmaz kelimelere takılıyorum. TZ, TF, daireler vb.

Temel kısaltmalar sözlüğü, az anlaşılan kelimeler gibi bir şey var mı?

Bilge bir adam dedi ki: "Her kelimenin tam bir tanımını yap, insanlığı aldanışların yarısından kurtarmış olursun!"

 

Mevcut fiyatlarla, bekleyen bir emir değil, yani:

satın almak:

 OrderSend ( Symbol (), OP_BUY, Lots, Ask, Slippage, Bid-StopLoss, Bid+TakeProfit, ...)

satmak:

 OrderSend ( Symbol (), OP_SELL, Lots, Bid, Slippage, Ask+StopLoss, Ask-TakeProfit, ...)

Ertelenmiş için - hesabın hangi fiyatlarla tutulduğu programcıya bağlıdır.

Her durumda, StopLoss ve TakeProfit aynı fiyattan hesaplanır ve OpenPrice, spread ile ondan (fiyat) farklıdır.

 

Merhaba! MQL4 ve genel olarak programlama konusunda yeniyim, bu yüzden şu sorum var:

Belirli bir zamana kadar, diyelim ki 21.15, listedeki 0'dan 3'e kadar olan tüm açık pozisyonları kapatan bir kod yazdım:

if((TimeHour(TimeCurrent()) == MyHour)&&(TimeMinute(TimeCurrent())== MyMinute))
  { 
   for(int j=0;j<4;j++)
     {
     if((OrderSelect(j,SELECT_BY_POS,MODE_TRADES)==true))
      {
      Print("Order:",OrderTicket());
      OrderClose(OrderTicket(),MyLots,Bid,5,color3);
      }
      else
      Print("OrderSelect() vernul oshibku - ",GetLastError()); 
   }  

Test cihazında aşağıdakiler gerçekleşir: 0 ve 1 siparişleri belirtilen zamanda kapanır ve 2 ve 3 siparişleri aynı anda ancak bir gün içinde kapanır.

Ayrıca, listedeki 0'dan 3'e kadar olan tüm siparişler için stoploss'u değiştiren bir kod parçası yazılmıştır:

 if(Diff2 <= 0.0012)
  {
   int pos1;
   int total = OrdersTotal();
   for(pos1=0; pos<total; pos1++)
     {
     if(OrderSelect(pos1,SELECT_BY_POS,MODE_TRADES)==true)
      {
       Print("Order1:",OrderTicket());
       OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),Ask-Point*TakeProfit,0,color3);   
      }
      else
       Print("OrderSelect() vernul oshibku - ",GetLastError());  
     } 
  }

Test cihazında aşağıdakiler gerçekleşir: "sonuç" sekmesinde, test cihazı tüm siparişlerin değişikliklerini yazar, ardından kilitlenir ve günlükte sürekli olarak görüntülenir.

"OrderSelect() vernul oshibku - 0" mesajı

Lütfen bana burada neyin yanlış olduğunu veya bu davranışın neyle bağlantılı olabileceğini söyleyin? Cevabınız için şimdiden teşekkürler.

 

chief2000 :

Bir soruyu açıklığa kavuşturmak istiyorum - bir Durdurma emri açmaktan bahsediyoruz. ...

Hepinize çok teşekkürler!

 
chief2000 :

şef2000:

Bir soruyu açıklığa kavuşturmak istiyorum - bir Durdurma emri açmaktan bahsediyoruz. ...
yardımcı olabilir!! Tek bir fiyattan başlamaya çalışalım: Diyelim ki Teklif. OP_SELLSTOP için açılış fiyatı Bid olacak ve OP_BUYSTOP için Bid+87*Puan (veya neye ihtiyacınız varsa) olacak.
 
temkin:

>>Listede 0'dan 3'e kadar olan tüm açık pozisyonları belli bir zamana kadar kapatan bir kod yazdım 21.15 diyelim:

>>Test cihazında aşağıdakiler gerçekleşir: 0 ve 1 numaralı siparişler belirtilen saatte ve 2 ve 3 numaralı siparişler aynı anda ancak bir gün içinde kapatılır.

OrderClose() sadece açık emirleri kapatır. Bekleyenleri silmek için -- OrderDelete(). Muhtemelen iki sipariş daha beklemededir??? Bir günde çalışırlar (açarlar) ve ardından OrderClose()'u kapatırlar mı?

>> 0'dan 3'e kadar tüm siparişler için stoploss'u değiştiren bir kod parçası da yazılmıştır.


for(pos1=0; pos<total; pos1++)

Для "pos1" в условии цикла пропустил единицу:

for(pos1=0; pos1<total; pos1++)

Neden: