Uzman Danışmanlar: Multik

 

Multik:

Çoklu Para Birimi Danışmanı.

Multik

Author: Andrey Kornishkin

 

Tüm çiftleri mevcut enstrümana göre normalleştirecek miyiz?

dsma2 = NormalizeDouble(SMA[2] - SMA[3], _Digits);      // 2-3 sahasında MA
dsma1 = NormalizeDouble(SMA[1] - SMA[2], _Digits);      // MA saha 1-2'de
 
Valmars:

Ne yani, tüm çiftleri mevcut enstrümana göre normalleştirecek miyiz?


Evet, burada bir hata var. Ayrıca, yeni bir çubuk tanımlama işlevi, zaman kopyalama işlevi kullanılmadan uygulanabilir.
 
Valmars:

Tüm çiftleri mevcut enstrümana göre normalleştirecek miyiz?


Ve uyarı olmaması için bunu nasıl doğru bir şekilde uygulayacağız?

Orijinal versiyonda bu şekilde:

     int Digits_ = SymbolInfoInteger(Symbol_, SYMBOL_DIGITS) + 4;
     dsma2 = NormalizeDouble(SMA[2] - SMA[3], Digits_);      // 2-3 sahasında MA
     dsma1 = NormalizeDouble(SMA[1] - SMA[2], Digits_);      // MA saha 1-2'de
[Silindi]  
AM2:

Uyarılar olmadan bunu uygulamanın doğru yolu nedir?

Orijinal versiyonda bu şekilde:

+4'ün bununla ne alakası var? Mantıksal olarak böyle olmalı

int Digits_ = SymbolInfoInteger(Symbol_, SYMBOL_DIGITS);
dsma2 = NormalizeDouble(SMA[2] - SMA[3], Digits_); // 2-3 sahasında MA
dsma1 = NormalizeDouble(SMA[1] - SMA[2], Digits_); // MA saha 1-2'de
 
Interesting:

Bunun +4 ile ne alakası var? Mantıklı olması gerekiyordu.

Uyarı da bu şekilde devam eder:

tür dönüşümü nedeniyle olası veri kaybı Multik.mq5 218 18

 
AM2:

Uyarı da bu şekilde yapılıyor:

tür dönüşümü nedeniyle olası veri kaybı Multik.mq5 218 18

Uyarılardan kaçınmak için dönüşümü şu şekilde yapmanız gerekir

int Digits_ = (int)SymbolInfoInteger(Symbol_, SYMBOL_DIGITS);
 

İyi iş, ancak aynı kurulumlarla ilişkili çiftlerle ticaret yaptığınızda çoklu enstrüman anlamını yitirmez mi? Düşüşlerinin aynı zamanda gerçekleşmesini beklerdim ve bu bir sorun olabilir. Ne yazık ki, tüm döviz çiftleri o kadar bağlantılı ki bu kaçınılmaz olabilir. Aslında EUR / USD GBP / USD çiftlerini de birlikte takas ediyorum, ancak biriyle bir trend takipçisi kullanıyorum, diğeriyle tersine çevirme, üstler ve altlar tipi bir EA kullanıyorum.

 
sergey1294:

Uyarı almak istemiyorsanız, dönüşümü bu şekilde yapmanız gerekir.

Teşekkürler, çalışıyor!
 

request.volume = Money_M();

Bu EA, organize kodun harika bir örneği ve harika yorumları var. Ancak Money_M () adlı lot büyüklüğü işlevinizle ilgili bir sorum vardı. Bunun arkasındaki karar ağacı nedir ve nerededir?

Destek sitesinde arama yapmaya çalıştım ancak hiçbir referans bulamadım ve ilişkili bir sınıfa bağlı görünmüyordu.

[Silindi]  
bdwezensky:

request.volume = Money_M();

Bu EA, organize kodun harika bir örneğidir ve harika yorumlara sahiptir. Ancak Money_M () adlı lot büyüklüğü işlevinizle ilgili bir sorum vardı. Bunun arkasındaki karar ağacı nedir ve nerededir?

Destek sitesinde arama yapmaya çalıştım ancak hiçbir referans bulamadım ve ilişkili bir sınıfa bağlı görünmüyordu.

double Money_M()
  {
   double Lots=AccountInfoDouble(ACCOUNT_FREEMARGIN)/100000*10;
   Lots=MathMin(5,MathMax(0.1,Lots));
   if(Lots<0.1)
      Lots=NormalizeDouble(Lots,2);
   else
     {
      if(Lots<1) Lots=NormalizeDouble(Lots,1);
      else       Lots=NormalizeDouble(Lots,0);
     }
   return(Lots);
  }

Bu fonksiyon ticaret lotlarının boyutunu hesaplamak için kullanılır.

double Lots=AccountInfoDouble(ACCOUNT_FREEMARGIN)/100000*10;

Bu dizede ticaret lotlarının hesaplanan boyutu. Hesaplama serbest para(ACCOUNT_FREEMARGIN) üzerinden gerçekleştirilir. Risk = mevcut serbest fonların %10'u.

Lots=MathMin(5,MathMax(0.1,Lots));
Bu satırda işlem lotlarının normalleştirilmesi gerçekleştirilir. 0.1 <= Lot <= 5.0