Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 462

 

Yoksa bu enstrümanda kene yoksa böyle bir yapı yardımcı olmaz mı?

#property strict

extern bool USE_Info=true;

static datetime TimeN=0;

//+------------------------------------------------------------------+

//| Expert tick function                                             |

//+------------------------------------------------------------------+

int start()

  {

   datetime TimeC=iTime("GBPUSD",5,0);

   if(TimeN==0)TimeN=TimeC;

   if(TimeN==TimeC) return(0);

   TimeN=TimeC;

   return(INIT_SUCCEEDED);

  } 

 

Anlamama yardım et.

Durum şudur - örneğin EURUSD çiftinde 30 puan stop ve 30 puan kar al ile bir pozisyon açmanız gerekir, açmadan önce kayıp olması için lotun hacmini belirlemeniz gerekir. Kaybeden bir ticarette 100 USD. Bu, MQL5 kullanılarak nasıl hesaplanabilir?

SL=30;

Lot=Hesaplama formülü

Şimdiden teşekkürler.

 
PabloEs :

Anlamama yardım et.

Durum şudur - örneğin EURUSD çiftinde 30 puan stop ve 30 puan kar al ile bir pozisyon açmanız gerekir, açmadan önce kayıp olması için lotun hacmini belirlemeniz gerekir. Kaybeden bir ticarette 100 USD. Bu, MQL5 kullanılarak nasıl hesaplanabilir?

SL=30;

Lot=Hesaplama formülü

Şimdiden teşekkürler.

Dört için şu şekilde hesaplayabilirsiniz:

Parti=Para / (Stoploss_in_pips*MarketInfo(Symbol(),MODE_TICKVALUE))

 
Artyom Trishkin :

Dört için şu şekilde hesaplayabilirsiniz:

Parti=Para / (Stoploss_in_pips*MarketInfo(Symbol(),MODE_TICKVALUE))

Teşekkürler, ama benim için işe yaramadı.
 
PabloEs :
Teşekkürler, ama benim için işe yaramadı.

MarketInfo()'ya değil , SymbolInfoDouble()'a bakın

Ve "işe yaramadı" ne anlama geliyor? Balık vermedim, olta verdim.

 
Artyom Trishkin :

MarketInfo()'ya değil, SymbolInfoDouble()'a bakın

Ve "işe yaramadı" ne anlama geliyor? Balık vermedim, olta verdim.

Hala olta kullanmak için çok gencim)

İşte yukarıdaki formülü kullanarak yazdığım komut dosyası.

OnStart() geçersiz

{

//---

double Test=100/(300*_Point*SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE ));

Uyarı(Test);

33333.33 verir, belki süsler aynı değildir?

 
PabloEs :

Hala olta kullanmak için çok gencim)

İşte yukarıdaki formülü kullanarak yazdığım komut dosyası.

OnStart() geçersiz

{

//---

double Test=100/(300*_Point*SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE ));

Uyarı(Test);

33333.33 verir, belki süsler aynı değildir?

Para / ( Stoploss_ in_pips *MarketInfo(Symbol(),MODE_TICKVALUE))

değer mi dersin

 
PabloEs :

Hala olta kullanmak için çok gencim)

İşte yukarıdaki formülü kullanarak yazdığım komut dosyası.

OnStart() geçersiz

{

//---

double Test=100/(300*_Point*SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE ));

Uyarı(Test);

33333.33 verir, belki süsler aynı değildir?

Bir zamanlar bu formülü yazdım

Lot = AccountFreeMargin()*Risk/100*_Point/(StopLoss*MarketInfo(Symbol(), MODE_TICKVALUE))

AccountFreeMargin()*Risk/100 --- bu sizin 100$'ınız

StopLoss --- emir açılış fiyatları ile SL arasındaki fark (puan olarak değil)

Buna göre MarketInfo(), SymbolInfoDouble() ile değiştirilmelidir.

 
PabloEs :

Hala olta kullanmak için çok gencim)

İşte yukarıdaki formülü kullanarak yazdığım script.

OnStart() geçersiz

{

//---

double Test=100/(300*_Point*SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE ));

Uyarı(Test);

33333.33 verir, belki süsler aynı değildir?

Rusça ise ve _Point 0,00001'e eşitse, neye sahip olduğunuzu görün:

0.003 puan (300*0.00001) alarak 100$ kazanmak için lotun 333333.33 olması gerekir. Yani döndürücü kesinlikle aynı değil;)

 
Artyom Trishkin :

Para / ( Stoploss_ in_pips *MarketInfo(Symbol(),MODE_TICKVALUE))

değer veriyor musun

Oldukça doğru. Bu formülü yazdığımda SL'm belirli bir değerle belirlenmedi, emir açılış fiyatı ile belirli bir seviye arasındaki fark olarak kabul edildi, bu yüzden risk tutarını _Puan ile çarpmak zorunda kaldım.