Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 139

 

Danışmanı test cihazında çalıştırıyorum. Bir siparişi değiştirirken, BUYSTOP bir hata veriyor:

Neden anlamıyorum. Emrin taşınması önerilen fiyat, Satış fiyatından 40 daha fazladır, StopLevel =30. Fiyat normalleştirildi, başka neye ihtiyacınız var ???

 
khorosh :

Danışmanı test cihazında çalıştırıyorum. Bir siparişi değiştirirken, BUYSTOP bir hata veriyor:

Neden anlamıyorum. Emrin taşınması önerilen fiyat, Satış fiyatından 40 daha fazladır, StopLevel =30. Fiyat normalleştirildi, başka neye ihtiyacınız var ???

Bunu bir komisyoncuyla tanıştım - 10 yerine 11 puan daha yükseğe koymayı deneyin
 
Лауреат :
lütfen bana gereklisipariş sayısını ayarlama işlevini nasıl yapacağımı söyleyin! örneğin ne kadar açılacağını belirttiğimiz sipariş sayısından fazla değil. mql4'te
 
Konstantin Erin :
if(OrdersTotal() < OrdersMax) OrderSend(...); else Alert("Gerekli sayıda açılan sipariş "); bu kullanılırsa, art arda birkaç sipariş açılır! ve bir anlaşma için bir sonraki sinyal varsa emir değil, ilk açık emirden sonra bir anlaşma için bir sonraki sinyal varsa, gerekli sayıda emri açmasını nasıl sağlayacağınız burada! ?
 

Neden kimse yardım etmiyor! lütfen .

 
Лауреат :
if(OrdersTotal() < OrdersMax) OrderSend(...); else Alert("Gerekli sayıda sipariş açık"); bu kullanılırsa, art arda birkaç sipariş açılır! ve bir anlaşma için bir sonraki sinyal varsa emir değil, ilk açık emirden sonra bir anlaşma için bir sonraki sinyal varsa, gerekli sayıda emri açmasını nasıl sağlayacağınız burada! ?
 enum Цвет   // Цвет флага
{
  Красный,
  Зеленый
};

Цвет Флаг=Красный;

void start()
{
   if (!Сигнал())Флаг=Зеленый;

   if (Сигнал()> 0 && Флаг==Зеленый)
   {
       OrderSend (Покупка...);
      Флаг=Красный;
   }

   if (Сигнал()< 0 && Флаг==Зеленый)
   {
       OrderSend (Продажа...);
      Флаг=Красный;
   }
}

int Сигнал()   // Сигналы покупки и продажи
{
   return ЧтоНадо;
}
Satırlardan 5'e kadar daha kısa olabilir, ancak düşünmek için çok tembel ...
 

beyler, aşağıdaki mantığa göre çalışan sondaki durdurmayı nerede bulacağımı veya düzeltmeme yardım edeceğimi söyleyin:

örneğin, TP = 100 ve SL = 200 ile bir ALIŞ emri açıldı ve fiyat ALIŞ'a gidip 50 puanı geçtiğinde, SL açılış fiyatına geldi ve TP sürekli 50 puan uzaklaştı vb. ???

void TrailingPositions(int otype)
{

int cnt = SiparişlerToplam();

int lMinKar = 0; // Min. puan sayısı

int lTrailingStop = 40; // İz ayar seviyesi (önceki SL mesafesinden kaç nokta atlar)

int lTrailingStep = 20; // İz seviyesi (çalışacağı noktalar)

için (int i=0; i<cnt; i++)
{
if (!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) devam ediyor;
(OrderSymbol() != Symbol()) devam ederse;

if (OrderType() == OP_BUY && otype == OP_BUY) {
if (Bid-OrderOpenPrice() > lMinProfit*Puan) {
if (OrderStopLoss() < Bid-(lTrailingStop+lTrailingStep-1)*Point) {
if(OrderModify(OrderTicket(), OrderOpenPrice(), Bid-lTrailingStop*Point, TP + lTrailingStop * Nokta, 0, Mavi))
Print("Sondaki işler");
}
}
}

if (OrderType() == OP_SELL && otype == OP_SELL) {
if (OrderOpenPrice()-Ask > lMinProfit*Puan) {
if (OrderStopLoss() > Ask+(lTrailingStop+lTrailingStep-1)*Point || OrderStopLoss() == 0) {
if(OrderModify(OrderTicket(), OrderOpenPrice(), Ask+lTrailingStop*Point, TP - lTrailingStop * Nokta, 0, Kırmızı))
Print("Sondaki işler");
}
}
}
 
LRA :
Satırlardan 5'e kadar daha kısa olabilir, ancak düşünmek için çok tembel ...
iyi fikir denemek zorunda kalacak. teşekkür etmek . ancak, onticket'in void OnTick() işleviyle çalışır mı?
 
Merhaba yoldaşlar! Lütfen "düğme" nesnesini ayarlamama yardım edin, kodu Uzman Danışmana yerleştirmem gerekiyor, böylece düğme basılı veya basılmamış durumdayken doğrudan grafikte bir bool değeri döndürecek. Şimdiden teşekkür ederim!
 
Arseniy Barudkin :
Merhaba yoldaşlar! Lütfen "düğme" nesnesini ayarlamama yardım edin, kodu Uzman Danışmana yerleştirmem gerekiyor, böylece düğme basılı veya basılmamış durumdayken doğrudan grafikte bir bool değeri döndürecek. Şimdiden teşekkür ederim!
 ObjectGetInteger (ChartId(), "имя кнопки" , OBJPROP_STATE )

burada

Neden: