Her para birimi çiftinin kendi GlobalVariable'ına sahip olması, örneğin "MyEA_EURUSD".
EA'yı günde bir işlemle sınırlandırıyor olsaydınız, kod şöyle olurdu:
string sCheck = "MyEA_" + Symbol();
tarihsaat t = TimeCurrent();
tarihsaat tTicaret = t - TimeHour(t)*60*60 - TimeDakika(t)*60 - TimeSaniye(t);
if(!GlobalVariableCheck(sCheck)) GlobalVariableSet(sCheck, tTicaret -PERIOD_D1 * 60);
if(GlobalVariableGet(sCheck) < tTicaret) {
Sipariş Gönder(......);
GlobalVariableSet(sCheck, tTicaret);
}
Bunu en üste getirdiğim için üzgünüm ama şu anda aynı sorunu yaşıyorum. Maalesef sxTed soruyu bana cevaplamadı. Çünkü bir işlem zamanını tanımlamak, her bir döviz çifti için emir miktarından farklı bir şeydir.
sxTed'in satırlarını değiştirmeye çalıştım ama sanırım bu sorunu çözmede çok başarısız oldum:
string sCheck = "MyEA_" + Symbol (); // already the first error in the code, second quotes should be at the end of the line. //I would correct this one to: string sCheck = "MyEA_ + Symbol()" ; //However symbol() is not a function anymore ?? int start () { // Closing Orders here if (! GlobalVariableCheck (sCheck)) //checking Globalvariable, GV available so it becomes true (independently of what kind of GV we have)... GlobalVariableSet (sCheck, Symbol () ); //.. assigning a new GlobalVariable to the function of the current symbol the EA is attached on (does it actually work like this?) if ( GlobalVariableGet (sCheck) == Symbol ()) { // checking if our Symbol is the one which the EA is attached on --> becomes true... // Order Criteria (Open trades here) // What now? Actually i'm missing any kind of numbers or smth that limits the open orders per currency pair.
LÜTFEN: beni bu yerdeki herhangi bir literatürle ilişkilendirmeyin veya birini işe almamı söyleme, şu anda kitap okuyorum ve sıkışıp kaldım!!!
Her döviz çifti için ayrı bir EA kullanıyorum.
Bir pozisyonun açılması gerekip gerekmediğini doğrulamak için "if (OrdersTotal<1)" açık emri olup olmadığını test ediyorum ama bu diğer tüm döviz çiftlerinin pozisyon açmasını engelleyecek ve fırsatları kaçırıyorum.
Başka bir deyişle: Her döviz çifti için sadece bir pozisyon açmak istiyorum = farklı döviz çiftlerinde birden fazla pozisyon mümkün olmalıdır.
"if (OrdersTotal<1)" yerine hangi kodu kullanmalıyım? Biri bana yardım edebilir mi? Yardımınız için şimdiden teşekkür ederim.
int toplam=SiparişToplam(); int sayı = 0; int magno = 12345; for(int pos=0;pos<total;pos++) { if(OrderSelect(kon,SELECT_BY_POS) == false) devam et; (OrderMagicNumber() != magno) devam ederse; (OrderSymbol() != Symbol()) devam ederse; say++; } // Artık bu sembol için kaç siparişin bu EA tarafından açık olduğunu biliyorsunuz. if (sayım < 1) { // bir şeyler yap - belki açık sipariş }Bu yardımcı olur mu?
Bu yardımcı olur mu?
Bu yardımcı olur mu?
int total= OrdersTotal ();
TÜM döviz çiftlerinin toplam açık emirlerini sınırlar mı?
kodunuzu aşağıdaki gibi ekledim
int total= OrdersTotal (); int count = 0 ; for ( int pos= 0 ;pos<total;pos++) { if ( OrderSelect (pos,SELECT_BY_POS) == false) continue ; if ( OrderSymbol () != Symbol ()) continue ; count++; } if (Sell_1_1 < Sell_1_2 && CloseSell1_1 > CloseSell1_2 && count < 1 ) Order = SIGNAL_SELL; // Trigger for Sell if (Buy_1_1 > Buy_1_2 && CloseBuy1_1 < CloseBuy1_2 && count < 1 ) Order = SIGNAL_BUY; // Trigger for Buy if (order == SIGNAL_BUY) { OrderSend (...) }
ve hala sadece bir işlem açıyor. sxTed global değişkeniyle bize ne anlatmaya çalışıyordu?
TÜM döviz çiftlerinin toplam açık emirlerini sınırlar mı?
kodunuzu aşağıdaki gibi ekledim
ve hala sadece bir işlem açıyor. sxTed global değişkeniyle bize ne anlatmaya çalışıyordu?
EA'nız kaç grafikte var?
Kodu test etmek için 5 çizelge açtım ama N çizelge açmak istiyorum. Miktar önemli olmayacak.
Her döviz çifti için ayrı bir EA kullanıyorum.
Bir pozisyonun açılması gerekip gerekmediğini doğrulamak için "if (OrdersTotal<1)" açık emri olup olmadığını test ediyorum ama bu diğer tüm döviz çiftlerinin pozisyon açmasını engelleyecek ve fırsatları kaçırıyorum.
Başka bir deyişle: Her döviz çifti için sadece bir pozisyon açmak istiyorum = farklı döviz çiftlerinde birden fazla pozisyon mümkün olmalıdır.
"if (OrdersTotal<1)" yerine hangi kodu kullanmalıyım? Biri bana yardım edebilir mi? Yardımınız için şimdiden teşekkür ederim.
Bunu şu şekilde kodlayın:
int Total_Order = OrdersTotal (); for (pos = 0 ; pos <= Total_Order; pos ++) { if ( OrderSelect (pos, SELECT_BY_POS) == true) { if ( OrderSymbol () == Symbol ()) { Print ( ":( Sorry already have that symbol opened " ); // get outta here do something else break ; } else { Print ( "No order opened for this symbol" ); Print ( "Let\'s call waitress and order some drink :)" ); // do some order then break out and get out } } }
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Her döviz çifti için ayrı bir EA kullanıyorum.
Bir pozisyonun açılması gerekip gerekmediğini doğrulamak için "if (OrdersTotal<1)" açık emri olup olmadığını test ediyorum ama bu diğer tüm döviz çiftlerinin pozisyon açmasını engelleyecek ve fırsatları kaçırıyorum.
Başka bir deyişle: Her döviz çifti için sadece bir pozisyon açmak istiyorum = farklı döviz çiftlerinde birden fazla pozisyon mümkün olmalıdır.
"if (OrdersTotal<1)" yerine hangi kodu kullanmalıyım? Biri bana yardım edebilir mi? Yardımınız için şimdiden teşekkür ederim.