[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 533

 
001 :

Derleyicinin mantığını anlayamıyorum. Bir fonksiyon var. Harici bir değişken bildiriyorum.

int başlangıç;

sonra fonksiyonun gövdesi

çift B()
{

int i=0, k=OrdersHistoryTotal();
for (i=k-1; i<=k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)!=yanlış) {
if (OrderType()==OP_SELL) {
if( OrderProfit()< 0) {start=1;}

}

}

}

}

Başlangıç değişkeninin değerinin hatırlanması ve gerektiğinde sıfıra eşit olması gerekmektedir. Burada, OrderProfit()<0 ise start=1 ve eğer OrderProfit() > 0 ise otomatik olarak start=0 olduğu ortaya çıkıyor.

Numara

OrderProfit() > 0 ise, o zaman değişkende olan kalır

 
Tantrik :
nerede bulacağımı bana nerede söyleyebilirsin? her şey ingilizce.
MetaEditor'u Rusça olarak yapılandıramıyorsanız, Documentation bağlantısını kullanın.
 
ilunga :

Numara

OrderProfit() > 0 ise, o zaman değişkende olan kalır


İşte fonksiyon.

//+------------------------------------------- --------------------+
çift denge()
{

int i=0, k=OrdersHistoryTotal();
for (i=k-1; i<=k; i++) {
//------------------------------------------------ ------------
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)!=yanlış) {
if (OrderType()==OP_SELL) {
if(OrderProfit()<0) {start=true;}
}
}

//------------------------------------------------ -----------
}
Yazdır("başlat=",başlat);
if(lot<0.01) lot=0.01;
lot=NormalizeÇift(lot,2);
dönüş(lot);
}
//+------------------------------------------- --------------------+

İşte günlük.

16:01:36 2007.07.12 00:01 Bars_Trader GBPUSD,M1: başlangıç= 0
16:01:36 2007.07.12 00:01 Bars_Trader GBPUSD,M1: başlangıç= 0
16:01:36 2007.07.12 00:01 Bars_Trader GBPUSD,M1: açık #1, 2.03190 tp'de 0.01 GBPUSD sat: 2.03100 tamam
16:01:36 2007.07.12 04:01 Bars_Trader GBPUSD,M1: kapanış #1 0.01 GBPUSD'yi 2.03190 tp'den sat: 2.03100 2.03210 fiyatından
16:01:36 2007.07.13 04:04 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.13 04:04 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.13 04:04 Bars_Trader GBPUSD,M1: açık #2 2.02860 tp'de 0.01 GBPUSD sat: 2.02770 tamam
16:01:36 2007.07.13 08:00 Bars_Trader GBPUSD,M1: yakın #2 0.01 GBPUSD'yi 2.02860 tp'den sat: 2.02770, 2.02890 fiyatından
16:01:36 2007.07.16 20:00 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.16 20:00 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.16 20:00 Bars_Trader GBPUSD,M1: açık #3 2.03640 tp'de 0.01 GBPUSD sat: 2.03550 tamam
16:01:36 2007.07.17 00:05 Bars_Trader GBPUSD,M1: Kapat #3 0.01 GBPUSD'yi 2.03640 tp'den sat: 2.03550 2.03630 fiyatından
16:01:36 2007.07.18 16:00 Bars_Trader GBPUSD,M1: başlangıç= 0
16:01:36 2007.07.18 16:00 Bars_Trader GBPUSD,M1: başlangıç= 0
16:01:36 2007.07.18 16:00 Bars_Trader GBPUSD,M1: açık #4 2.04880 tp'de 0.01 GBPUSD sat: 2.04790 tamam
16:01:36 2007.07.18 20:00 Bars_Trader GBPUSD,M1: #4 kapanış 0.01 GBPUSD'yi 2.04880 tp: 2.04790'dan 2.05430'dan sat
16:01:36 2007.07.19 04:00 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.19 04:00 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.19 04:00 Bars_Trader GBPUSD,M1: açık #5 2.05140 tp'de 0.01 GBPUSD sat: 2.05050 tamam
16:01:36 2007.07.19 08:00 Bars_Trader GBPUSD,M1: #5 kapanış 0.01 GBPUSD'yi 2.05140 tp'den sat: 2.05050, 2.05200 fiyatından
16:01:36 2007.07.19 16:00 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.19 16:00 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.19 16:00 Bars_Trader GBPUSD,M1: açık #6 2.04840 tp'de 0.01 GBPUSD sat: 2.04750 tamam
16:01:36 2007.07.19 17:33 Test eden: 2.04750'de 6. kârı al (2.04760 / 2.04790)
16:01:36 2007.07.20 04:00 Bars_Trader GBPUSD,M1: başlangıç= 0
16:01:36 2007.07.20 04:00 Bars_Trader GBPUSD,M1: başlangıç= 0
16:01:36 2007.07.20 04:00 Bars_Trader GBPUSD,M1: açık #7 2.04810 tp'de 0.01 GBPUSD sat: 2.04720 tamam
16:01:36 2007.07.20 08:00 Bars_Trader GBPUSD,M1: kapanış #7 0.01 GBPUSD'yi 2.04810 tp'den sat: 2.04720 2.04900 fiyatından
16:01:36 2007.07.25 00:00 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.25 00:00 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.25 00:00 Bars_Trader GBPUSD,M1: açık #8 2.06160 tp'de 0.01 GBPUSD sat: 2.06070 tamam
16:01:36 2007.07.25 02:12 Test eden: 2.06070'te (2.06040 / 2.06070) 8. kâr al
16:01:36 2007.07.26 08:00 Bars_Trader GBPUSD,M1: başlangıç= 0
16:01:36 2007.07.26 08:00 Bars_Trader GBPUSD,M1: başlangıç= 0

 
001 :


İşte fonksiyon.

//+------------------------------------------- --------------------+
çift denge()
{

int i=0, k=OrdersHistoryTotal();
for (i=k-1; i<=k; i++) {
//------------------------------------------------ ------------
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)!=yanlış) {
if (OrderType()==OP_SELL) {
if(OrderProfit()<0) {start=true;}
}
}

//------------------------------------------------ -----------
}
Yazdır("başlat=",başlat);
if(lot<0.01) lot=0.01;
lot=NormalizeÇift(lot,2);
dönüş(lot);
}
//+------------------------------------------- --------------------+

İşte günlük.

16:01:36 2007.07.12 00:01 Bars_Trader GBPUSD,M1: başlangıç= 0
16:01:36 2007.07.12 00:01 Bars_Trader GBPUSD,M1: başlangıç= 0
16:01:36 2007.07.12 00:01 Bars_Trader GBPUSD,M1: açık #1, 2.03190 tp'de 0.01 GBPUSD sat: 2.03100 tamam
16:01:36 2007.07.12 04:01 Bars_Trader GBPUSD,M1: kapanış #1 0.01 GBPUSD'yi 2.03190 tp'den sat: 2.03100 2.03210 fiyatından
16:01:36 2007.07.13 04:04 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.13 04:04 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.13 04:04 Bars_Trader GBPUSD,M1: açık #2 2.02860 tp'de 0.01 GBPUSD sat: 2.02770 tamam
16:01:36 2007.07.13 08:00 Bars_Trader GBPUSD,M1: yakın #2 0.01 GBPUSD'yi 2.02860 tp'den sat: 2.02770, 2.02890 fiyatından
16:01:36 2007.07.16 20:00 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.16 20:00 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.16 20:00 Bars_Trader GBPUSD,M1: açık #3 2.03640 tp'de 0.01 GBPUSD sat: 2.03550 tamam
16:01:36 2007.07.17 00:05 Bars_Trader GBPUSD,M1: Kapat #3 0.01 GBPUSD'yi 2.03640 tp'den sat: 2.03550 2.03630 fiyatından
16:01:36 2007.07.18 16:00 Bars_Trader GBPUSD,M1: başlangıç= 0
16:01:36 2007.07.18 16:00 Bars_Trader GBPUSD,M1: başlangıç= 0
16:01:36 2007.07.18 16:00 Bars_Trader GBPUSD,M1: açık #4 2.04880 tp'de 0.01 GBPUSD sat: 2.04790 tamam
16:01:36 2007.07.18 20:00 Bars_Trader GBPUSD,M1: #4 kapanış 0.01 GBPUSD'yi 2.04880 tp: 2.04790'dan 2.05430'dan sat
16:01:36 2007.07.19 04:00 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.19 04:00 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.19 04:00 Bars_Trader GBPUSD,M1: açık #5 2.05140 tp'de 0.01 GBPUSD sat: 2.05050 tamam
16:01:36 2007.07.19 08:00 Bars_Trader GBPUSD,M1: #5 kapanış 0.01 GBPUSD'yi 2.05140 tp'den sat: 2.05050, 2.05200 fiyatından
16:01:36 2007.07.19 16:00 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.19 16:00 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.19 16:00 Bars_Trader GBPUSD,M1: açık #6 2.04840 tp'de 0.01 GBPUSD sat: 2.04750 tamam
16:01:36 2007.07.19 17:33 Test eden: 2.04750'de 6. kârı al (2.04760 / 2.04790)
16:01:36 2007.07.20 04:00 Bars_Trader GBPUSD,M1: başlangıç= 0
16:01:36 2007.07.20 04:00 Bars_Trader GBPUSD,M1: başlangıç= 0
16:01:36 2007.07.20 04:00 Bars_Trader GBPUSD,M1: açık #7 2.04810 tp'de 0.01 GBPUSD sat: 2.04720 tamam
16:01:36 2007.07.20 08:00 Bars_Trader GBPUSD,M1: kapanış #7 0.01 GBPUSD'yi 2.04810 tp'den sat: 2.04720 2.04900 fiyatından
16:01:36 2007.07.25 00:00 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.25 00:00 Bars_Trader GBPUSD,M1: başlangıç= 1
16:01:36 2007.07.25 00:00 Bars_Trader GBPUSD,M1: açık #8 2.06160 tp'de 0.01 GBPUSD sat: 2.06070 tamam
16:01:36 2007.07.25 02:12 Test eden: 2.06070'te (2.06040 / 2.06070) 8. kâr al
16:01:36 2007.07.26 08:00 Bars_Trader GBPUSD,M1: başlangıç= 0
16:01:36 2007.07.26 08:00 Bars_Trader GBPUSD,M1: başlangıç= 0

daha eksiksiz kod göster. Örneğin, şimdi bu değişkenin nerede bildirildiğini göremezsiniz.

 
ilunga :

daha eksiksiz kod göster. Örneğin, şimdi bu değişkenin nerede bildirildiğini göremezsiniz.


harici int TF;
harici dahili TP;
harici int BARS;
harici int BariyerDakika;
harici intAdım=0;
//--------
dış çift ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ;
dış çift Azaltma = 2;
harici int Bekle=2;
harici int Tekrar;
harici int MA_Sell;
harici int Applied_Price_Sell;
//harici int MAPeriod_1;
//harici int Hesap=8;
dış çift Lot=5;
//----
statik int PrevTime=0;
çift lot;
int bekle, başlat , adım, tekrarla;
tarihsaat açıksaat = 0;
çift parti = 0.1;
 
sergovan 26.01.2012 07:27 | düzenleme yasağı | silmek

Merhaba, EA'daki OP_BUYSTOP ve OP_SELLSTOP siparişlerini OP_SELLLIMIT ve OP_BUYLIMIT ile nasıl değiştireceğimi söyler misiniz ???


Ekli dosyalar:
Expertd10.mq4 (5.82 KB) kaldır
 

Merhaba arkadaşlar! Lütfen sorunu çözmeme yardım edin!?

Yazılım durdurma kaybı olan bir Uzman Danışman yazıyorum, algoritmanın temel şeması aşağıdaki gibidir:


int başlangıç()
{çift x, ÖncekiKar, MevcutKar;
for (x=0; x<1; x++) // For döngüsü operatörü (teoride) 1 kez çalıştırılmalıdır
{ÖncekiKar=(-20);}//Tüm zamanlar için 1 kez değer atama (teoride)!

CurrentProfit=OrderProfit();//Seçilen siparişin karını öğrenin
if (ÖncekiKar<CurrentProfit)//Mevcut kar öncekinden büyükse, o zaman...
{PrevProfit=CurrentProfit;}// PrevProfit değişkenine yeni bir değer atayın!
//O. "Önceki Kâr" değişkeni tüm zamanlar için maksimum kâr değerini içermelidir!
}


Buradaki yakalama, "x" değişkeninin değerinin yeni bir onay işareti ile sıfırlanması ve "Önceki Kâr" değişkeninin değerinin (-20) her yeni işarete atanmasıdır! O. Algoritmanın tüm amacı kayboldu! Ve PrevProfit değişkeninin, sipariş kapatıldığında bu değerin zorunlu "sıfırlanmasına" kadar siparişin maksimum kâr değerini kalıcı olarak tutacağı şekilde tasarlanmıştır.

Hata nerede? Belki bu görev için başka çözümler vardır? Şimdiden teşekkürler!

 
bis :

Buradaki yakalama, "x" değişkeninin değerinin yeni bir onay işareti ile sıfırlanması ve "Önceki Kâr" değişkeninin değerinin (-20) her yeni işarete atanmasıdır! O. Algoritmanın tüm amacı kayboldu! Ve PrevProfit değişkeninin, sipariş kapatıldığında bu değerin zorunlu "sıfırlanmasına" kadar siparişin maksimum kâr değerini kalıcı olarak tutacağı şekilde tasarlanmıştır.

Hata nerede? Belki bu görev için başka çözümler vardır? Şimdiden teşekkürler!

Bkz. https://docs.mql4.com/en/basis/variables/static
 
FAQ :
sergovan 26.01.2012 07:27 | düzenleme yasağı | silmek

Merhaba, EA'daki OP_BUYSTOP ve OP_SELLSTOP siparişlerini OP_SELLLIMIT ve OP_BUYLIMIT ile nasıl değiştireceğimi söyler misiniz ???


Expertd10.mq4 (5.82 KB) kaldır


Bid and Ask'ı ne zaman değiştirdiklerini unuttunuz mu?
 

Strateji test cihazında standart bir göstergenin nasıl görünür hale getirileceğini kim bilebilir?