MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 934

 
Aleksei Beliakov :

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?
 
jaffer wilson :
Lütfen birisi bana yardım edebilir mi?
şarkı sözleri yerine - sor. Kim yayında olacak - forum konusunun esasını değerlendirecek ve yardımcı olacaktır.
 
eğer (MA5>MA20)
{
Sinyal=1;
}

if(Sinyal>Ticaret Düzeyi) // Ticaret Düzeyi 0 olarak ayarlanır.
{
bilet=OrderSend( Symbol() ,OP_BUY,Lot,Ask,3,Ask-SL*Point,Bid+TP*Point,"Optim",16384,0,Mavi);
}



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)
 
Ivan Butko :

   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.

Önceden, bir ticaret talebi gönderirken kesin olarak iki hata ve bir belirsizlik görüyorum.

 
Artyom Trishkin :

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

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?

 

İŞ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ığı):

 //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.

TEŞEKKÜR ETMEK!

 
Сергей Михеев :

İŞLEM BAŞINA RİSK HESAPLAMASINDA BUCK.

MOD _TICKSIZE

 
Yurij Kozhevnikov 2019.08.10 17:57 TR
Сергей Михеев :

İŞLEM BAŞINA RİSK HESAPLAMASINDA BUCK.

MOD _TICKSIZE

xxxxxxx'i oku

Sorunu çözmüyor maalesef. Sahibim

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)); //Вычисляем уровень убытка при заданном размере лота

SONUÇ YUKARIDAKİ ÖRNEĞİMDEKİ GİBİ TAM AYNI.

Başka fikirlerin var mı?