Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 354

 
Arsen_Syharev :
Sell1 ve Sell2 fraktallarını açarken aynı anda bir emir açılması için hangi komutu yazacağımı söyle
Forumda bir şeyler boş.
 
Merhaba arkadaşlar, bana en basit fonksiyonu söyleyin, eğer şartlar gelirse.. (SigPF==1 veya SigPF==2) ve OrdersTotal>0 yani. SigPF koşullarından biri meydana gelirse, yalnızca şu anda piyasada bulunan siparişleri işlemek gerekir.

Fonksiyonun içindeki durumu test etmek için harici değişken..
harici int PF_price_in_pips=70;
İşlev şunları yapmalıdır:
1. Hangi emirlerle ilgileneceğimizi belirleyin.. SigPF==1 ise bu bir ALIŞ emridir (alış sinyali), SigPF==2 ise bunlar SAT emridir (Satış sinyali)
2. mevcut fiyatı kontrol edin ve eğer
piyasada şimdi Siparişleri al ve SigPF==1 idi, o zaman

Bir Alış emrinin açılacağı mevcut fiyat ile piyasada bulunan herhangi bir emir açılış fiyatı arasındaki fark PF_price_in_pips değerinden büyükse, fonksiyon valid_signal=true bayrağını döndürmelidir


piyasada şimdi Satış emirleri ve SigPF==2 idi, o zaman

Halihazırda piyasada bulunan herhangi bir emir açılış fiyatı ile Sell emrinin açılacağı cari fiyat arasındaki fark PF_price_in_pips değerinden büyükse, fonksiyon valid_signal=true bayrağını döndürmelidir

alım-satım sinyallerinin oluştuğu anda yeni bir emrin açılış fiyatı arasındaki mesafe PF_price_in_pips'den az ise, fonksiyon valid_signal=false değerini döndürür.

Genel olarak, kısaca, fonksiyon, alım-satım sinyalleri için yeni bir emrin açılış fiyatı (SigPF==1, SigPF==2) ile halihazırda piyasada olan herhangi bir emir açılış fiyatı arasındaki mesafeyi kontrol etmelidir. .. ve eğer bu mesafe PF_price_in_pips değerinden büyükse, geçerli_signal=true bayrağını döndürün, eğer bu mesafe daha az ise valid_signal=false. Bu, birbirine çok yakın fiyatlarla emirlerin açılmasını önlemek içindir! Ve bir şey daha.. danışmanım sadece yeni bir barın açılışında işlem yapıyor.. tüm kenelerde değil.. gerçi bence önemli değil.. yine de Bid veya Ask fiyatlarını hesaba katması gerekecek. .

bu özellik için yardım edin..! Bir şey net değilse, açıklamaya çalışacağım .. veya resim vereceğim! Lütfen yardım edin) Teşekkürler!
 

Terimleri doğru anladığımdan emin değilim ama..

   int PF_price_in_pips=70;
   int OrdTotal=OrdersTotal();
   bool valid_signal=false;
   int SigFF;
   
   if(OrdersTotal()>0)
   {
   for(int i=OrdTotal-1; i>=0; i --)
     {
      if(!OrderSelect(i,SELECT_BY_POS))
         continue;

      if(OrderType()==OP_BUY && SigFF==1 && Ask+OrderOpenPrice()>PF_price_in_pips)
         valid_signal=true;
         else
         valid_signal=false;
      if(OrderType()==OP_SELL && SigFF==2 && OrderOpenPrice()-Bid>PF_price_in_pips)
         valid_signal=true;
         else
         valid_signal=false;

     }
     }
 
Arsen_Syharev :
Sell1 ve Sell2 fraktallarını açarken aynı anda bir emir açılması için hangi komutu yazacağımı söyle
Sell1 ve Sell2'nin hangi değeri bir emir açmak için size uygun olacaktır. // Artık eziyetine bakamıyorum....
 
Arsen_Syharev :
Sell1 ve Sell2 fraktallarını açarken aynı anda bir emir açılması için hangi komutu yazacağımı söyle
 if (Sell1 != 0 && Sell2 != 0 ){

/* Если по текущей цене */ 

OrderSend (Symbol1, OP_SELL, Lots, Bid, 1 , 0 , 0 , 0 , Magik, 0 , Red);

OrderSend (Symbol2, OP_SELL, Lots, Bid, 1 , 0 , 0 , 0 , Magik, 0 , Red); 

/*Если по пробитию фракталов отложенными ордерами */

 OrderSend (Symbol1, OP_SELLSTOP, Lots, Sell1, 1 , 0 , 0 , 0 , Magik, 0 , Red);

OrderSend (Symbol2, OP_SELLSTOP, Lots, Sell2, 1 , 0 , 0 , 0 , Magik, 0 , Red);  

} 

Ama bu muhtemelen ÇOK ÇOK kaba bir örnek

 
Söylemeyin yoldaşlar, bir hesapta birden fazla sinyale imza atmak mümkün müdür?
 

Merhaba arkadaşlar aranıza yeni katıldım :) Bekleyen siparişler vermekten bıktım, internetten indirilen betiği kullanmaya karar verdim tatmin etmedi: biri bazı hatalar verdi ve sadece bir yönde, diğeri her yönde sadece bir sipariş verdi. Birkaç saat acı çektikten sonra, basit olanımı atladım, bunun özü, belirli sayıda bekleyen limit emrinin her iki yönde de açılmasıdır. Soru: Her siparişte nasıl takip eden bir durdurma yapılır? Bu bir senaryo, danışman değil. Yani emirler açıldı, iz kaldı ve hepsi bu, senaryo işini yaptı. Bir komut dosyası ile normal bir son durak nasıl çağırılır, bir sipariş üzerinde farenin sağ tuşuna tıklanarak ne yapılır? 4. MetaTrader Yapı 765.

 
entitie :

Merhaba arkadaşlar aranıza yeni katıldım :) Bekleyen siparişler vermekten bıktım, internetten indirilen betiği kullanmaya karar verdim tatmin etmedi: biri bazı hatalar verdi ve sadece bir yönde, diğeri her yönde sadece bir sipariş verdi. Birkaç saat acı çektikten sonra, basit olanımı atladım, bunun özü, belirli sayıda bekleyen limit emrinin her iki yönde de açılmasıdır. Soru: Her siparişte nasıl takip eden bir durdurma yapılır? Bu bir senaryo, danışman değil. Yani emirler açıldı, iz kaldı ve hepsi bu, senaryo işini yaptı. Bir komut dosyası ile normal bir son durak nasıl çağırılır, bir sipariş üzerinde farenin sağ tuşuna tıklanarak ne yapılır? 4. MetaTrader Yapı 765.

Serbest çalışma her şeyi yapar.
 

Merhaba!

Görev şu şekildedir - alımda EURUSD.m ve satışta EURUSD.m1 için belirli bir mesafe Adımından sonra emir açmanız gerekir. Bu sorun aşağıdaki kodda çözülmüştür.

Ancak, fiyat aleyhimize hareket ederse, fiyatın EURUSD.m1'de satış yapmak için son siparişten Adım*2'ye eşit bir mesafeyi geçmesi şartıyla, alımda EURUSD.m'de hala emir açmamız gerekir. Bu koşul, bu tür açık olanların EURUSD.m'deki son alış emrinin açılışından daha düşük bir fiyatta gerçekleşmesi koşuluyla işe yarayacaktır.

Nasıl yazacağımı bulamıyorum. yardım için minnettar olacağım

 // бай евро доллар
if (rates[ 1 ].open < rates[ 1 ].close && ! PositionSelect (Symbol1)) 
   {
      LastPriceBuy = OpenBuy(Symbol1,Lot); // если бычья свеча и нет открытой позиции по этому символу
   }
if ( GlobalVariableCheck ( "bb_1" )) GlobalVariableGet ( "bb_1" , bb_1);   // цифровая переменная внутренняя и ее проверка

if ( PositionSelect (Symbol1) && LastPriceBuy > 0 ) //открытие второго и последующих ордеров
  {
   if (LastPriceBuy+Step* _Point < SymbolInfoDouble (Symbol1, SYMBOL_ASK )) 
   {LastPriceBuy = OpenBuy(Symbol1,Lot);} // открытие позиции в бай по евро доллару всех последующих ордеров 
  }    

// сел евро доллар
if (rates[ 1 ].open > rates[ 1 ].close && ! PositionSelect (Symbol3)) {LastPriceSell = OpenSell(Symbol3,Lot);} // если бычья свеча и нет открытой позиции по этому символу
if ( GlobalVariableCheck ( "ss_1" )) GlobalVariableGet ( "ss1_" , ss_1);   // цифровая переменная внутренняя и ее проверка

if ( PositionSelect (Symbol3) && LastPriceSell > 0 ) //открытие второго и последующих ордеров
  {
   if (LastPriceSell-Step* _Point > SymbolInfoDouble (Symbol3, SYMBOL_BID ))
   {LastPriceSell = OpenSell(Symbol3,Lot);} // открытие позиции в селл по евро доллару всех последующих ордеров 
  } 
 
zfs :
Serbest çalışma her şeyi yapar.

Çok değerli detaylı ve bilgilendirici bir cevap-yorum, ben de kullanmanızı tavsiye ederim...

Özünde, bir siparişi açtıktan sonra standart bir takip eden durdurmayı üstte tutan basit bir komut yok mu?