[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 42
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
ve DC'nin işlem sayısı üzerinde kısıtlamaları var mı?
Bazılarının yalnızca işlem sayısında bir sınırı yoktur, aynı zamanda istek sayısında da bir sınır vardır.
ÇOK yaratıcılar! :-))
ve geri kalanı testin sonuna kadar askıda kalır, ancak duruma göre bir işlem açıldığında diğerinin kapatılması gerekir.
Ve OrderClose() kullanırken 4051 ve 134 hataları hakkında başka bir soru, bunlar ne anlama geliyor? Günlükten kopyalanan bilgiler.
Görünüşe göre son seçenek az çok çalışmaya başladı. Hesaplamaları basitleştirmek mümkün olsa da
Lütfen bana söyle! Belirli bir fiyata ulaşıldığında, bekleyen iki emri aynı sihirle, ancak farklı lotla nasıl kapatabilirim.
int başlangıç()
{
çift MyLastBullOpenPrice=0;
for(int Cnt=0;Cnt<OrdersTotal();Cnt++)
{
OrderSelect(Cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==12345 && OrderType()==OP_BUY)
{
MyLastBullOpenPrice=OrderOpenPrice();
double Cena=OrderOpenPrice()+5*Puan;
double Toplam fiyat= Teklif;
if (Totalcena>Cena)
{
if (Sipariş Toplamı()>0)
{ for (int i=OrdersTotal()-1; i>=0; i--)
{ if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{ if(OrderMagicNumber()==12345)
{ if (OrderDelete(OrderTicket())==true)
{
Print("Hata = ",GetLastError()); dönüş(0);
}
} } } } }
}
}
dönüş(MyLastBullOpenPrice);
}
ve geri kalanı testin sonuna kadar askıda kalır, ancak duruma göre bir işlem açıldığında diğerinin kapatılması gerekir.
Ve OrderClose() kullanırken 4051 ve 134 hataları hakkında başka bir soru, bunlar ne anlama geliyor? Günlükten kopyalanan bilgiler.
134 - denyuh yok, 4051 - fonksiyona boktan parametreler iletildi.
Özünde, magick değişkeninin yalnızca bir kez, tercihen init() işlevinde atandığını kontrol edin, aksi takdirde her siparişin kendi magick'i olacaktır ve sonuç, yaklaşık olarak sizin dediğiniz gibi olacaktır.
Lütfen diziler aracılığıyla bir dizideki karakterleri değiştirmek için bir işlev eklemeye (veya yazmaya) yardım edin.
İki karakter dizimiz var:
string sembolleri1 [] = {"a","b","c","d"};string sembolleri2[] = {"1","2","3","4"};
Dizilere dayalı olarak badc metnini 2143 ile değiştirecek bir fonksiyon yazmaya çalıştım, sonuç şöyle oldu:
string ReplaceSymbolsInStr(string text){
string textMod[] ={""};
string symbols1[] = {"a","b","c","d"};
string symbols2[] = {"1","2","3","4"};
int textLen = StringLen(text);
for (int i1=0; i1<textLen; i1++)
{
string OneSymbol = StringSubstr(text,i1,1);
for (int i2=0; i2<ArraySize(symbols1); i2++)
{
if (symbols1[i2]==OneSymbol) int PosSymbolIn1array=i2;
}
return(-1);
string OneSymbolMod = symbols2[PosSymbolIn1array];
int NewArraySize = ArraySize(textMod)+1;
ArrayResize(textMod,NewArraySize);
textMod[i1]=OneSymbolMod;
string textNew;
textNew=StringConcatenate(textMod[1],textMod[2]...);//собрать массив в строку вообще не могу :(
return (textNew);
}
}
Bunun doğru olmadığını biliyorum ve diziyi hiç bir şekilde bir dizgede toplayamıyorum. Lütfen yardım et.
Bazılarının yalnızca işlem sayısında bir sınırı yoktur, hatta istek sayısında da bir sınır vardır.
ÇOK yaratıcılar! :-))
Lütfen diziler aracılığıyla bir dizideki karakterleri değiştirmek için bir işlev eklemeye (veya yazmaya) yardım edin.
İki karakter dizimiz var:
string sembolleri1[] = {"a","b","c","d"};string sembolleri2[] = {"1","2","3","4"};
Dizilere dayalı olarak badc metnini 2143 ile değiştirecek bir fonksiyon yazmaya çalıştım, sonuç şöyle oldu:
string ReplaceSymbolsInStr(string text){
string textMod[] ={""};
string symbols1[] = {"a","b","c","d"};
string symbols2[] = {"1","2","3","4"};
int textLen = StringLen(text);
for (int i1=0; i1<textLen; i1++)
{
string OneSymbol = StringSubstr(text,i1,1);
for (int i2=0; i2<ArraySize(symbols1); i2++)
{
if (symbols1[i2]==OneSymbol) int PosSymbolIn1array=i2;
}
return(-1);
string OneSymbolMod = symbols2[PosSymbolIn1array];
int NewArraySize = ArraySize(textMod)+1;
ArrayResize(textMod,NewArraySize);
textMod[i1]=OneSymbolMod;
string textNew;
textNew=StringConcatenate(textMod[1],textMod[2]...);//собрать массив в строку вообще не могу :(
return (textNew);
}
}
Bunun doğru olmadığını biliyorum ve diziyi hiç bir şekilde bir dizgede toplayamıyorum. Lütfen yardım et.
teoride, karakterin dizinini değiştirme dizisinde buldunuz, öyleyse neden başka bir dizi yaratıyorsunuz?
alınan verileri ilk döngüde normal bir metin değişkenine eklemeyi deneyin:
string ReplaceSymbolsInStr(dize metni)
{string sembolleri1[] = {"a","b","c","d"};
string sembolleri2[] = {"1","2","3","4"};
stringtextNew="";
int textLen = StringLen(metin);
için (int i1=0; i1<textLen; i1++)
{
string OneSymbol = StringSubstr (metin,i1,1);
için (int i2=0; i2<ArraySize(symbols1); i2++)
{
if (symbols1[i2]==OneSymbol) { textNew = metinYeni + semboller2[ i2 ] ; i2=ArraySize(semboller1) ; }
}
}
dönüş(metinYeni);
}
ve bunun gibi daha da kolay:
string ReplaceSymbolsInStr(dize metni)
{string sembolleri1[4] = {"a","b","c","d"}; // içindeki karakter sayısına göre dizinin boyutu
stringtextNew="";
için (int i1=0; i1< StringLen(metin) ; i1++)
{
string OneSymbol = StringSubstr(metin,i1,1);
için (int i2=0; i2<ArraySize(symbols1); i2++)
{
if (symbols1[i2]==OneSymbol)
{
metinYeni = metinYeni + ( i2+1) ; // döndürülen metne karakterin numarası ONE'dan sayılarak eklendi
i2=ArraySize(semboller1) ; // arama döngüsünü sonlandırdık
}
}
}
dönüş(metinYeni);
}
Tünaydın!
Danışmanda csv formatındaki verilerin e-postaya otomatik olarak gönderilmesini nasıl organize edeceğimi söyleyin (veya bir örneğe bağlantı verin)?
Teşekkür ederim.