if (MA5>MA20)
{
Signal= 1 ;
}
if (Signal>TradeLevel) // TradeLevel установлен в 0.
{
ticket= OrderSend ( Symbol (),OP_BUY,Lot,Ask, 3 ,Ask-SL* Point ,Bid+TP* Point , "Optim" , 16384 , 0 ,Blue);
}
Lütfen bana bu mantığın neden çalışmadığını söyleyebilir misiniz? (mql4) takaslar açılmıyor
(diğer her şey, değişkenler, her şey açıklanmıştır - MT'de standart bir baykuş şablonu, derleme hatası yoktur)
Yani mantık çalışmıyor mu yoksa danışman pozisyonları açılmıyor mu?
Böyle iyi bir alışkanlık var - ilk önce "Uzmanlar" dergisine bakın - orada birçok şey yazılıyor. Eh, sadece bir "Dergi" de bakmaktan zarar gelmez.
templ(T) class CData{
public :CData(){};~CData(){};
T Total(T &mas[] , int y){ return ( ArraySize (mas));}
T Total(T &mas[][], int y){ return ( ArraySize (mas));}}
Soru, Total() işlevinin nasıl çağrılacağıdır, onu çağırmak istiyorum, örneğin OnInit()'te, arkadaşlar lütfen kaba olmayın, yardım botlarını anlamadım? Bu sınıfın hafızasını silmem gerekiyor mu, evet ise nerede ve nasıl olduğunu göstermem gerekiyor mu?
GÖREV: Herhangi bir enstrüman (forex, meal, CFD dahil) için işlem başına 250$'lık kabul edilebilir bir risk seviyesi ile lot büyüklüğünü hesaplayın.
UYGULAMAM (SATIN AL için, işlev kodu parçacığı):
//valSL - размер стопа//price - цена открытия ордера//iLots - размер лота
SL_punkt=(price-valSL)/MarketInfo(currencySelect,MODE_POINT); //Переводим денежное выражение в пунктыdouble pricePunkt= NormalizeDouble (iLots*MarketInfo(symb,MODE_TICKVALUE)*SL_punkt,MarketInfo(symb,MODE_DIGITS)); //Вычисляем уровень убытка при заданном размере лота
SORUN: Bu kod, döviz çiftleri (çaprazlar dahil), altın, petrol, AMA ENDICES, nq100, ÖRNEĞİN DOĞRU SAYILMAYIN dahil olmak üzere tüm varlıklar için kayıpları doğru bir şekilde hesaplar. Yani, betiğimin verileri (işlemin olası kayıplarından bahsediyoruz) MT4 STRATEJİ TEST CİHAZININ DİKKATE ALINDIĞINDAN 10 KAT DAHA AZ istikrarlı bir şekilde elde ediliyor!
BAZI NOTLAR:
1. Alpari terminalinde testler yapıldı.
2. Terminale göre, döviz çiftleri için XAUUSD, BRN (petrol) ve NQ100 - "CFD" için kar hesaplama yöntemi, sırasıyla "forex"
3. Buradaki sorunun, hesaba katmadığım sözleşmenin boyutu olduğunu düşünüyorum (petrol için - 1000, XAUUSD için - 100, NQ100 - 10 için). Ama o zaman neden XAUUSD, BRN doğru olarak kabul edilir (VE DÖVİZ ÇİFTLERİ AYRICA), NQ100 değil mi? Belki, Alpari terminalinin sembolünün özelliklerinde "CFD" kârını hesaplamanın bir yolu olmasına rağmen, ama gerçekten orada "Forex" tarafından mı hesaplanıyor? Bu mümkün mü?
Genel olarak, birisi bana senaryomun hatasının ne olduğunu ve nasıl düzeltileceğini açıklarsa minnettar olurum.
MODE_TICKVALUE равно MODE_POINT и равно MODE_TICKSIZE (для NQ100 это 0.1)
Bu kodu da denedim:
double StoimPunkt( string B){
double S = MarketInfo(B,MODE_TICKVALUE)/(MarketInfo(B,MODE_TICKSIZE)/MarketInfo(B,MODE_POINT)); return (S);
}
//valSL - размер стопа//price - цена открытия ордера//iLots - размер лота
SL_punkt=(price-valSL)/MarketInfo(symb,MODE_POINT); //Переводим денежное выражение в пунктыdouble pricePunkt= NormalizeDouble (iLots*StoimPunkt(symb)*SL_punkt,MarketInfo(symb,MODE_DIGITS)); //Вычисляем уровень убытка при заданном размере лота
Neden son satırda eğik çizgi yok ve makrodan değer döndürmek mümkün mü?
bu makro değiştirme sözdizimi, dize ekleme
işte bir değer döndürme örneği https://www.mql5.com/ru/forum/318246/page10#comment_12652228
Lütfen birisi bana yardım edebilir mi?
Lütfen bana bu mantığın neden çalışmadığını söyleyebilir misiniz? (mql4)
takaslar açılmıyor
Lütfen bana bu mantığın neden çalışmadığını söyleyebilir misiniz? (mql4)
takaslar açılmıyor
Yani mantık çalışmıyor mu yoksa danışman pozisyonları açılmıyor mu?
Böyle iyi bir alışkanlık var - ilk önce "Uzmanlar" dergisine bakın - orada birçok şey yazılıyor. Eh, sadece bir "Dergi" de bakmaktan zarar gelmez.
Önceden, bir ticaret talebi gönderirken kesin olarak iki hata ve bir belirsizlik görüyorum.
Yani mantık çalışmıyor mu yoksa danışman pozisyonları açılmıyor mu?
Böyle iyi bir alışkanlık var - ilk önce "Uzmanlar" dergisine bakın - orada birçok şey yazılıyor. Eh, sadece “Günlük”e bakmak da zarar vermez.
Önceden, bir ticaret talebi gönderirken kesin olarak iki hata ve bir belirsizlik görüyorum.
Teşekkürler, her şey çalıştı!
Bu mantığı az önce standart MACD Expert Advisor'a aktardım.
Sadece farklı sinyalleri dağıtmak ve özetlemek için bir üsse ihtiyacım vardı.
Rahatsız ettiğim için özür dilerim. (bu arada, dergi boştu, hata da yok, sadece anlaşmaları açmadı ve bu kadar).
Sakıncası yoksa, lütfen hatayı belirtin.
Böyle ilkel bir kod var
Soru, Total() işlevinin nasıl çağrılacağıdır, onu çağırmak istiyorum, örneğin OnInit()'te, arkadaşlar lütfen kaba olmayın, yardım botlarını anlamadım? Bu sınıfın hafızasını silmem gerekiyor mu, evet ise nerede ve nasıl olduğunu göstermem gerekiyor mu?
İŞLEM BAŞINA RİSK HESAPLAMASINDA BUCK.
GÖREV: Herhangi bir enstrüman (forex, meal, CFD dahil) için işlem başına 250$'lık kabul edilebilir bir risk seviyesi ile lot büyüklüğünü hesaplayın.
UYGULAMAM (SATIN AL için, işlev kodu parçacığı):
SORUN: Bu kod, döviz çiftleri (çaprazlar dahil), altın, petrol, AMA ENDICES, nq100, ÖRNEĞİN DOĞRU SAYILMAYIN dahil olmak üzere tüm varlıklar için kayıpları doğru bir şekilde hesaplar. Yani, betiğimin verileri (işlemin olası kayıplarından bahsediyoruz) MT4 STRATEJİ TEST CİHAZININ DİKKATE ALINDIĞINDAN 10 KAT DAHA AZ istikrarlı bir şekilde elde ediliyor!
BAZI NOTLAR:
1. Alpari terminalinde testler yapıldı.
2. Terminale göre, döviz çiftleri için XAUUSD, BRN (petrol) ve NQ100 - "CFD" için kar hesaplama yöntemi, sırasıyla "forex"
3. Buradaki sorunun, hesaba katmadığım sözleşmenin boyutu olduğunu düşünüyorum (petrol için - 1000, XAUUSD için - 100, NQ100 - 10 için). Ama o zaman neden XAUUSD, BRN doğru olarak kabul edilir (VE DÖVİZ ÇİFTLERİ AYRICA), NQ100 değil mi? Belki, Alpari terminalinin sembolünün özelliklerinde "CFD" kârını hesaplamanın bir yolu olmasına rağmen, ama gerçekten orada "Forex" tarafından mı hesaplanıyor? Bu mümkün mü?
Genel olarak, birisi bana senaryomun hatasının ne olduğunu ve nasıl düzeltileceğini açıklarsa minnettar olurum.
TEŞEKKÜR ETMEK!
İŞLEM BAŞINA RİSK HESAPLAMASINDA BUCK.
MOD _TICKSIZE
İŞLEM BAŞINA RİSK HESAPLAMASINDA BUCK.
MOD _TICKSIZE
xxxxxxx'i oku
Sorunu çözmüyor maalesef. Sahibim
Bu kodu da denedim:
SONUÇ YUKARIDAKİ ÖRNEĞİMDEKİ GİBİ TAM AYNI.
Başka fikirlerin var mı?