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

 
Vitaly Muzichenko :

Cevap için teşekkürler ama nasıl yapacağımı bile bilmiyorum

Son bir kez ulaşmaya çalışacağım... Problemde belirtilen bu tür araçlarla bir hesabım yok ama işte forex üzerinde çalışan bir script. Sonuç, bu ekran görüntüsünde olduğu gibi bir ipucu olarak görünen değerlerle eşleşiyor

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5

Vitaly Muzichenko , 2017.07.26 23:56

Bakın, satın alma tek lotla açık, üzerine bir kar al koyduğumuzda terminal kendini dolar olarak yeniden hesaplıyor, çünkü hesap dolar cinsinden,

ancak (close_price-open_price)*Lots*TickPrice/TickSize formülünü kullanarak hesapladığımda, al kar miktarını ruble olarak alıyorum, ancak aynı şekilde göstermem gerekiyor, ancak dolar (hesap para birimi)

Grafikte SBRF-9.17

Rubleyi dolar döviz kuru 174.99/USDRUR = 2.93$'a bölersek, o zaman dolar cinsinden kârı alırız.

Programatik olarak nasıl yazılır ve kendini düşünmesi için?

 /********************Script program start function*******************/
void OnStart ()
{
 for ( int i = 0 ; i < PositionsTotal (); i++)
  {
   ulong positionTicket = PositionGetTicket (i);
   string positionSymbol = PositionGetString ( POSITION_SYMBOL );
   ENUM_POSITION_TYPE positionType = ( ENUM_POSITION_TYPE ) PositionGetInteger ( POSITION_TYPE );
   double positionTP = PositionGetDouble ( POSITION_TP );
   double positionOpen = PositionGetDouble ( POSITION_PRICE_OPEN );
   double point = SymbolInfoDouble (positionSymbol, SYMBOL_POINT );
   int profitPoint = int ( fabs (positionOpen-positionTP)/point);
   double positionProfit = PositionGetDouble ( POSITION_PROFIT );
   string symbolCurrencyProfit = SymbolInfoString (positionSymbol, SYMBOL_CURRENCY_PROFIT );
   int currentProfit = positionType == POSITION_TYPE_SELL
    ? int ((positionOpen- PositionGetDouble ( POSITION_PRICE_CURRENT ))/point)
    : int (( PositionGetDouble ( POSITION_PRICE_CURRENT )-positionOpen)/point);
   Print ( "PositionSymbol " , positionSymbol);
   Print ( "SymbolCurrencyProfit " , symbolCurrencyProfit);
   Print ( "PositionTP " , DoubleToString (positionTP, ( int ) SymbolInfoInteger (positionSymbol, SYMBOL_DIGITS )));
   Print ( "PositionOpen " , DoubleToString (positionOpen, ( int ) SymbolInfoInteger (positionSymbol, SYMBOL_DIGITS )));
   Print ( "PositionProfit " , DoubleToString (positionProfit, 2 ));
   Print ( "ProfitPoint " , profitPoint);
   Print ( "CurrentProfit " , currentProfit);
   Print ( "ИТОГО " , positionProfit/currentProfit*profitPoint);
  }
   
} /*******************************************************************/

Açık 2 pozisyonum var. İşte betiğin çıktısı

 2017.07 . 27 13 : 30 : 48.517 posi (EURUSD,M15)       PositionSymbol EURGBP
2017.07 . 27 13 : 30 : 48.517 posi (EURUSD,M15)       SymbolCurrencyProfit GBP
2017.07 . 27 13 : 30 : 48.517 posi (EURUSD,M15)       PositionTP 0.88697
2017.07 . 27 13 : 30 : 48.517 posi (EURUSD,M15)       PositionOpen 0.89197
2017.07 . 27 13 : 30 : 48.517 posi (EURUSD,M15)       PositionProfit 14.47
2017.07 . 27 13 : 30 : 48.517 posi (EURUSD,M15)       ProfitPoint 500
2017.07 . 27 13 : 30 : 48.517 posi (EURUSD,M15)       CurrentProfit 109
2017.07 . 27 13 : 30 : 48.517 posi (EURUSD,M15)       ИТОГО 66.37614678899082
2017.07 . 27 13 : 30 : 48.517 posi (EURUSD,M15)       PositionSymbol EURJPY
2017.07 . 27 13 : 30 : 48.517 posi (EURUSD,M15)       SymbolCurrencyProfit JPY
2017.07 . 27 13 : 30 : 48.517 posi (EURUSD,M15)       PositionTP 130.940
2017.07 . 27 13 : 30 : 48.517 posi (EURUSD,M15)       PositionOpen 130.440
2017.07 . 27 13 : 30 : 48.517 posi (EURUSD,M15)       PositionProfit - 0.90
2017.07 . 27 13 : 30 : 48.517 posi (EURUSD,M15)       ProfitPoint 500
2017.07 . 27 13 : 30 : 48.517 posi (EURUSD,M15)       CurrentProfit - 9
2017.07 . 27 13 : 30 : 48.517 posi (EURUSD,M15)       ИТОГО 50.0


ANCAK!!! Ne yazık ki, pozisyon kapatıldığında, hiç kimse kâr para biriminin teklifinin mevduat para birimine ne olacağını tahmin edemez. Bu bağlamda, kesinlikle kesin bir değer belirlemek imkansızdır. Pekala, geleceği göremiyorsun.

 
Vitaly Muzichenko :

Hayır, bir pozisyon açmadan önce kar/zararı hesaplamak için, ancak enstrüman değil mevduat para biriminde

Neden riskleri kontrol etmek için değil, durumunuzdaki kar / zararı bilmeniz gerekiyor? - Sadece merak ettim - hangi gerçek koşullarda kullanılacağı net olmasa da, mevduat para birimi hakkında net.
 
Alexey Viktorov :

Son bir kez ulaşmaya çalışacağım... Problemde belirtilen bu tür araçlarla bir hesabım yok ama işte forex üzerinde çalışan bir script. Sonuç, bu ekran görüntüsünde olduğu gibi bir ipucu olarak görünen değerlerle eşleşiyor


Açık 2 pozisyonum var. İşte betiğin çıktısı


ANCAK!!! Ne yazık ki, pozisyon kapatıldığında, hiç kimse kâr para biriminin teklifinin mevduat para birimine ne olacağını tahmin edemez. Bu bağlamda, kesinlikle kesin bir değer belirlemek imkansızdır. Pekala, geleceği göremiyorsun.

İşte betiğin gösterdiği:

 2017.07 . 27 18 : 22 : 33.684 Seascape (SBRF- 9.17 ,M15)        PositionSymbol SBRF- 9.17
2017.07 . 27 18 : 22 : 33.684 Seascape (SBRF- 9.17 ,M15)        SymbolCurrencyProfit RUR
2017.07 . 27 18 : 22 : 33.684 Seascape (SBRF- 9.17 ,M15)        PositionTP 16777
2017.07 . 27 18 : 22 : 33.684 Seascape (SBRF- 9.17 ,M15)        PositionOpen 16677
2017.07 . 27 18 : 22 : 33.684 Seascape (SBRF- 9.17 ,M15)        PositionProfit 1.07
2017.07 . 27 18 : 22 : 33.684 Seascape (SBRF- 9.17 ,M15)        ProfitPoint 100
2017.07 . 27 18 : 22 : 33.684 Seascape (SBRF- 9.17 ,M15)        CurrentProfit 64
2017.07 . 27 18 : 22 : 33.684 Seascape (SBRF- 9.17 ,M15)        ИТОГО 1.671875
 
Vitaly Muzichenko :

Senaryonun gösterdiği şey buydu:

Vitaly, peki, kendin çözebilirsin ... Prensip 3 rubleden daha basit ...

 PositionGetDouble ( POSITION_PROFIT );

pozisyon karını mevduat para biriminde döndürür. Bu değer açılış ve cari fiyat arasındaki puan sayısına bölünürse, o zaman mevduat para biriminde bir puanın maliyetini alırız... Sadece maliyeti açılıştan tp'ye kadar olan puan sayısıyla çarpmak kalır. ve bu kadar... Ama fırsatım olmadığı ve bunun için yeni bir hesap açmak tembellik olduğu için, kendin bul. Ve sadece ne olması gerektiğini bilmeden, doğru sonucu nasıl anlayacaksınız ya da anlayamazsınız? Anlamak için bazı ek değerler yazdırmanız gerekebilir. Bir nokta olarak kabul edilen nedir? Bilmiyorum, belki bir şekilde dikkate alınması gerekir. Veya standart bir sözleşmenin boyutu bir şekilde hesaba katılıyor mu ... xs (bilmek istiyorum).

 

Gri grafik nasıl anlaşılır


normal resim modunda


 

MT4'te farenizi grafiğin üzerine getirin ve ne tür bir nokta olduğunu görebilirsiniz - ve burada resim statiktir - byaka.

 
Belirli bir gösterge (kar / düşüş / fv) için bir optimizasyon grafiği nasıl oluşturulur?
 
Herkese iyi günler. Bir sorunum var, MQL5 hesabıma para yatırdım ve kendim için MetaTrader 5 uygulamasını indirdim ancak bu parayı oraya transfer edip işlem yapmaya başlayamıyorum. ne yapmalı yardım
 
Minora125 :
Herkese iyi günler. Bir sorunum var, MQL5 hesabıma para yatırdım ve kendim için MetaTrader 5 uygulamasını indirdim ancak bu parayı oraya transfer edip işlem yapmaya başlayamıyorum. ne yapmalı yardım

MQL5 bir DC (Broker) değildir, gerçek bir hesapta ticarete izin vermez. Aktarılan para için hizmetin hizmetlerini kullanabilirsiniz: serbest, market, bulut.

Servis masasına yazın (profilinizde bir bağlantı var) ve hatalı transfer edilen fonları iade etmesini isteyin.

 

Test cihazını geçtikten sonra, fırsatlar içeren bir grafik açılır, bunu nasıl kapatabilirim?