[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 105

 
Her şeyi izledim. sorunumu nasıl çözebilirim?
 
Zhunko :
Bu da mümkün.

b bire eşit olmaz mı?

kontrol. tek başına

 
artmedia70 :
Bayraklar oluşturun, ör.

TP1 için - bool TP1, TP2 için - bool TP2, vb. ...

Başlangıçta, değerleri yanlıştır.

Bir sonraki kapanıştan önce bir kontrol yapın:

if (!TP1) {ilk bölümün kısmi kapanış kodu, başarılı bir kapanıştan sonra TP1=true} yazın

if (!TP2) {ikinci bölümün kısmi kapanması için kod, başarılı bir kapanıştan sonra TP2=true} yazın

... ve benzeri tüm parçalar için ...

bu şekilde bayraklar, her bir parçanın zaten bir kez kapatıldığını bildirecektir...


Teşekkür ederim! Kodu değiştirdim... TP0==false programın başında bildirildi.

Sorun kaldı.Daha fazla ayrıntı: 1. kısım kapanır ve 2. kısım hemen kapanmaya başlar :-(... ve ikincisi için hata 131 , açık - parti büyüklüğü farklı) Ama başka bir nüans şu ki 1. kısım " "Uyarı ("Kapalı", Parti, "Parti Al", Bilet);"" logda yazmıyor, yani. doğrulamaya ulaşmıyor Ans==true. Niye ya???? Aşağıda bir kod parçası var ...

Şimdiden teşekkürler!

while(true) // Sipariş kapatma döngüsü.
{
if (TP0==yanlış && (Cls_B0==true ||Cls_S0==true))

{
LotC=MathRound(Lot/4/Adım)*Adım;
Alert("Lot-",Lot,"Kapatmaya Çalışıyor-",LotC," Lot Al ",Ticket,". Cevap bekleniyor..");

Yeniler(); // Veriyi güncelle
Ans=SiparişKapat(Ticket,LotC,Bid,5); // TicketClosing 1/3 lot alınsın mı?
if (Ans==true) // Anladım :)
{
TP0=doğru;
Alert("Kapalı",Lot,"Lot Alım",Bilet);
kırmak; // Kapatma döngüsünden çık
}
if (Fun_Error(GetLastError())==1) // Hata İşleme
devam etmek; // Yeniden dene
dönüş; // başlangıçtan çık()
}

 
Sinichka :

Sevgili programcılar!

Bana yardım et lütfen. Gösterge, gizli yükseliş eğilimine dayalı değerler çizer ve HİÇBİRİ, düşüş eğilimindeki gizli sapmayı çizer.... 4002 hatası - Dizi indeksi aralık dışında diyor.

Her şeyi düzeltmiş gibiyim... Bütün akşam eziyet çektim... Ve bu çok yazık - kod en basiti... Ama yükseliş okları çiziyor, ama düşüş eğilimi yok... YARDIM! Hata nerede?????????????????????


Alyona,

vpadcci[], v[], hh[], ss[] dizileri için bellek ayırmanız gerekir. Dinamik olarak bildirilirler, ancak boyutları hiçbir yerde belirtilmez. Dinamik bir dizinin boyutu, ArrayResize() işlevi tarafından belirlenir.

PS ve kodu yapıştırmak için lütfen SRC düğmesini kullanın

 
Snaf :
MT5 ile ilgili soru. Nasıl belirlenir. Test cihazının işi tamamladığını mı? Görsel hariç :)

Tamamlandığında, deinit() işlevi yürütülür. Dolayısıyla oraya varırsak uzmanın işi tamamlanmış demektir. Bir test cihazının çalışıp çalışmadığını belirlemek için IsTesting() işlevini kullanın.


Üzgünüm, sorunun MT5 ile ilgili olduğunu fark ettim.

Orada her şey benzer, sadece OnDeinit() ve MQL5InfoInteger( MQL5_TESTING).

 
alsu :

Alyona,

vpadcci[], v[], hh[], ss[] dizileri için bellek ayırmanız gerekir. Dinamik olarak bildirilirler, ancak boyutları hiçbir yerde belirtilmez. Dinamik bir dizinin boyutu, ArrayResize() işlevi tarafından belirlenir.

PS ve kodu yapıştırmak için lütfen SRC düğmesini kullanın


Cevabınız için çok teşekkür ederim, bir göz atacağım!
 
eddy :

вопрос програмистам: как сделать число после запятой целым?:)

например в числе 1,128 нужно 128, в 1,12 - 12, в 1,2 - 2)

exnern double n= 1 , 12
n-= MathFloor (n);          // 0.12 = 0.1200000..01 или 0.11999999..99
int n2= MathRound (n* 1000 ); // 0.12 > 120 или 119
while (true)                // пока в конце 0 или 9
 if (n2% 10 < 1 )              // n2==хз*10+0
    n2/= 10 ; else           // убираем 0
 if (n2% 10 == 9 )              // n2==хз*10+9
   {n2= MathRound (n2/ 10 );} // округляем 9 (119 > 11.9 > 12)
 else if (n2% 10 > 0 ) break ;
bu şekilde karar verdim. bir eksi - 0 veya 9 ile bitiyorsa sayı almak işe yaramaz ama ihtiyacım yok, hesaplama dönemine giriyorum (4,8,12,16,24,36,48 vb.)
 

VininI LRMA color.mq4 https://www.mql5.com/en/code/8200 göstergesinin renginde bir değişiklik olduğunu nasıl doğru yazacağımı lütfen bana söyleyin.

çift iCustom (dize simgesi , int zaman çerçevesi, dize adı, ..., int modu, int shift) kullanıyorsanız. Anlayamıyorum. iCustom(NULL,0,"VininI_LRMA_color",55,0,1) yazdım ve sonra ne yapacağımı bilmiyorum))

 

Satır değerleri, 1 (yeşil) ve 2 (kırmızı) gösterge arabelleklerindedir. Grafikte yeşil bir çizgi çizildiğinde, çubuk 1'deki yukarı değişken bu satırın değerine sahiptir ve dn=EMPTY_VALUE değişkeni ve bunun tersi de geçerlidir. EMPTY_VALUE , arabelleğin boş değeridir, sayısal değeri 2147483647'dir.
Daha sonra bu değerleri dilediğiniz gibi kullanabilirsiniz.

 double up= iCustom ( NULL , 0 , "VininI LRMA color" ,period,price,Shift, 1 , 1 ); 
double dn= iCustom ( NULL , 0 , "VininI LRMA color" ,period,price,Shift, 2 , 1 ); 
 
Poseidon :
Son açık sipariş için kar al-a tetiklendiğinde tüm siparişleri kapatacak bir Uzman Danışman oluşturmak mümkün müdür?
Ben sadece acemiyim ve nasıl yapacağımı bilmiyorum. Kimin umurunda, benim için yapabilir misin?