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

 
ara66676 :

Yardım edin lütfen basit bir sorunun cevabını bulamıyorum.

int TimeSeconds (,,,,,) Belirtilen zamanın dakikasının başlangıcından bu yana geçen saniye sayısını döndürür.

Çubuğun açılma süresini fonksiyona eklersem

TimeSeconds(iTime(NULL,PERIOD_M5,0))

peki barın kapanmasına 10 saniye kaldığını nasıl belirleyebilirim?

Peki, geçen süreyi periyottaki saniye sayısından çıkarın ...

 PeriodSeconds ( PERIOD_M5 ) - TimeSeconds(iTime( _Symbol , PERIOD_M5 , 0 ));
 
AlexeyVik :

Çünkü belgeleri sonuna kadar okumanız gerekiyor. Ve bir örnek var

Teşekkür ederim! Örnekte, bu " ArrayResize " her şeyi yanlış anladı. :)

Ve belgelerde, bence, bu parantezler gereksiz "dizi[]", kelimenin kendisinden bunun bir dizi olduğu açık. :)

 int   ArrayInitialize( 
   int      array,     // инициализируемый массив 
   int      value          // значение, которое будет установлено 
   );
 
AlexeyVik :

Peki, geçen süreyi periyottaki saniye sayısından çıkarın ...



Çok teşekkür ederim beş yıldır mql4'te dolaşıyorum ama böyle bir fonksiyon olduğunu bilmiyordum tekrar çok teşekkür ederim ))

Ne yazık ki, yardımcı olmadı, beşincide bu kontrol çalışmıyor ... (((

 
if (id== CHARTEVENT_MOUSE_MOVE )
                                       {
                                       // получ и преобраз координ мыши
                                       ChartXYToTimePrice ( 0 ,lparam,dparam,huin,timeVline,priceVline);
                                       // переместить нa них линию
                                       ObjectSet(stockname+ "timeVline" ,OBJPROP_TIME1,timeVline);                                     
                                              
                                        } 
öyle bir parça. göstergenin sıfırdan başlatıldığı gerçek bir grafikte olması gerektiği gibi çalışır.
 ve göstergeyi test cihazında çalıştırırsanız, çizgi fareden sonra hareket etmez. yalnızca sol düğmeyi basılı tutarsanız veya tıklarsanız. Sorun nedir ?
 huin adını verdiğim değişkenin ne yaptığı hala net değil

 
ara66676 :

Çok teşekkür ederim beş yıldır mql4'te dolaşıyorum ama böyle bir fonksiyon olduğunu bilmiyordum tekrar çok teşekkür ederim ))

Ne yazık ki, yardımcı olmadı, beşincide bu kontrol çalışmıyor ... (((

Açıklığa kavuşturmak gerekiyordu ... Prensip aynı kalıyor

 TimeCurrent () - ( datetime ) SeriesInfoInteger ( _Symbol , PERIOD_M5 , SERIES_LASTBAR_DATE );


Ayrıca CopyTime () kullanabilirsiniz ...


Hayır... Biraz farklı.

( datetime ) SeriesInfoInteger ( _Symbol , PERIOD_M5 , SERIES_LASTBAR_DATE ) + PeriodSeconds ( PERIOD_M5 ) - TimeCurrent ():
 

GURU SÖYLEYİN!!!! Satış emri neden açılmıyor????

//+------------------------------------------- --------------------+

//| Proje Adı |

//| Telif Hakkı 2012, ŞirketAdı |

//| http://www.sirketadi.net |

//+------------------------------------------- --------------------+

#mülkiyet katı

//+------------------------------------------- --------------------+

//| uzman başlatma işlevi |

//+------------------------------------------- --------------------+


giriş çift L=0.01;

girdi int TakeProfit = 150;

giriş int StopLoss = 150;

giriş int Sihir = 0;

//+------------------------------------------- --------------------+

intb=0;

int s=0;

//+------------------------------------------- --------------------+

int OnInit()

{

dönüş(0);

}

//+------------------------------------------- --------------------+

//| Uzman onay işlevi |

//+------------------------------------------- --------------------+

geçersiz OnTick()

{

//+------------------------------------------- --------------------+

//| Satınalma siparişi açma |

//+------------------------------------------- --------------------+

if(b==0)

{

b=My_Fun_b();

}

//+------------------------------------------- --------------------+

//| Satış emri açma |

//+------------------------------------------- --------------------+

if(s==0)

{

çift fiyatb=My_Fun_p();

Comment("Sipariş fiyatı al",fiyatb);

if(priceb==Teklif) /* UYGULANMADI, NEDEN*/

{

s=My_Fun_s(priceb);/* NEDEN ÇALIŞMIYOR*/

}

}

}

//+------------------------------------------- --------------------+

//| Uzman başlatmasızlaştırma işlevi |

//+------------------------------------------- --------------------+

geçersiz OnDeinit(const int nedeni)

{


}

//+------------------------------------------- --------------------+

//| İlk siparişi açmak için Özel İşlev (satın alma) |

//+------------------------------------------- --------------------+

int Eğlencem_b()

{

b=OrderSend(_Symbol,0,0.01,Sor,0,0,0,"",414,0,clrBlue);

dönüş(b);

}

//+------------------------------------------- --------------------+

//| İlk siparişin (satın alma) fiyatını belirlemek için özel fonksiyon |

//+------------------------------------------- --------------------+

çift My_Fun_p()

{

çift pb=0;

if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==true)

if(OrderMagicNumber()==414)

{

pb=SiparişAçıkFiyat();

}

dönüş(pb);

}

//+------------------------------------------- --------------------+

//| İlk siparişi (sat) açmak için Özel İşlev |

//+------------------------------------------- --------------------+

int My_Fun_s(çift fiyatb)

{

s=OrderSend(_Symbol,1,0.01,priceb,0,0,0,"",0,0,clrRed);

dönüş(b);

}

//+------------------------------------------- --------------------+


Dosyalar:
test.mq4  2 kb
 
AlexeyVik :

Açıklığa kavuşturmak gerekiyordu ... Prensip aynı kalıyor


Ayrıca CopyTime () kullanabilirsiniz ...


Hayır... Biraz farklı.

Teşekkürler, işe yaradı. Doğru seçenek:

(TimeCurrent() - (datetime) SeriesInfoInteger (NULL , PERIOD_M5 , SERIES_LASTBAR_DATE ))>290

Tekrar teşekkürler, artık kod dağlarını kaldırabilir ve bu satırı kullanabilirsiniz !!! ))

 
ara66676 :

Teşekkürler, işe yaradı. Doğru seçenek:

(TimeCurrent() - (datetime) SeriesInfoInteger (NULL , PERIOD_M5 , SERIES_LASTBAR_DATE))>290

Tekrar teşekkürler, artık kod dağlarını kaldırabilir ve bu satırı kullanabilirsiniz !!! ))

Görünüşe göre barın açılmasından barın sonuna kadar geçen sürenin bir önemi yoktu. Bu seçenek, çubuğun başından sonuna kadar değil, tam olarak geçen süreyi verecektir.

Ve 290 sayısı nedir? 290'dan fazla kontrol için ne ???

 
AlexeyVik :

Görünüşe göre barın açılmasından barın sonuna kadar geçen sürenin bir önemi yoktu. Bu seçenek, çubuğun başından sonuna kadar değil, tam olarak geçen süreyi verecektir.

Ve 290 sayısı nedir? 290'dan fazla kontrol için ne ???

BU VARANTTA 290 SAYISI, BAR AÇILIŞININ BAŞLANGICINDAN 290 SANİYEDEN FAZLA GEÇTİĞİNİ GÖSTERİYOR. KAPAKLAR İÇİN ÜZGÜNÜZ, SIKIŞTI)))
 

Derleme sırasında hatalar (2): Magic - bildirilmemiş tanımlayıcı

Yardım düzeltme

bool CheckExists(intType)
{
boolSonuç = Doğru;
for(int i = 0; i < OrdersTotal(); i++)
if( OrderSelect (i, SELECT_BY_POS))
if(OrderType() == Type && OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
if(OrderOpenTime() >= Zaman[0])
sonuç = yanlış;
for(i = 0; i < OrdersHistoryTotal(); i++)
{
if(Sipariş Seçimi(i, SELECT_BY_POS, MODE_HISTORY))
if(OrderType() == Tür && OrderOpenTime() >= Zaman[0]
&& OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
sonuç = yanlış;
}

dönüş(sonuç);
}