[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 693

 
Hedin :


Forex'te neredeyse tüm sunucular ücretsizdir.

Ve bundan daha da fazlası, neredeyse her DC'nin gerçek para yerine sanal para ile ticaret yapabileceğiniz demo hesapları vardır.

Teşekkürler, bana bir bağlantı verebilir misin lütfen? Google bulamıyor. Yine SPS.
 
artmedia70 :
Margin CALL (marj çağrısı) nedir?
Marj Çağrısı, bir pozisyonun zorla kapatılmasının gerçekleştiği bir durumdur.

Bu, hesap bakiyeniz (Özkaynak), tüm açık pozisyonların toplamı için gerekli marjın (Marj) miktarından sıfıra yaklaştığında gerçekleşir.

İşlem otomatik olarak gerçekleşir. Bazı şirketlerde, teminat tamamlama teminatı, teminatın %30'u olarak belirlenmiştir.

Onlar. [AccountFreeMargin() = AccountEquity() - Marj] ?

burada Marj -> tüm açık pozisyonlar için toplam .




 
Guest77 :
Teşekkürler, bana bir bağlantı verebilir misin lütfen? Google bulamıyor. Yine SPS.

Tek ihtiyacınız olan herhangi bir komisyoncudan MetaTrader 4'ü indirip kurmak.

Programda bir Demo hesabı açmanız gerekiyor ve kullanmaya başlayabilirsiniz. Her şey ücretsiz. Google üzerinden bir komisyoncu bulun, bunlardan yeterince var.

 

Herkese merhaba. Bir danışman yazarken bir sorunla karşılaştım, hatanın yüzeyde bir yerde olduğunu hissediyorum ama bulamıyorum. Birisi tavsiye verebilirse minnettar olurum.

Sorunun özü: Aynı anda birkaç pozisyon için danışmanlardan birine Igor Kim'in takip eden durağını eklemek için bir talep alındı. Her şeyi ekledim, ancak sonuç olarak bir hata aldım :( İz sürekli olarak TStop.Sell ve TStop.Buy noktaları tekliften ve sorma mesafesinde hareket ediyor, yani fiyat yükseliyor, takip de artıyor, fiyat düşüyor - takip ediyor aşağı... Bir telepat ekibi Aramanıza gerek yok, eklenen kodu kendim sağlayacağım :)

 int start()
{
 if (GetProfitOpenPosInCurrency( Symbol (),- 1 ,MagicNumber)>=ProfitToStartTral) //если прибыль в валюте депозита больше заданной в настройках
    {
     CloseLoss( Symbol (),- 1 ,MagicNumber); //закрываем все убыточные позы советника по текущему символу
     start3(); //запускаем трал
    }
  //бла-бла-бла, тут еще куча рабочего кода :)
}

Özel İşlevler:

 void start3() 
 {
   if (ShowComment) {
     Comment (IIFs(AllSymbols, "AllSymbols  " , "" )
           , "Magic=" +IIFs(Magic< 0 , "Любой" , DoubleToStr(Magic, 0 ))+ "  "
           ,IIFs(TSProfitOnly, "TSProfitOnly  " , "" )
           , "TStop.Buy=" +DoubleToStr(TStop.Buy, 0 )+ "п  "
           , "TStop.Sell=" +DoubleToStr(TStop.Sell, 0 )+ "п  "
           , "TrailingStep=" +DoubleToStr(TrailingStep, 0 )+ "п  "
           );
  } else Comment ( "" );

   string sy=IIFs(AllSymbols, "" , NULL );
  SimpleTrailing(sy, - 1 , Magic);
 } 
//*********************************************************************//
void SimpleTrailing( string sy= "" , int op=- 1 , int mn=- 1 ) {
   double po, pp;
   int     i, k= OrdersTotal ();

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
       if ((OrderSymbol()==sy || sy== "" ) && (op< 0 || OrderType()==op)) {
        po=MarketInfo(OrderSymbol(), MODE_POINT);
         if (mn< 0 || OrderMagicNumber()==mn) {
           if (OrderType()==OP_BUY) {
            pp=MarketInfo(OrderSymbol(), MODE_BID);
             if (!TSProfitOnly || pp-OrderOpenPrice()>TStop.Buy*po) {
               if (OrderStopLoss()<pp-(TStop.Buy+TrailingStep- 1 )*po||OrderStopLoss()== 0 ) {
                ModifyOrder(- 1 , pp-TStop.Buy*po, - 1 );
              }
            }
          }
           if (OrderType()==OP_SELL) {
            pp=MarketInfo(OrderSymbol(), MODE_ASK);
             if (!TSProfitOnly || OrderOpenPrice()-pp>TStop.Sell*po) {
               if (OrderStopLoss()>pp+(TStop.Sell+TrailingStep- 1 )*po || OrderStopLoss()== 0 ) {
                ModifyOrder(- 1 , pp+TStop.Sell*po, - 1 );
              }
            }
          }
        }
      }
    }
  }
} 
//****************************************************
string IIFs(bool condition, string ifTrue, string ifFalse) {
  if (condition) return(ifTrue); else return(ifFalse);
}
 

Soru şu ki, gösterge kodunda belirtilen parametreleri (tam olarak göstergenin parametreleri değil) işleme için başka bir göstergeye geçirmek mümkün müdür?

İşte ikinci soru, indikatörden Expert Advisor'a parametreler nasıl geçirilir ve bu Expert Advisor test modunda nasıl davranacak?

Şimdiden teşekkürler!

 

çok iyi anlatıyorsunuz.

MT'ye aktarmanın en kolay yolu , pano gibi bir şey olan GlobalVariable'dır. Biri koyar diğeri alır.

Ancak yine de birçok seçenek var, duruma göre. Çünkü bir durum yok, seçeneklerden bahsetmek zor. Aynı karakter üzerinde test edilecektir.

 
zhuki :

çok iyi anlatıyorsunuz.

MT'ye aktarmanın en kolay yolu , pano gibi bir şey olan GlobalVariable'dır. Biri koyar diğeri alır.

Ancak yine de birçok seçenek var, duruma göre. Çünkü bir durum yok, seçeneklerden bahsetmek zor. Aynı karakter üzerinde test edilecektir.


GlobalVariable yardımda MT'yi bile bulamadı, ....

seçenekler açısından. Örneğin hesaplama şu şekilde oluyor, zikzak göstergesi var, zikzak koduna örüntü tanımlayan bir kod ekledim, örneğin koşul sağlanıyorsa If (koşul), değilse değişken a=1, değilse a= 0 . Bu değişkenin değerini başka bir göstergeye aktarmam gerekiyor, böyle bir göstergedeki değişken (a=1) eşit ise formun koduna sırasıyla a=0 ise aşağıdakileri yapın. Göstergeler arasında parametrelerin transferiyle ilgili olan budur.

ve buna göre parametreleri indikatörden aynı formda Expert Advisor'a iletir. Ancak danışmanla ilgili soru şu: test cihazında test yaparken danışman hesaplama için göstergeyi yükleyecek ve değişkenlerin değerlerini uzmana iletecek mi? yoksa değişkenin gösterge ortamında olduğu için mevcut olmadığına yemin edecektir!

 

Aynı soru. Standart olmayan bir göstergeden diğerine veri nasıl aktarılır?

 
zhuki :

çok iyi anlatıyorsunuz.

MT'ye aktarmanın en kolay yolu , pano gibi bir şey olan GlobalVariable'dır. Biri koyar diğeri alır.

Ancak yine de birçok seçenek var, duruma göre. Çünkü bir durum yok, seçeneklerden bahsetmek zor. Aynı karakter üzerinde test edilecektir.

Örneğin, iMA'yı standart bir ad gibi kısa bir adla arayamaz mısınız?
 
Abzasc :
Örneğin, iMA'yı standart bir ad gibi kısa bir adla arayamaz mısınız?

Bizi arayabilirsiniz, bunun için herhangi bir hata oluşmuyor ama parametre nasıl geçilir? Bir arama yapıyorum, aradığım parametreyi parantez içine alıyorum), ancak yanıt olarak, göstergede böyle bir parametrenin küfürü yok.
Neden: