Böyle bir yapıyı bir araya getirmeye çalışıyorum - bir fonksiyon, dört değişken ve bir dizi, bu dört değişkeni hesaplamak için fonksiyon içinde veri elde edilecek olan referans olarak parametre olarak veriliyor. Programda bu tür iki dizi (işleve aktarılacak) vardır, ZigZag'ın üst ve alt ekstremleri. fonksiyonun TrendLine'ı oluşturmak için noktaları hesaplaması gerekecektir.
Soru, hesaplamalarda + veya - uygulamak için, bu belirli yinelemede iki diziden hangisinin kullanıldığı işlevinin içine nasıl bir kontrol yazılacağıdır ???
Beceriksizce formüle edilmişse, tekrar sorun, lütfen, zevkle açıklayacağım. Ekli bir tasarım taslağıdır.
//+------------------------------------------------------------------+ //| Вычисляем значения точек привязки трендовых линий | //+------------------------------------------------------------------+ void CalculateTrendPoints( datetime &time_1, double &price_1,
datetime &time_2, double &price_2, double & zigbuf[] )
{
int ind_time_1, ind_time_2;
int size_zigbuf = ArraySize (zigbuf);
for ( int i = 0 ; i < size_zigbuf; i++){ if (zigbuf[i] != EMPTY_VALUE ) break ;}
price_1 = zigbuf[i];
ind_time_1 = i;
for ( int i = ind_time_1 + 1 ; i < size_zigbuf; i++){ if (zigbuf[i] != EMPTY_VALUE ) break ;}
price_2 = zigbuf[i];
ind_time_2 = i;
//Дальше будут расчеты, в которых в зависимости от того для чего используется функция//(построение ТрЛайн для верхних пиков или для нижних)будет применяться
+ или - , < или >.
//Думаю что легче всего понять данное конкретное применение по тому, какой массив зашел в параметрах (&zigbuf[]), //Вопрос не сложный - как это написать???
}
Yani, zigbuf[] parametresinin değiştirilecek yalnızca iki seçeneği olacaktır - yaZigzagPeakBuffer[] veyaZigzagBottomBuffer[]. Şu anda hangi seçeneğin değiştirildiğini fonksiyon içinden nasıl kontrol edebilirim ???
Şimdiye kadar, hangi dizilerin dahil olduğunu belirleme fikrini buldum - eşleşen olduğu bulunan değeri karşılaştırarak, o bizimki. Ama daha güzel ve daha kısa bir çözüm mutlaka vardır.
Bilenler - söyle bana pliz !!!
//+------------------------------------------------------------------+ //| Вычисляем значения точек привязки трендовых линий | //+------------------------------------------------------------------+ void CalculateTrendPoints( datetime &time_1, double &price_1,
datetime &time_2, double &price_2, double & zigbuf[] )
{
int ind_time_1 = 0 ;
int ind_time_2 = 0 ;
int size_zigbuf = ArraySize (zigbuf);
for ( int i = 0 ; i < size_zigbuf; i++)
{
if (zigbuf[i] != EMPTY_VALUE )
price_1 = zigbuf[i];
ind_time_1 = i;
break ;
}
for ( int i = ind_time_1 + 1 ; i < size_zigbuf; i++)
{
if (zigbuf[i] != EMPTY_VALUE )
{
if ( zigbuf[i] == ZigzagPeakBuffer[i] && zigbuf[i] > price_1)
{
price_2 = zigbuf[i];
ind_time_2 = i;
break ;
}
if ( zigbuf[i] == ZigzagBottomBuffer[i] && zigbuf[i] < price_1)
{
price_2 = zigbuf[i];
ind_time_2 = i;
break ;
}
}
}
//Дальше будут расчеты, в которых в зависимости от того для чего используется функция//(построение ТрЛайн для верхних пиков или для нижних)будет применяться + или - , < или > .//Думаю что легче всего понять данное конкретное применение по тому, какой массив зашел в параметрах (&zigbuf[]), // Вопрос не сложный - как это написать???
}
Soru: OBJ_FIBO çizildiğinde grafikte bir açılır pencere vermiyor (OBJPROP_TOOLTIP). Her şey OBJPOP_TXT aracılığıyla grafiksel olarak düzenlenir/ Araç ipucu aracılığıyla FIBO'da bir açılır pencere oluşturmak nasıl mümkün olabilir ve mümkün müdür?
Amaç: Fareyi fibo seviyesinin üzerine getirdiğinizde, HLINE gibi bir pencere açılır (örnek olarak).
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
Soru: OBJ_FIBO çizildiğinde grafikte bir açılır pencere vermiyor (OBJPROP_TOOLTIP). Her şey OBJPOP_TXT aracılığıyla grafiksel olarak düzenlenir/ Araç ipucu aracılığıyla FIBO'da bir açılır pencere oluşturmak nasıl mümkün olabilir ve mümkün müdür?
Amaç: Fareyi fibo seviyesinin üzerine getirdiğinizde, HLINE gibi bir pencere açılır (örnek olarak).
Şimdiye kadar, hangi dizilerin dahil olduğunu belirleme fikrini buldum - eşleşen olduğu bulunan değeri karşılaştırarak, o bizimki. Ama daha güzel ve daha kısa bir çözüm mutlaka vardır.
Bilenler - söyle bana pliz !!!
Neden kendin için problem yaratıyorsun? Bunlar yeterli olacaktır.
ihtiyaç )
Alexey, teşekkürler!
İyi adam, lütfen tecrübesizlere söyle:
MQL5/Sounds klasörü hayatımızda nasıl bir rol oynamalı (yapabilir)? (sorum sayfa 1221'in başında)
Panelin neden sadece yeni bir onay işareti geldiğinde tablodaki konumunu değiştirdiğini söyleyebilir misiniz? 5 Haziran tarihli MT5, Just2Trade yapısı
Panelin neden sadece yeni bir onay işareti geldiğinde tablodaki konumunu değiştirdiğini söyleyebilir misiniz? 5 Haziran tarihli MT5, Just2Trade yapısı
Kodunuzu ve panel örneğini standart dağıtımdan [data folder]\MQL5\Experts\Examples\Controls\Controls.mq5 karşılaştırın
İyi günler, uzmanlara bir soru:
Böyle bir yapıyı bir araya getirmeye çalışıyorum - bir fonksiyon, dört değişken ve bir dizi, bu dört değişkeni hesaplamak için fonksiyon içinde veri elde edilecek olan referans olarak parametre olarak veriliyor. Programda bu tür iki dizi (işleve aktarılacak) vardır, ZigZag'ın üst ve alt ekstremleri. fonksiyonun TrendLine'ı oluşturmak için noktaları hesaplaması gerekecektir.
Soru, hesaplamalarda + veya - uygulamak için, bu belirli yinelemede iki diziden hangisinin kullanıldığı işlevinin içine nasıl bir kontrol yazılacağıdır ???
Beceriksizce formüle edilmişse, tekrar sorun, lütfen, zevkle açıklayacağım. Ekli bir tasarım taslağıdır.
Yani, zigbuf[] parametresinin değiştirilecek yalnızca iki seçeneği olacaktır - ya ZigzagPeakBuffer[] veya ZigzagBottomBuffer[]. Şu anda hangi seçeneğin değiştirildiğini fonksiyon içinden nasıl kontrol edebilirim ???
Şimdiye kadar, hangi dizilerin dahil olduğunu belirleme fikrini buldum - eşleşen olduğu bulunan değeri karşılaştırarak, o bizimki. Ama daha güzel ve daha kısa bir çözüm mutlaka vardır.
Bilenler - söyle bana pliz !!!
herkese iyi seyirler))
Soru: OBJ_FIBO çizildiğinde grafikte bir açılır pencere vermiyor (OBJPROP_TOOLTIP). Her şey OBJPOP_TXT aracılığıyla grafiksel olarak düzenlenir/ Araç ipucu aracılığıyla FIBO'da bir açılır pencere oluşturmak nasıl mümkün olabilir ve mümkün müdür?
Amaç: Fareyi fibo seviyesinin üzerine getirdiğinizde, HLINE gibi bir pencere açılır (örnek olarak).
herkese iyi seyirler))
Soru: OBJ_FIBO çizildiğinde grafikte bir açılır pencere vermiyor (OBJPROP_TOOLTIP). Her şey OBJPOP_TXT aracılığıyla grafiksel olarak düzenlenir/ Araç ipucu aracılığıyla FIBO'da bir açılır pencere oluşturmak nasıl mümkün olabilir ve mümkün müdür?
Amaç: Fareyi fibo seviyesinin üzerine getirdiğinizde, HLINE gibi bir pencere açılır (örnek olarak).
OBJPROP_TEXT özelliğini kullanın
Şimdiye kadar, hangi dizilerin dahil olduğunu belirleme fikrini buldum - eşleşen olduğu bulunan değeri karşılaştırarak, o bizimki. Ama daha güzel ve daha kısa bir çözüm mutlaka vardır.
Bilenler - söyle bana pliz !!!
Neden kendin için problem yaratıyorsun? Bunlar yeterli olacaktır.
Sadece iki ayrı fonksiyon yapın.