[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 165

 
FelixFX :

Teşekkür ederim

derleme sırasında birçok hata bulundu
 
RoniIron :

Üzgünüm ...... martingale danışmanı, içinde stoploss ayarlayabilirsin yoksa bu imkansız. Teşekkür ederim.

OrderSend() işlevinin parametrelerinden biri vardır - kaybı durdur. Ve düzeni belirleyen de o. Bu nedenle ihtiyacımız olan sipariş için durma seviyesini hesaplayıp fonksiyona giriyoruz.
 
FelixFX :

derleme sırasında birçok hata bulundu

Pekala, öyle olacak - BENİM alt rutinlerimin orada dahil olduğu konusunda uyardım! GetLastError() isteği ile bunları kaldırın ve baskılarınızı yerlerine koyun
 
drknn :

Pekala, öyle olacak - BENİM alt rutinlerimin orada dahil olduğu konusunda uyardım! GetLastError() isteği ile bunları kaldırın ve baskılarınızı yerlerine koyun

Mql'de iyi bilginiz varsa, bunu yapmak kolaydır. ) Sadece öğreniyorum ve bu nedenle benim için tüm gereksizleri kaldırmak ve sadece gerekli olanı bırakmak biraz zor.
 
// =================================================================================================
// ************************* Трейлинг рыночных ордеров *********************************************
// =================================================================================================


// =================  TrailingRyn() =============================================================
// функция осуществляет трейлинг рыночных ордеров 
// ----------------------------------------------
void TrailingRyn_b(int ryn_TrStop, int ryn_TrStep, int Proskalz, int MAGIC, bool WaitProfit,  bool UseTrailingSound) {
  string SMB=Symbol(); 
  int i;
  int MinLevel=MarketInfo(SMB,MODE_STOPLEVEL);//Минимально допустимый уровень стоп-лосса/тейк-профита в пунктах   
  int SchBuy=SchBuy(MAGIC);
  int SchSell=SchSell(MAGIC);
  if(ryn_TrStop>=MinLevel && ryn_TrStep>0 && (SchBuy>0 || SchSell>0)){    
    for (i=OrdersTotal()-1;i>=0;i--){
      if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {Print("Ошибка № ",GetLastError()," при выборе ордер № ",i);}
      else {
        if (OrderSymbol()==SMB && OrderMagicNumber()==MAGIC){
          TrailingPositions_b(ryn_TrStop,ryn_TrStep,Proskalz,WaitProfit,UseTrailingSound);
        }
      }
    }
  }
 if(ryn_TrStop>=MinLevel && ryn_TrStep==0)
 Print("Трейлинг невозможен - ryn_TrStep==0");
} 
// =================================================================================================

//+------------------------------------------------------------------+
//| Сопровождение позиции простым тралом                             |
//+------------------------------------------------------------------+
void TrailingPositions_b(int ryn_TrStop, int ryn_TrStep, int Proskalz, bool WaitProfit, bool UseTrailingSound){
  if(OrderType()==OP_BUY){
    if(!WaitProfit || (Bid-OrderOpenPrice())>ryn_TrStop*Point){
      if (OrderStopLoss()<Bid-(ryn_TrStop+ryn_TrStep-1)*Point){
        ModifyStopLoss_b(Bid-ryn_TrStop*Point,UseTrailingSound);
      }
    }
  }
  if(OrderType()==OP_SELL){
    if(!WaitProfit || OrderOpenPrice()-Ask>ryn_TrStop*Point) {
      if(OrderStopLoss()>Ask+(ryn_TrStop+ryn_TrStep-1)*Point || OrderStopLoss()==0){
        ModifyStopLoss_b(Ask+ryn_TrStop*Point,UseTrailingSound);
      }
    }
  }
}

//+------------------------------------------------------------------+
//| Перенос уровня StopLoss                                          |
//| Параметры:                                                       |
//|   ldStopLoss - уровень StopLoss                                  |
//+------------------------------------------------------------------+
void ModifyStopLoss_b(double ldStopLoss, bool UseTrailingSound){
  bool fm=false;
  string NameTrallingSound  = "ok.wav";// Наименование звукового файла для трейлинга
  fm=OrderModify(OrderTicket(),OrderOpenPrice(),ldStopLoss,OrderTakeProfit(),0,CLR_NONE);
  if(fm!=0 && fm!=-1){
    if(UseTrailingSound) { PlaySound(NameTrallingSound);}
  }   
  if(fm==0 || fm==-1) { Print("Ошибка № ",GetLastError()," при модификации ордера № ",OrderTicket());}
}
//+------------------------------------------------------------------+
 
VOLDEMAR :
Sağolun beyler.....
ancak iCustom ve danışmana açmanız gerektiğini göstermek için bir noktada ok çizen bir gösterge nasıl kullanılır .....
Sor > BBUP ise iBands oradaysa, bu anlaşılabilir, ancak okun görünebileceği veya görünmeyebileceği nesne (bir ok gibi) ??????


Aynı şekilde, hangi arabelleklerin hangi satırların değerini içerdiğini anlamak için gösterge koduna bakmanız gerekir.

Gösterge parametrelerini iCustom işlevine girmek istiyorsanız, gösterge parametrelerini Expert Advisor'ın kullanıcı değişkenlerine girmeniz gerekir. Aksi takdirde, danışman listelenen değişkenlerde hangi değerlerin olduğunu anlamayacaktır.

 
Merhaba! Yanlış bir şey sorarsam lütfen beni tekmeleme ama tüm forumu ve interneti taradım ve aradığımı bulamadım. Soru! Aksi halde (son StopLoss'tan sonra (zaman içinde) kapanması gerekiyorsa, örneğin 2 kar) bir koşul oluşturmak mümkün müdür ... Ve eğer mümkünse kodda küçük bir çizim, ancak siz kelimelerle basitçe bir diyagram çizebilirsiniz, şimdiden teşekkürler!
 
ruzzo :
Merhaba! Yanlış bir şey sorarsam lütfen beni tekmeleme ama tüm forumu ve interneti taradım ve aradığımı bulamadım. Soru! Aksi halde (son StopLoss'tan sonra (zaman içinde) kapanması gerekiyorsa, örneğin 2 kar) bir koşul oluşturmak mümkün müdür ... Ve eğer mümkünse kodda küçük bir çizim, ancak siz kelimelerle basitçe bir diyagram çizebilirsiniz, şimdiden teşekkürler!


Genel olarak, tam olarak neye ihtiyacınız olduğu hiç belli değil.

if() içine bir koşul koyabilirsiniz. Herhangi bir olayın başlangıcından sonra yapışabilirsiniz. Ama "iki karı kapatmak" ne anlama geliyor? Ve başka yapabilirsiniz. O zaman iş...


if(условие){

// какой-то код 

}

else {

// какой-то код 

} 
 
drknn :


Genel olarak, tam olarak neye ihtiyacınız olduğu tamamen belirsiz.

if() içine bir koşul koyabilirsiniz. Herhangi bir olayın başlangıcından sonra yapışabilirsiniz. Ama "iki karı kapatmak" ne anlama geliyor? Ve başka yapabilirsiniz. O zaman iş...


Anladığım şey bu, önce koşul - ve sonra kod, ancak bir koşul oluşturmak istedim, StopLoss aldım ve başka bir lotla çalıştım, örneğin - anlaşmaları iki kârla kapatana kadar - sadece yapmam. if içindeki dengeyi karşılaştırmak istemiyorum! Bakiyeyi karşılaştırırsam ve bir süre sınırı olan bekleyen siparişlerim varsa - değişen parti atlanır - siparişin süresi artan partiyle birlikte sona erdiğinden - belki de doğru kazmıyor muyum?
 

Lütfen çözmesine yardım edin.

MACD Sample'ı kullanmaya karar verdim ve neler olduğunu anlayamıyorum! hangi sürüm olduğu önemli değil, hatta terminalden yerel.

hepsi bir hata veriyor:

2011.02.28 23:01:53 MACD Örneği EURUSD,M15: SATIN AL emri açılırken hata oluştu : 130

5 karakter sayın. 1:500, lot 0.1 veya 1, fark yok, gerçek hesap.

SL ve TP 10 kat arttı, hiçbir şey değişmedi, daha da değişti, orada bir şey açmasını sağlayacak bir sonuç yok (((

İşe yaraması anlaşılabilir, ellerinizle bir anlaşma açarsanız, ondan sonra kendisi zarar etmeden transfer eder ve takip etmeye başlar, ancak kendisi açmak istemez!

Peki, neyi yanlış yapıyorum, bir haftadır anlayamıyorum!?