aniden test cihazı çalışmayı durdurdu, hiçbir tarihsel veriyi çizmedi.
Onunla ne yapmalı?
Bilgi için: Teklif arşivi yüklendi
Terminali yeniden başlatarak ve C:\Program Files\MetaTrader - Alpari\history\Alpari-Micro2 klasöründeki indirilen alıntıları önceden silerek yardımcı oldum.
Noterday : Lütfen bana bir sipariş açmanın mümkün olan maksimum hacmini hesaplayan işlevi söyler misiniz?
Sana bir yem vereyim... :) Aşağıdaki fonksiyon, ihtiyacınız olan parametreleri hesaplamak için tüm verilere sahiptir. O kadar tembeldim ki tuşlara bile bastım...
İhtiyacınız olanı kendiniz bulacak ve kendiniz için yeniden oluşturacaksınız... Kodun kendisi o kadar basit ve erişilebilir ki, yeniden yapmak hiç kimse için zor olmayacak...
// ==========================================================================// ------------ Функция рассчёта величины лота для открытия позиции ---------// Если лот превышает возможный для открытия позы, то он корректируется // ==========================================================================double CorrectLots( double lt, double divider= 4.0 ) // lt = проверяемый лот, divider = на сколько разделить
{ // свободные средстваdouble ltcorr;
double pnt = MarketInfo( Symbol (),MODE_POINT);
double mspr = MarketInfo( Symbol (),MODE_SPREAD);
double dig = MarketInfo( Symbol (),MODE_DIGITS);
double MaxLot = MarketInfo( Symbol (),MODE_MAXLOT);
double MinLot = MarketInfo( Symbol (),MODE_MINLOT);
double StpLot = MarketInfo( Symbol (),MODE_LOTSTEP);
double OneLot = MarketInfo( Symbol (),MODE_MARGINREQUIRED);
double TradeMrg = NormalizeDouble (AccountFreeMargin()/divider,dig); // Свободные средства, разрешенные к торговле
lt= MathAbs (lt);
ltcorr=lt; // Зададим начальное значением ltcorr равным значению ltif (lt>=MaxLot) ltcorr=MaxLot; // Проверим превышение допустимых ...if (lt<=MinLot) ltcorr=MinLot; // ... значений лотаdouble Money=lt*OneLot+mspr*pnt; // Вычисляем стоимость открываемой позыif (Money<TradeMrg) // Если свободных средств больше, чем цена позиции -
{
return (ltcorr); // ... возвращаем неизменённый лот
}
elseif (Money>=TradeMrg) // Если цена позиции равна или больше, чем есть свободных средств, то ...
{
ltcorr= MathAbs ( MathFloor (TradeMrg/OneLot/StpLot)*StpLot); // ... рассчитаем допустимый лотdouble MoneyCorr=ltcorr*OneLot+mspr*pnt;
Print ( "Func CorrectLots: лот " ,lt, " скорректирован до " ,ltcorr,
" Стоимость позы до корректировки = " ,Money,
" Стоимость позы после корректировки = " ,MoneyCorr
);
return (ltcorr); // ... и вернём его значение
}
Print ( "Func CorrectLots: лот вернули без изменений" );
return (ltcorr); // Возврат изначального лота в непредусмотренных случаях с сообщением
}
Bir soru...
Hitler'in savaşın sonunda yaptığı gibi neden ticarete ihtiyacınız var ... Çocukları Hitler Gençliğine dahil etti, tabiri caizse, bir Faust kartuşunun bir atış için et ...
artmedia70 : Sana bir yem vereyim... :) Aşağıdaki fonksiyon, ihtiyacınız olan parametreleri hesaplamak için tüm verilere sahiptir. O kadar tembeldim ki tuşlara bile bastım...
İhtiyacınız olanı kendiniz bulacak ve kendiniz için yeniden oluşturacaksınız... Kodun kendisi o kadar basit ve erişilebilir ki, yeniden yapmak hiç kimse için zor olmayacak...
Bir soru...
Hitler'in savaşın sonunda yaptığı gibi neden ticarete ihtiyacınız var ... Çocukları Hitler Gençliğine dahil etti, tabiri caizse, bir Faust kartuşunun bir atış için et ...
Bana hiçbir şeyi hatırlatmıyor?????
IMHO tabii ki...
Teşekkür ederim!
Maksimum hacimle açmayacağım, sadece daha fazla matematiksel işlem için Deponun boyutuna göre hesaplamam gerekiyor =))
bana kodu veya dalı söyleyin , gösterge çizgisinin fiyatla kesişimini nasıl hatırlayacağımı. Bir yerde görmüştüm ama bulamıyorum. Şimdiden teşekkürler.
ama ben daha çok şuna benzer bir şeyle ilgileniyorum:
int start()
{
double LineX = iCustom ( "EURUSD" , Period_H1, "Indicator" , 0 , 0 );
double lineY = iCustom ( "EURUSD" , Period_H1, "Indicator" , 1 , 0 );
double priceA = Ask;
double priceB = Bid;
double intersectionX = (LineX == priceA) ;
double intersectionY = (LineY == priceB) ;
// а так же еще определить, какое пересечение последнее, а какое предпоследние // intersectionX = последнее пересечение и на оборот// intersectionY = предпоследние пересечение и на оборот// то есть я понимаю логику, а вот связать в коде не могу.//произошло intersectionX, то intersectionFirst = intersectionX; intersectionSecond = intersectionY;// произошло intersectionY, то intersectionFirst = intersectionY; intersectionSecond = intersectionX;
}
bu değerler arasındaki farkı karşılaştırırsanız, doğru bir karşılaştırma için değerleri normalleştirme ihtiyacından hemen kurtulursunuz.
Özellikle, sorunuzla ilgili olarak - gösterge çizgisini geçen fiyat, son hesaplamadaki Ask- -iCustom() farkının sıfırdan küçük olduğu ve ardından daha büyük olduğu veya tam tersi olduğu andır.
bu anı nasıl hesaplayacağınız kendi işiniz - belki bir önceki çubukla veya her bir onay işaretiyle, ancak işte kombinasyonlar:
İstenen sonucu elde ettiğinizden daha hızlı bir şekilde ayrık matematiğin vahşi dünyasına yönlendirileceksiniz - parantez içindeki ifade 0 veya 1'e eşit olacaktır, bu da yanlış ve doğrunun sayısal temsiline karşılık gelir.
bu değerler arasındaki farkı karşılaştırırsanız, doğru bir karşılaştırma için değerleri normalleştirme ihtiyacından hemen kurtulursunuz.
Özellikle, sorunuzla ilgili olarak - gösterge çizgisini geçen fiyat, son hesaplamadaki Ask- -iCustom() farkının sıfırdan küçük olduğu ve ardından daha büyük olduğu veya tam tersi olduğu andır.
bu anı nasıl hesaplayacağınız kendi işiniz - belki bir önceki çubukla veya her bir onay işaretiyle, ancak işte kombinasyonlar:
İstenen sonucu elde ettiğinizden daha hızlı bir şekilde ayrık matematiğin vahşi dünyasına yönlendirileceksiniz - parantez içindeki ifade 0 veya 1'e eşit olacaktır, bu da yanlış ve doğrunun sayısal temsiline karşılık gelir.
и я потом смогу intersectionY использовать только тогда когда оно TRUE, если FALSE, то такой код (intersectionY > Ask) не сработает, правильно я понимаю!?
MQL5.com web sitesine giriş yapmak için çerezlerin kullanımına izin vermelisiniz.
Lütfen tarayıcınızda gerekli ayarı etkinleştirin, aksi takdirde giriş yapamazsınız.
Hesabınıza giriş yaptınız. İki faktörlü kimlik doğrulama devre dışı bırakıldı. Yeniden kurup yeni bir QR kodu tarayın veya iki faktörlü kimlik doğrulama devre dışıyken devam edin.
Panyatna.
Bu arada, MQL4'ün bir zamanlayıcısı var mı yoksa sadece MQL5'te mi?
muhtemelen sadece bu işlevler:
https://www.mql5.com/en/search?utm_campaign=MQL4.community
https://www.mql5.com/en/search?utm_campaign=MQL4.communitybüyüklere soru
aniden test cihazı çalışmayı durdurdu, hiçbir tarihsel veriyi çizmedi.
Onunla ne yapmalı?
Bilgi için: Teklif arşivi yüklendi
Terminali yeniden başlatarak ve C:\Program Files\MetaTrader - Alpari\history\Alpari-Micro2 klasöründeki indirilen alıntıları önceden silerek yardımcı oldum.
sonra alıntı arşivini yeniden indirdi
Lütfen bana bir sipariş açmanın mümkün olan maksimum hacmini hesaplayan işlevi söyler misiniz?
Aşağıdaki fonksiyon, ihtiyacınız olan parametreleri hesaplamak için tüm verilere sahiptir. O kadar tembeldim ki tuşlara bile bastım...
İhtiyacınız olanı kendiniz bulacak ve kendiniz için yeniden oluşturacaksınız... Kodun kendisi o kadar basit ve erişilebilir ki, yeniden yapmak hiç kimse için zor olmayacak...
Bir soru...
Hitler'in savaşın sonunda yaptığı gibi neden ticarete ihtiyacınız var ... Çocukları Hitler Gençliğine dahil etti, tabiri caizse, bir Faust kartuşunun bir atış için et ...
Bana hiçbir şeyi hatırlatmıyor?????
IMHO tabii ki...
Sana bir yem vereyim... :)
Aşağıdaki fonksiyon, ihtiyacınız olan parametreleri hesaplamak için tüm verilere sahiptir. O kadar tembeldim ki tuşlara bile bastım...
İhtiyacınız olanı kendiniz bulacak ve kendiniz için yeniden oluşturacaksınız... Kodun kendisi o kadar basit ve erişilebilir ki, yeniden yapmak hiç kimse için zor olmayacak...
Bir soru...
Hitler'in savaşın sonunda yaptığı gibi neden ticarete ihtiyacınız var ... Çocukları Hitler Gençliğine dahil etti, tabiri caizse, bir Faust kartuşunun bir atış için et ...
Bana hiçbir şeyi hatırlatmıyor?????
IMHO tabii ki...
Teşekkür ederim!
Maksimum hacimle açmayacağım, sadece daha fazla matematiksel işlem için Deponun boyutuna göre hesaplamam gerekiyor =))
Teşekkür ederim!
Maksimum hacimle açmayacağım, daha fazla matematiksel işlem için Deponun boyutuna göre hesaplamam gerekiyor =))
satın almak için:
NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck(Symbol(),OP_BUY,lot),2));
satılık:
NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck(Symbol(),OP_SELL,lot),2));
lot - siparişin hacminin bulunduğu bir değişken
hesaplamanın sonucu >0 için kontrol edilmelidir
https://www.mql5.com/ru/search
satın almak için:
NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck(Symbol(),OP_BUY,lot),2));
satılık:
NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck(Symbol(),OP_SELL,lot),2));
lot - siparişin hacminin bulunduğu bir değişken
https://www.mql5.com/ru/search
... peki, sen, Igor, acelen var ... :)
Parmaklarımı klavyeye taşımak için zamanım olmadı ve sen zaten abonelikten çıktın ... :)
Hey!
bana kodu veya dalı söyleyin , gösterge çizgisinin fiyatla kesişimini nasıl hatırlayacağımı. Bir yerde görmüştüm ama bulamıyorum. Şimdiden teşekkürler.
ama ben daha çok şuna benzer bir şeyle ilgileniyorum:
Hey!
bana kodu veya dalı söyleyin, gösterge çizgisinin fiyatla kesişimini nasıl hatırlayacağımı. Bir yerde görmüştüm ama bulamıyorum. Şimdiden teşekkürler.
ama ben daha çok şuna benzer bir şeyle ilgileniyorum:
herhangi bir kesişim, optimal olarak fiyat (Ask/Bid) ile gösterge çizgisi arasındaki fark olarak kabul edilir, yani.
if (Ask-iCustom ("EURUSD", Period_H1, "Indicator",0,0) > 0) Comment("Fiyat göstergenin üzerinde"); else Comment("Fiyat göstergenin altındadır");
bu değerler arasındaki farkı karşılaştırırsanız, doğru bir karşılaştırma için değerleri normalleştirme ihtiyacından hemen kurtulursunuz.
Özellikle, sorunuzla ilgili olarak - gösterge çizgisini geçen fiyat, son hesaplamadaki Ask- -iCustom() farkının sıfırdan küçük olduğu ve ardından daha büyük olduğu veya tam tersi olduğu andır.
bu anı nasıl hesaplayacağınız kendi işiniz - belki bir önceki çubukla veya her bir onay işaretiyle, ancak işte kombinasyonlar:
İstenen sonucu elde ettiğinizden daha hızlı bir şekilde ayrık matematiğin vahşi dünyasına yönlendirileceksiniz - parantez içindeki ifade 0 veya 1'e eşit olacaktır, bu da yanlış ve doğrunun sayısal temsiline karşılık gelir.herhangi bir kesişim, optimal olarak fiyat (Ask/Bid) ile gösterge çizgisi arasındaki fark olarak kabul edilir, yani.
if (Ask-iCustom ("EURUSD", Period_H1, "Indicator",0,0) > 0) Comment("Fiyat göstergenin üzerinde"); else Comment("Fiyat göstergenin altındadır");
bu değerler arasındaki farkı karşılaştırırsanız, doğru bir karşılaştırma için değerleri normalleştirme ihtiyacından hemen kurtulursunuz.
Özellikle, sorunuzla ilgili olarak - gösterge çizgisini geçen fiyat, son hesaplamadaki Ask- -iCustom() farkının sıfırdan küçük olduğu ve ardından daha büyük olduğu veya tam tersi olduğu andır.
bu anı nasıl hesaplayacağınız kendi işiniz - belki bir önceki çubukla veya her bir onay işaretiyle, ancak işte kombinasyonlar:
İstenen sonucu elde ettiğinizden daha hızlı bir şekilde ayrık matematiğin vahşi dünyasına yönlendirileceksiniz - parantez içindeki ifade 0 veya 1'e eşit olacaktır, bu da yanlış ve doğrunun sayısal temsiline karşılık gelir.Yani, eğer doğru anladıysam, şunu yapabilirim: