[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 78

 
goldtrader >> :

1. koşullu if ifadesinin altındaki koşul, yalnızca onu izleyen ifade için geçerlidir (sonraki satır).

Gerisi KOŞULSUZ gerçekleştirilir. Onlar. Sırayı kapatmak için herhangi bir komut olmasa bile, çalma seslerinden biri çalışacaktır.

Böyle daha doğru:

İşin aslı, her iki çalma sesinin de çalışmasıdır - PlaySound("timeout.wav") çalışır, PlaySound("money.wav") işleminden sonra işlem normal şekilde kapanır, ancak kapanmadan önce bir hata çalma sesi vardır ve bu şey sadece kısa anlaşmalar için çalışır, uzun olanlar için her şey yolundadır - kapalıysa PlaySound("money.wav") ve bir hataysa PlaySound("timeout.wav"), uzun ve kısa anlaşmalar için yapı aynıdır. Parantezleri tarif ettiğiniz gibi düzenlemeye çalışacağım, FIG biliyor, belki içlerindedir))


 
Dimoncheg >> :

... Parantezleri tarif ettiğiniz gibi düzenlemeye çalışacağım, FIG biliyor, belki içlerindedir))

Böyle bir yaklaşımla olumlu bir sonuç elde etmek zordur.

 
goldtrader >> :

Böyle bir yaklaşımla olumlu bir sonuç elde etmek zordur.

Sonucun metnin forumda sunulma şekline bağlı olmadığına derinden inanıyorum)) En azından kendimi bir aydın olarak görmüyorum, peki, bu saçmalık, hepsi konu dışı))

Bir sipariş göndermek için küme parantezleri yaptım, aynı şey, önce bir hata sesi, sonra bir kapanış sesi. Uzun süre her şey eskisi gibi güzel. Yani her şey çalışıyor tabi ki, daha yeni bir fonksiyon ekledim ki hangi hataları görebileyim, bu yüzden bu ses kapanma sesinden önce çıktı ve ondan önce doğal olarak fark etmedim, hala saban sürüyor

 

Evet, referans için. PlaySound () komutu, önceki sesin sonuna kadar çalmasını beklemez, sadece araya girer ve kendi sesini başlatır. Ara sesler hızlı tıngırdatma ile emilebilir.

 
Roger >> :

Evet, referans için. PlaySound () komutu, önceki sesin sonuna kadar çalmasını beklemez, sadece araya girer ve kendi sesini başlatır. Ara sesler hızlı tıngırdatma ile emilebilir.

Eh, sadece seste olurdu, herhangi bir kısa işlem kapatıldığında, 3 işlem kapatıldığında günlükte "Hata yok" hatası çıkıyor - 3 hata çıkıyor, vb, ancak bundan sonra her şey kapanıyor ve kapanış kayıtta yazıyor, uzun işlemler için her şey yolunda ve sesler istendiği gibi çalışıyor ve hata kaydedilmedi, 3 saniye ve 5 saniye boyunca bir fiş eklendi, her şey aynı, sadece karşılık gelen bir gecikmeyle

 
Lütfen bana söyle. Her çubuk için ayrı ayrı hesaplanması gereken bir değişken var, yani [i+1]=0.9, [i+2]=0.8, [i+3]=1.5........ ama anladım ki son hesaplanan değer geçmişteki tüm çubuklara uygulanır.........son değer 1 ise, [i+1]=1, [i+2]=1, [i+3]= 1 ve son 2 ise, sırasıyla [i+1]=2, [i+2]=2, [i+3]=2....
 
Dimoncheg писал(а) >>

Eh, sadece seste olurdu, herhangi bir kısa işlem kapatıldığında, 3 işlem kapatıldığında günlükte "Hata yok" hatası çıkıyor - 3 hata çıkıyor, vb, ancak bundan sonra her şey kapanıyor ve kapanış kayıtta yazıyor, uzun işlemler için her şey yolunda ve sesler istendiği gibi çalışıyor ve hata kaydedilmedi, 3 saniye ve 5 saniye boyunca bir fiş eklendi, her şey aynı, sadece karşılık gelen bir gecikmeyle

Bilirsiniz, benzer bir deneyim yaşadım, savaştım, savaştım, gecikmeler ayarladım - ilerleme yok. Sonra kapatmayı kontrol etmeye başladı

if(SiparişKapatZamanı()!=0)

hemen tüm sorunlar ortadan kalktı. Denemek.

 
RocketTrend писал(а) >>
Lütfen bana söyle. Her çubuk için ayrı ayrı hesaplanması gereken bir değişken var, yani [i+1]=0.9, [i+2]=0.8, [i+3]=1.5........ ama anladım ki son hesaplanan değer geçmişteki tüm çubuklara uygulanır.........son değer 1 ise, [i+1]=1, [i+2]=1, [i+3]= 1 ve son 2 ise, sırasıyla [i+1]=2, [i+2]=2, [i+3]=2....

Söylemesi çok zor, bu kod parçasını tam olarak gönderin.

 
Reshetov >> :

Hata ayıklamaya ihtiyaç varsa, Print () aracılığıyla

Ancak çoğu durumda bu gerekli değildir.


Ama şu anda farklı bir fikrim var. Şu anda bir danışman yazıyorum ve normal bir hata ayıklayıcı olmadan ciddi sorunlar yaşıyorum. Özellikle veri dizileriyle.

Algoritmanın doğru çalıştığından emin olmak için göstergeleri hesaplarken oraya gelen verileri analiz etmem gerekiyor. Ve dizi bir değil

Ne, Print(), Comment(), Alert() dışında başka bir yol yok mu?

 
Reshetov >> :


Bu ne ya? OrderSelect() ne için?


Gerisini anlamak zor çünkü. kod girintisiz düzenlenmiştir ve parantezleri takip etmek imkansızdır - görme yeteneğimi bozmak istemiyorum.

Tamam, saçmalamadan yapalım ve gözünüz bozulmasın

/---- giriş parametreleri
harici int PerRSI=8;
harici int MagicNumber=77771;
dış çift Lot = 1.0;
//+------------------------------------------- --------------------+
int başlangıç()
{
int
tür, // sipariş türü
cnt, // sipariş dizini
bilet, // sipariş kimlik numarası
Toplam; // zaten açık olan siparişlerin sayısı
çift
rsi_0, // Değer. rsi_0 akımı
rsi_1; // Değer. rsi_1 1. çubuk

rsi_0=iRSI (BOŞ, 0, PerRSI, 0, 0); // Geçerli çubuk
rsi_1=iRSI (NULL, 0 ve PerRSI,0, 1); // Geçerli çubuk artı 1

if(rsi_0 < rsi_1 && rsi_1 < 30) // Çizgi 30'u geçerse

bilet=OrderSend(Symbol(), OP_BUY,Lots, Ask, 3, 0, 0, "My RSI", MagicNamber, 0, Green);

OrderSelect(bilet, SELECT_BY_TICKET, MODE_TRADES);


if(rsi_0 > rsi_1 && rsi_1 > 60) // Çizgi 70'i geçerse

OrderClose(ticket, OrderLots(), Bid, 3, Violet); // pozisyonu kapat

dönüş(0); // çıkış

}

kepçe neden satın alıyor ve kapanmıyor, derleme sırasında hata yok