Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 49

 
Chiripaha :

İlginç bir sorunla karşılaştım:

Önemsiz bir koşul yazıyorum:

,,,

A ve B fiyatlarınız ise, doğru durum şöyle görünebilir

 if ( А + 0.5 * Point < Б )
{
   // Выполнить действия
}
 
Aizec :

Küçük bir kod örneğine ne dersiniz?

https://www.mql5.com/ru/code/10831
 
TarasBY :

Anlaşıldı :
Kesirli sayıları karşılaştırmadan önce normalleştirilmeleri gerekir.
Kayıp :

A ve B fiyatlarınız ise, doğru durum şöyle görünebilir

Yardımın için çok teşekkürler!

Verileri her zaman normalleştiririm ve bu yüzden bu fenomen beni şaşırttı. Ancak, görünüşe göre, yazma sürecinde ve deneyimden her şey dikkate alınmaz, bu nedenle "karşılaştırılan parametreleri karşılaştırmadan hemen önce normalleştirin" tavsiyesi çok etkilidir. Her şey stabil çalıştı.

 

Herkese iyi akşamlar.

Lütfen bana siparişin neden açılmadığını söyle?

son değil;

int başlangıç()

(

if (Hour( ) == 12) // TF 60'ta 12 saatlik bir mum oluşursa
last = iBarShift (Sembol (),0,iTime(NULL, 0, 0) ); // bu mumun N'sini hatırla
if (son == 10) // ve bu mum ne zaman N10 olacak

int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-1500*Point,Bid+300*Point,"jfh",123 ); // sipariş aç

)

dönüş(0);

iBarShift'in çalışmadığını düşünüyorum çünkü iTime (NULL, 0, 0) parametresi zamanı saniye cinsinden döndürür, ancak D'04/04/2000 19:05 ' biçiminde olması gerekir.

SORU 1. Hangi işlev bir mumun açılış saatini D'04/04/2000 19:05 ' biçiminde döndürür

Kontrol ettim - iBarShift işlevi bu formatta çalışıyor ve sipariş açılıyor. Ancak yalnızca ilk koşul eksikse çalışır if (Hour( ) == 12)

SORU 2 if (Hour( ) == 12) koşulundan sonra iBarShift neden çalışmıyor?

TEŞEKKÜR ETMEK.

 
solnce600 :

Herkese iyi akşamlar.

Lütfen bana siparişin neden açılmadığını söyle?

son değil;

int başlangıç()

(

if (Hour( ) == 12) // TF 60'ta 12 saatlik bir mum oluşursa
last = iBarShift (Sembol (),0,iTime(NULL, 0, 0) ); // bu mumun N'sini hatırla
if (son == 10) // ve bu mum ne zaman N10 olacak

int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-1500*Point,Bid+300*Point,"jfh",123 ); // sipariş aç

)

dönüş(0);

iBarShift'in çalışmadığını düşünüyorum çünkü iTime(NULL, 0, 0) parametresi zamanı saniye cinsinden döndürür, ancak bunun D'04/04/2000 19:05 ' biçiminde olması gerekir.

SORU 1. Hangi işlev bir mumun açılış saatini D'04/04/2000 19:05 ' biçiminde döndürür

Kontrol ettim - iBarShift işlevi bu formatta çalışıyor ve sipariş açılıyor. Ancak yalnızca ilk koşul eksikse çalışır if (Hour( ) == 12)

SORU 2 if (Hour( ) == 12) koşulundan sonra iBarShift neden çalışmıyor?

TEŞEKKÜR ETMEK.


yani (sizi doğru anladıysam) saatlik çerçevenin 22. çubuğunda bir pozisyon açıyorsunuz

 int start()
  {

if (iBarOfDayCalc( 60 )== 22 )
     int Ticket= OrderSend ( Symbol (),OP_BUY, 0.1 ,Ask, 1 ,Bid- 1500 * Point ,Bid+ 300 * Point , "jfh" , 123 ); //открыть ордер

 return(0);
  }

//  фуннкцыя------------------------
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 26.02.2008                                                     |
//|  Описание : Возвращает расчётный номер бара от начала суток.               |
//|           : Нумерация баров начинается с 1 (единица).                      |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    tf - таймфрейм                       (0 - текущий таймфрейм)            |
//|    dt - дата и время открытия бара      (0 - текущее время)                |
//+----------------------------------------------------------------------------+
int iBarOfDayCalc(int tf=0, datetime dt=0) {
  if (tf<=0) tf=Period();
  if (dt<=0) dt=TimeCurrent();
  if (tf>PERIOD_D1) {
    Print("iBarOfDayCalc(): Таймфрейм должен быть меньше или равен D1");
    return(0);
  }
  double ms=MathMod(dt/60, 1440);      // количество минут от начала суток
  int    bd=MathFloor(ms/tf)+1;        // номер бара от начала суток

  return(bd);
}
 
r772ra :


yani (sizi doğru anladıysam) saatlik çerçevenin 22. çubuğunda bir pozisyon açıyorsunuz

Alıntıladığım örnekte - aynen öyle. mum 22.

Ama genel olarak, herhangi bir mumu ezberlemek istiyorum (ihtiyacım olan parametrelerle)

ve ondan sonra (ezberlenmiş) mum ihtiyacım olan mesafeye kaldırılacak (yani - 5.6 .... 100 olacak)

sipariş aç.

Bu nedenle, yanılmıyorsam, yukarıdaki Kim'in işlevi muhtemelen benim için çalışmayacaktır,

çünkü günün başlangıcından itibaren mumları sayar ve sadece 24 mumla çalışır.

Bana öyle geliyor ki, herhangi bir mumu hatırlayabilen bir iBarShift işlevine ihtiyacım var.

(örneğin, ihtiyacım olan herhangi bir mumdan başlayarak her ellinci veya yüzüncü mum)

Ama nedense bu fonksiyon bende çalışmıyor (Ayrıntıları ilk mesajda belirttim)

Sorularıma cevap bulmama yardımcı olursanız minnettar olurum.

Katılımınız için çok teşekkür ederim.

 

İyi günler, bana nasıl doğru yapacağımı söyleyin, böylece bu belirli pozisyonu açtıktan sonra, danışman kodu en baştan çalışmaya başlar, yaptığım zaman

if (bilet satın al>0)
{
dönüş;
}

diğer koşullar altında daha fazla sipariş açmıyor, ancak birkaçını açmam gerekiyor. Teşekkür ederim.

 
Vinin :

Yeterli gösterge arabelleği varsa, nesneler olmadan mümkündür


ancak? Sonuçta, göstergenin pencereli olduğunu belirlediyseniz, grafikteki okları nasıl görüntüleyebilirsiniz? sadece 4 tampon kullanıyorum

 

Tünaydın. şu anki sohbetlere karıştığım için kusura bakmayın .. belki birinin dakikası vardır .. Burada en alta ok çeken bir göstergem var ona bir danışman yapmam lazım mkuel'i yeni anlamaya başladım diyebilirim göstergelerle alakası yok

#özellik göstergesi_chart_window

#özellik göstergesi_tamponları 2

#özellik göstergesi_color1 Mavi

#özellik göstergesi_renk2 Kırmızı

//---- giriş parametreleri

harici int Sayılar=500;

//---- arabellekler

çift ExtMapBuffer1[];

çift ExtMapBuffer2[];

çift yayılma;

belki birinin şablonu vardır

 

Bilen varsa söylesin. Forex4you'daki Gepard 5.0 Uzman Danışmanı, şimdiden büyük bir eksi ile bazı anlaşmalar açar. Ayarları nereden yapabilirim?