[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 50

 
Zhunko :
Alman markı, ecu, euro dikkate alındı. Herkesin bildiğini sanıyordum.

Görünüşe göre - hepsi değil ... :(

Bir şekilde garip ... bir marka - bir marka var - euro değil ... Tanrı onları korusun ... Boom bu gerçek anlamına geliyor ...

 
Notter :

Tüm iyi insanlara iyi günler

Güçlü hareketlerle ticaret hakkında bir soru. OrderSend fonksiyonunun bir slippage parametresi vardır - emir fiyatından maksimum kayma. Değerinde herhangi bir kısıtlama var mı? Veya 1000 puan ayarlamak mümkün mü? "0" değeri sıfır kayma anlamına mı geliyor yoksa sipariş açılırken bu parametrenin dikkate alınmaması mı?

Ayrıca güçlü bir hareket olursa, müşteri terminalimden gönderilen piyasa emrim sunucuya gelip fiyatı ne olursa olsun bekleyen emirlerin sunucuda yürütülmesini mi bekleyecek yoksa hemen piyasa fiyatından mı gerçekleştirilir? alınma zamanı? Başka bir deyişle, bir ara sırasında, uyarının bitiminden önce emrin yerine getirileceğine güvenebilir miyim, yoksa sadece düzeltmenin başlangıcında mı açılacak?

Kayma - terminalinizin işlem emrinde beyan edilen fiyattan ve sunucu tarafından iade edilen fiyattan puan farkı. Onlar düşünürken fiyat uçup gidebilir. Güçlü hareketlerle, sunucu genellikle düşünceli hale gelir. Ne kadar düşünceli olursa, belirtilen fiyattan ve buna bağlı olarak sizin için daha karlı bir fiyattan açma olasılığınız o kadar düşük olur. 1000 piplik bir kayma ayarlarsanız, hamlenin sonunda açacaksınız. Bu DC için faydalıdır. Ve mutfak ne kadar "mutfak :)" ise, sunucu o kadar uzun "düşünür", size alıntılar vb., vb., vb. ...

Kayma parametresini 0 yaparak sadece siparişin fiyatı ile sunucudan dönen fiyatın aynı olması durumunda açılırsınız.

 

Yeni Yılın Kutlu Olsun!

Teorik olarak gün içerisinde belirtilen zaman diliminde maksimumu ve minimumu bulması gereken bir kod yazdım. Ama aslında, bir şey yolunda gitmiyor. Bak lütfen.

 //+------------------------------------------------------------------+
//|                                                     +Session.mq4 |
//|                                       Copyright 2012, silhouette |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, silhouette"
#property link       "http://www.metaquotes.net"

#property indicator_chart_window
#include <+ChartTrendLineCreate.mqh>

string OpenTime= "00:00" ; // время открытия сессии
string CloseTime= "09:00" ; // время закрытия сессии
int Days= 100 ; // количество расчитываемых дней

//+------------------------------------------------------------------+
string Symb;
int i;
bool Ans;
//+------------------------------------------------------------------+
int init()
  {
   Symb= Symbol ();
   return ( 0 );
  }

int deinit()
  {

   return ( 0 );
  }

int start()
  {
   //+------------------------------------------------------------------+
   datetime Time_OD, H1_OS, H1_CS; 
   int H1_OpenDayShift, H1_OpenSessionShift, H1_CloseSessionShift, Hst, Lst;
   string H1_OD;
   double Maximum, Minimum;
   //+------------------------------------------------------------------+
   for (i= 0 ; i< 100 ; i++) // перебираем дни
    {
     Time_OD=iTime(Symb, PERIOD_D1 ,i); // находим дату открытия выбранного бара
     H1_OpenDayShift=iBarShift(Symb, PERIOD_H1 ,Time_OD, false ); // ...его индекс
     
     H1_OD=TimeToStr(Time_OD,TIME_DATE); 
     
     H1_OS=StrToTime(H1_OD+ " " +OpenTime);
     H1_OpenSessionShift=iBarShift(Symb, PERIOD_H1 ,H1_OS, false ); // ...индекс бара открытия сессии
     H1_CS=StrToTime(H1_OD+ " " +CloseTime);
     H1_CloseSessionShift=iBarShift(Symb, PERIOD_H1 ,H1_CS, false ); // ...индекс бара закрытия сессии
     
     // ... максимум и минимум
     Hst=iHighest(Symb, PERIOD_H1 ,MODE_HIGH,(H1_OpenSessionShift-H1_CloseSessionShift),H1_CloseSessionShift);
     Lst=iLowest(Symb, PERIOD_H1 ,MODE_LOW,(H1_OpenSessionShift-H1_CloseSessionShift),H1_CloseSessionShift);
     Maximum=iHigh(Symb, PERIOD_H1 ,Hst);
     Minimum=iLow(Symb, PERIOD_H1 ,Lst);
     
     ChartTrendLineCreate(H1_OS, Maximum, H1_CS, Maximum, Red);
     ChartTrendLineCreate(H1_OS, Minimum, H1_CS, Minimum, Red);
     
     
    }

   return ( 0 );
  }

 
silhouette :

Yeni Yılın Kutlu Olsun!

Teorik olarak gün içerisinde belirtilen zaman diliminde maksimumu ve minimumu bulması gereken bir kod yazdım. Ama aslında, bir şey yolunda gitmiyor. Bak lütfen.

H1_OpenSessionShift-H1_CloseSessionShift +1'i deneyin
 
Mislaid :
H1_OpenSessionShift-H1_CloseSessionShift +1'i deneyin
Teşekkür ederim, şimdi her şey olması gerektiği gibi.
 
Lütfen bana danışmanın her örneğin 4 saatte bir TF D1'e nasıl sipariş vereceğini söyle? Şimdi bunun için manuel olarak küçük zaman dilimlerine geçmem gerekiyor ve gösterge sinyalleri D1 ile çakışıyorsa sipariş verin. Yorucu ve rahatsız.
 
sultonov :
Lütfen bana danışmanın her örneğin 4 saatte bir TF D1'e nasıl sipariş vereceğini söyle? Şimdi bunun için manuel olarak küçük zaman dilimlerine geçmem gerekiyor ve gösterge sinyalleri D1 ile çakışıyorsa sipariş verin. Yorucu ve rahatsız.

Mutlu Yıllar Yusuf!!!

Bunu yapmak için, sipariş verme zamanını izlemek de dahil olmak üzere danışmandaki koşulları AÇIKÇA ayarlamak gerekir, çalışmaya dahil edilmesi için H4 TF'deki yeni çubuğu kontrol edebilirsiniz.

Sizin durumunuzdaki Expert Advisor'ın, D1'i kullanarak siparişleri açmak için sinyaller alırken aynı zamanda exp kodunda AÇIKÇA ayarlayarak H4'teki cihaz tablosunda asılı kalmasını engelleyen nedir?

not peki sen? Artık alkol içmiyor musun?

2 Ocak bahçede - gümbürtü, evet gümbürtü !!! :-)

 

TP'yi fibo ile bulması gereken bir fonksiyon yazdım:

 //+-------------------------------------------------------------------------------------+
//| Вычисление ТП по Фибе                                                               |
//+-------------------------------------------------------------------------------------+
double GetProfitByFibo()
{
   double minValue, maxValue;
  
 // if(GetStateMa() == MA_TALKING_LONG)
     if (OrderType() == OP_BUYSTOP)
    {
      maxValue = iHigh( Symbol (),i_ExtremumLookingTF,i_maxValueShiftB);
      minValue = iLow( Symbol (),i_ExtremumLookingTF,i_minValueShiftB);
     
       if ((maxValue - minValue) >= 7 *pt)
      {
       double fibo1618 = NormalizeDouble ((minValue + (maxValue - minValue)* 1.618 ), Digits );
      }
   
    }
  
 // if(GetStateMa() == MA_TALKING_SHORT)
     if (OrderType() == OP_SELLSTOP)
    {
      maxValue = iHigh( Symbol (),i_ExtremumLookingTF,i_maxValueShiftS);
      minValue = iLow( Symbol (),i_ExtremumLookingTF,i_minValueShiftS);
 
       if ((maxValue - minValue) >= 7 *pt)
      {
      fibo1618 = NormalizeDouble ((maxValue - (maxValue - minValue)* 1.618 ), Digits );
      }
          
  }
   return (fibo1618);
}

Bu fonksiyon için harici değişkenler şunlardır:

 extern string ___H2 = "_____  Параметры для функции Fibo_TP _____" ;
extern int i_ExtremumLookingTF = 5 ,
           i_maxValueShiftB = 8 ,
           i_minValueShiftB = 3 ,
           i_maxValueShiftS = 3 ,
           i_minValueShiftS = 8 ;

Bu işlevi, sabit Kâr Al yerine çalışan Uzman Danışmana ekliyorum ve Uzman Danışman körelmeye başlıyor. Ne yanlış olabilir?

Periyodik olarak, bir siparişi değiştirirken TP hiç ayarlanmaz.

Örneğin alışveriş için bir fonksiyon (önceki modifikasyon fonksiyonunu yorumlamıştım):

 //+-------------------------------------------------------------------------------------+
//| Открытие длинной позиции                                                            |
//+-------------------------------------------------------------------------------------+
bool OpenBuy()
{
   int ticket = - 1 ;
   string myNote = "Сов баянул" ;
  
   double price = High[ 1 ] + i_thresholdFromInput*pt;
   double SL = Low[ 1 ] - i_thresholdFromBasedSL*pt ;

   if (price > Ask)
  {
    ticket = OrderSend ( Symbol (),OP_BUYSTOP, 0.1 , NormalizeDouble (price, Digits ),i_slippage, 0 , 0 ,myNote,i_myMagic, 0 ,Navy);
  }
  
   if (ticket > 0 && OrderSelect (ticket,SELECT_BY_TICKET,MODE_TRADES) == true )
   //  if(!OrderModify(ticket,OrderOpenPrice(),NormalizeDouble(SL,Digits),NormalizeDouble(High[1] + i_tp*pt,Digits),0,Navy))
//  Print("GetProfitByFibo() = ", GetProfitByFibo());
       if (!OrderModify(ticket,OrderOpenPrice(), NormalizeDouble (SL, Digits ),GetProfitByFibo(), 0 ,Navy))
     return ( false );
  
   return ( true );
}
 
double GetOrderOpenPrice(dize sy="NULL", int op=-1, int mn=-1)
{
tarihsaat t;
çift r=0;
int i, k=SiparişToplam();

if (sy=="0") sy=Symbol();
(i=0; i<k; i++) için
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol()==sy || sy=="")
{
if (OrderType()==OP_BUY || OrderType()==OP_SEL)
{
if (op<0 || OrderType()==op)
{
if (mn<0 || OrderMagicNumber()==dk)
{
if (t<SiparişAçmaZamanı())
{
t=SiparişAçıkZamanı();
r=SiparişAçıkFiyat();
}
}
}
}
}
}
}
dönüş(r);

}


Bu fonksiyon, son emrin açılış fiyatını kontrol eder.

Bu fonksiyonun çağıranına bu koşul nasıl yazılır: Fiyat son emrin açılış fiyatından 75 pip düştüyse veya yükseldiyse işleme devam ediyoruz.

 

Merhaba!

Ekli dosyada Voldemar'dan bir danışman. Ne yazık ki, kişisel bir mesajla cevap vermiyor ve danışmanı mümkün olan en kısa sürede düzeltmek istiyorum.

Sipariş açma koşullarını nasıl değiştirebilirim? Artık danışman, geri alma ilkesine ayarlanmıştır, ancak son çubuğa bağlı olarak açılması gerekir. Kapanış fiyatı açılış fiyatından düşükse, bir satış açılır ve bunun tersi de geçerlidir.

teşekkürler

Dosyalar: