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

 
Tretyakov Rostyslav # :

Ama fili fark etmedim))) Açık bir emrin kapanış fiyatı nedir sizce?

bunu yapmayı dene

Bir soru daha

puan cinsinden kar hesaplaması OrderProfit * Puan .?

 
Mihail Matkovskij # :

Sonra SymbolInfoDouble

Neden hemen değil?

 
Alexander Avksentyev # :

Bir soru daha

puan cinsinden kar hesaplaması OrderProfit * Puan .?

OrderProfit Net kar değerini döndürür, (yatırılan para biriminde olanlar)
Puan -
Mevcut enstrümanın teklif para birimi cinsinden puan boyutu

Hepsi yardımdan

 
Andrey Sokolov # :

OrderProfit Net kar değerini döndürür, (yatırılan para biriminde olanlar)
Puan -
Mevcut enstrümanın teklif para birimi cinsinden puan boyutu

Hepsi yardımdan

Katılıyorum, yardımı okudum.

Karı Point ile çarparak 0,00001 veya daha azını elde ettim.

 
Alexander Avksentyev # :

Katılıyorum, yardımı okudum.

Karı Point ile çarparak 0,00001 veya daha azını elde ettim.

Garip işgal

 
Alexander Avksentyev # :

Bir soru daha

puan cinsinden kar hesaplaması OrderProfit * Puan .?

Fiyat 20 pp'yi geçebilir ve 50 $ kar verebilir

Kişi başına 5'i geçebilir, ancak kâr 80 $ olacaktır.

Aynısı her sembol için geçerlidir, frangı ile kar, aynı puan geçişine sahip Kanadalıdan daha büyük olacaktır.

 
Artyom Trishkin # :

Neden hemen değil?

İnternette basit bir örnek yazdım. Editöre bile gitmedim. Alexander acemi bir programcıdır ve fazladan karmaşıklığa ihtiyacı yoktur. Yukarıdaki koduna bakın. Ancak çok sembollü bir robotun geliştirilmesinden bahsediyorsak, SymbolInfoDouble'ı kullanabilirsiniz. Kim müdahale ediyor?

 
Mihail Matkovskij # :

SymbolInfoTick işlevi, kene verilerini, alanlarından alınabilecekleri özel bir MqlTick yapısına yazar.

Teşekkür ederim

 

başka bir soru ortaya çıktı

köşede bir yazıt yaptı

 //+-----------------------------------------------------------------------------------------------+
int OnInit ()
  {
Start          = TimeCurrent ();
MaxMartinLot   = Lot* MathPow ( 1.4 ,OrdersClose);
MaxMartinLot2  = Lot* MathPow (K_Martin2,OrdersClose2);
AC             = StringConcatenate ( " " , AccountCurrency());
int Y          = 20 ;
DrawLABEL( "lab_Take" , 1 , 5 ,Y, clrLime , "LOT: " ); 
return ( INIT_SUCCEEDED );
  }
//+-----------------------------------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {

  }
//+-----------------------------------------------------------------------------------------------+
void OnTick ()
  {
// Получим значение индикатора
   dMA = iMA ( Symbol (), 0 ,PeriodMA, MovingShift, MODE_SMA , PRICE_CLOSE , 0 ); // MODE_SMA - простое усреднение , значение 0. PRICE_CLOSE- цена закрытия, значение 0.

// Если нет открытых ордеров, то входим в условие
       if (CountOrders()== 0 )
     {
// Если появился сигнал на покупку, то откроем ордер на покупку
       if (bSignalBuy() == true )
         vOrderOpenBuy();

// Если появился сигнал на продажу, то откроем ордер на продажу
       if (bSignalSell() == true )
         vOrderOpenSell();
     }
       DrawLABEL( "lab_Take" , 1 , 5 , 0 ,Color(), StringConcatenate ( "LOT: " ,DoubleToStr(LOT(), 2 )));   
  }

sarı çizgide aşağıdaki uyarıyı verir:

tür dönüştürme nedeniyle olası veri kaybı

sanki bir şeyi karıştırmış gibi.

ve bu böyle çalışır

anlaşma yoksa, tek renkte yanar

bir anlaşma açılırsa, farklı bir renkte yanar

Color() şu şekilde ayarlanır:

 double Color()
  {
   double CL = clrRed ;
   if (CountOrders()== 0 ) CL = clrYellow ;
   return (CL);
  }
Bak lütfen.
 
законопослушный гражданин olası veri kaybı

sanki bir şeyi karıştırmış gibi.

ve bu böyle çalışır

anlaşma yoksa, tek renkte yanar

bir anlaşma açılırsa, farklı bir renkte yanar

Color() şu şekilde ayarlanır:

Bak lütfen.

Renk işlevi renk döndürmeli ve iki katına çıkmamalıdır.

color Color()
  {
   color CL = clrRed ;
   if (CountOrders() == 0 ) 
     CL = clrYellow ;
   return (CL);
  }

Site motoru tarafından eklenen bağlantı da çalışmak için gereksiz olmayacaktır.