MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 514

 

Merhaba, böyle bir sorunla karşılaştım: Danışman ticaretini sadece iki zaman diliminde yapamam. Nasıl yapılır? Lütfen bana söyle. Kod şuna benziyor, ancak yalnızca 1 nokta kabul ediyor, ikincisi yok sayıyor

 extern string с = "Блок № 3" ;
extern int     Start_H1 = 0 ;
extern int     Start_M1 = 30 ;
extern int     End_H1   = 7 ;
extern int     End_M1   = 59 ;
extern int     Start_H2 = 12 ;
extern int     Start_M2 = 30 ;
extern int     End_H2   = 20 ;
extern int     End_M2   = 10 ;



if ((( Hour ()>=Start_H1 && Minute ()>Start_M1) && ( Hour ()<=End_H1 && Minute ()<=End_M1 )) ||
    (( Hour ()>=Start_H2 && Minute ()>Start_M2) && ( Hour ()<=End_H2 && Minute ()<=End_M2))) 
        {
         открытие ордеров
        }
 
Nikita Chernyshov :

Merhaba, böyle bir sorunla karşılaştım: Danışman ticaretini sadece iki zaman diliminde yapamam. Nasıl yapılır? Lütfen bana söyle. Kod şuna benziyor, ancak yalnızca 1 nokta kabul ediyor, ikincisi yok sayıyor

Saatleri ve dakikaları tam zamana dönüştürmek ve mevcut zaman ile karşılaştırmak daha iyidir.

   string startTime_1, startTime_2, endTime_1, endTime_2;
   StringConcatenate (startTime_1, Start_H1, ":" , Start_M1);
   StringConcatenate (endTime_1, End_H1, ":" , End_M1);
   StringConcatenate (startTime_2, Start_H2, ":" , Start_M2);
   StringConcatenate (endTime_2, End_H2, ":" , End_M2);
   datetime startHM_1, startHM_2, endHM_1, endHM_2;
   startHM_1 = StringToTime (startTime_1);
   endHM_1 = StringToTime (endTime_1);
   startHM_2 = StringToTime (startTime_2);
   endHM_2 = StringToTime (endTime_2);
   if (( TimeCurrent () >= startHM_1 && TimeCurrent () <= endHM_1) || ( TimeCurrent () >= startHM_2 && TimeCurrent () <= endHM_2))
 
Merhaba. Nesneler var - adları olan üçgenler: 321fa34, 321fa53, 321fa41. En taze üçgenin minimum fiyatı nasıl bulunur? Özelliklerin ortasındaki fiyat.
 
YanSay :

Добрый день!

Прошу помочь со следующей проблемой:

1) После выполнения некоторых условий, открывается отложенный ордер:

Подскажите пожалуйста, что нужно дописать и куда, чтобы неоткрывшийся отложенный ордер был удален в том случае, если цена уже прошла стоп лосс(этого неоткрывшегося оредра).

Извините за глупый вопрос, заблудился в форумах пока искал ответ.

Заранее благодарю!

tanımlayıcı

Tanım

ORDER_TIME_GTC

Sipariş, iptal edilene kadar sırada kalacak

ORDER_TIME_DAY

Emir sadece mevcut işlem gününde geçerli olacaktır.

ORDER_TIME_SPECIFIED

Sipariş son kullanma tarihine kadar geçerli olacaktır

ORDER_TIME_SPECIFIED_DAY

Sipariş, belirtilen günün 23:59:59'una kadar geçerli olacaktır. Bu süre işlem seansına düşmezse, vade en yakın işlem süresinde gelir.


İşte bekleyen bir siparişi kaldırmak için bu seçenekler!

Bir emri silmek için fiyatı kontrol etmeniz ve stop fiyatına ulaştığında emri silmeniz gerekiyor - tüm bunları ayrı bir kodda yazmanız gerekiyor!

 

Bayanlar ve Baylar,

hatayı bulmaya yardım et:

(Hatalar)

')' - beklenmeyen program sonu

"virgül bekleniyor

"-noktalı virgül bekleniyor

'Trade_BY' - işlev tanımlanmadı

'Trade_SELL' - işlev tanımlanmadı

Dosyalar:
 

canım lütfen söyle!

Komut dosyasını kullanarak grafikteki göstergenin ayarlarını (belirli değişken) nasıl değiştirebilirim!?

Bu mümkünse, bir parça kod arzu edilir !!!

 
PolarSeaman :
Merhaba. Nesneler var - adları olan üçgenler: 321fa34, 321fa53, 321fa41. En taze üçgenin minimum fiyatı nasıl bulunur? Özelliklerin ortasındaki fiyat.

1.

OBJPROP_CREATETIME

Nesne oluşturma zamanı

tarih saat r/o

2.

OBJPROP_PRICE

Fiyat koordinatı

çift değiştirici=sabitleme noktası numarası

 
Nikita Chernyshov :

Merhaba, böyle bir sorunla karşılaştım: Danışman ticaretini sadece iki zaman diliminde yapamam. Nasıl yapılır? Lütfen bana söyle. Kod şuna benziyor, ancak yalnızca 1 nokta kabul ediyor, ikincisi yok sayıyor

Bu yaklaşımla, her iki aralık da göz ardı edilecektir. Örneğin, geçerli saat 01:15. Şart sağlanacak mı?

( Hour ()>=Start_H1 && Minute ()>Start_M1) && ( Hour ()<=End_H1 && Minute ()<=End_M1 )

Hayır, olmayacak. Sonuçta, mevcut dakikalar 15, bu da başlangıç 30'dan daha az. Benzer şekilde ikinci aralıkta. Günün başlangıcından itibaren zamanı dakikaya çevirmek en iyisidir:

 int nCurDayMinutes = Hour () * 60 + Minute ();
int nStart1DayMinutes = Start_H1 * 60 + Start_M1;
int nEnd1DayMinutes = End_H1 * 60 + End_M1;
if (nCurDayMinutes >= nStart1DayMinutes && nCurDayMinutes < nEnd1DayMinutes)
{
   // внутри интервала
}
 
YanSay :

Tünaydın!

Lütfen aşağıdaki sorunla bana yardım edin:

1) Belirli koşullar yerine getirildikten sonra bekleyen bir emir açılır:

Lütfen bana neyin ve nereye eklenmesi gerektiğini söyleyin, böylece fiyat zaten zararı durdurmayı geçmişse (bu açılmamış emrin) açılmamış bekleyen emrin silinmesi için.

Aptalca soru için özür dilerim, cevap ararken forumlarda kayboldum.

Şimdiden teşekkür ederim!

Bir siparişin açılıp açılmadığının bilinmediği gerçeğiyle başlayalım - bu konuda herhangi bir kontrol yok. Bu nedenle, açıldığı tespit edilmemiş bir emrin Zarar Durdur veya Kâr Al'a ulaşıp ulaşmadığını kontrol etmek anlamsızdır.

 
Игорь :

canım lütfen söyle!

Komut dosyasını kullanarak grafikteki göstergenin ayarlarını (belirli değişken) nasıl değiştirebilirim!?

Bu mümkünse, bir kod parçası arzu edilir !!!

Çok garip bir soru. Bu, "Dosyalı bir tabure nasıl açılır?" sorusunu sormakla aynıdır.