Meta Trader'da spread ticareti - sayfa 142

 

Arkadaşlar !!!! Yine de, kendimi başka bir yumru ile doldurmaya ve limit emirlerine göre bir danışman yazmaya karar verdim, herhangi bir yardımdan memnun olacağım. Kimov fonksiyonlarına dayalı limit emirlerinin açılması zaten uygulandı. Şimdi pozisyon açmak için tik istatistiklerine ( https://www.mql5.com/en/forum/125272 ) (çünkü hala daha güvenilir olduğunu düşünüyorum) dayalı ortalama ve sapmaları göstermeye çalışıyorum. Bir limit emrini fiyata göre hareket ettirmek için bir modül ve belirli bir kâra ulaşıldığında pozisyonları kapatmak için bir modül uygulamak gerekecektir.

 
Scorp1978 >> :

...... Belirli bir kâra ulaşıldığında bir limit emrini fiyata göre hareket ettirmek için bir modül ve pozisyonları kapatmak için bir modül uygulamak gerekecektir.

İşte siparişleri taşımak için kod. Senden bira!

 extern bool    Modify =True;
extern int     DistanceSet=14;//в пунктах
//-----------------------------------

if (Modify == true) { //если выключатель модификации включен
//если есть отложенный ордер и нет откр. одноименных позиций и
// расстояние от текущей цены превышает величину DistanceSet - модернизируем
// - т.е. подтягиваем к текущей цене
if (NumberOfOrders( NULL ,OP_BUYLIMIT,Magic)> 0 &&  NumberOfPositions(NULL,OP_BUY,Magic)<1 ){
  if ( ExistOPNearMarket( NULL ,OP_BUYLIMIT,Magic,DistanceSet)== 0 ) { 
    for ( int isl_= OrdersTotal ()- 1 ; isl_>= 0 ; isl_-- )                  {
    if ( OrderSelect (isl_,SELECT_BY_POS,MODE_TRADES))                 {
     if (OrderSymbol()== Symbol () )                                   {
      if (OrderType()==OP_BUYLIMIT && OrderMagicNumber()==Magic)      { 
      double pAsk=Ask-DistanceSet* Point ;            
      if (sl!= 0 ) double ldStop=pAsk-sl* Point ;
      if (tp!= 0 ) double ldTake=pAsk+tp* Point ;         
     OrderModify(OrderTicket(), pAsk,ldStop,ldTake, 0 , DarkGreen );
      Print ( "Modify OP_BUYLIMIT " );  Sleep ( 500 );  RefreshRates(); }
      }}}}}
if (NumberOfOrders( NULL ,OP_SELLLIMIT,Magic)> 0 && NumberOfPositions(NULL,OP_SELL,Magic)<1 ){      
  if ( ExistOPNearMarket( NULL ,OP_SELLLIMIT,Magic,DistanceSet)== 0 ) { 
   for ( int isl= OrdersTotal ()- 1 ; isl>= 0 ; isl-- )                  {
    if ( OrderSelect (isl,SELECT_BY_POS,MODE_TRADES))                 {
     if (OrderSymbol()== Symbol () )                                   {
      if (OrderType()==OP_SELLLIMIT && OrderMagicNumber()==Magic)      { 
       double pBid=Bid+DistanceSet* Point ;  
       if (sl!= 0 ) double ldStop_=pBid+sl* Point ;
       if (tp!= 0 ) double ldTake_=pBid-tp* Point ; 
     OrderModify(OrderTicket(), Bid+DistanceSet* Point ,ldStop_,ldTake_, 0 , DarkGreen );
      Print ( "Modify OP_SELLLIMIT" );  Sleep ( 500 );  RefreshRates(); }
      }}}}}            
} //выключатель модификации 
Nerede, - İşlev VarOPNearMarket() -
//Bu fonksiyon, bir emrin veya piyasaya yakın bir pozisyonun varlığının bayrağını döndürür
// (pazardan belirli bir mesafede). Denetlenenlerin daha doğru seçimi
//siparişler veya pozisyonlar harici parametreler tarafından belirlenir:
//sy - Cihaz adı. Bu parametreyi ayarlarsanız, fonksiyon kontrol edecektir.
// sadece belirtilen enstrümanın emirleri veya pozisyonları. "" veya NULL anlamına gelir
//geçerli araç.
//op - Ticaret işlemi, emir veya pozisyon tipi. Geçerli değerler: OP_BUY,
// OP_SELL, OP_BUYLIMIT, OP_SELLLIMIT, OP_BUYSTOP, OP_SELLSTOP veya -1.
//Varsayılan değer -1, herhangi bir ticaret işlemi anlamına gelir.
//mn - Sipariş veya konum kimliği (MagicNumber). Varsayılan değer -1
// - herhangi bir tanımlayıcı.
//ds - Pazardan puan olarak uzaklık. Varsayılan değer 1000000'dir.
 //+----------------------------------------------------------------------------+
//| Автор : Ким Игорь                                                                |
//+----------------------------------------------------------------------------+
//| Версия : 19.02.2008 |
//| Описание : Возвращает флаг существования позиции или ордера около рынка |
//+----------------------------------------------------------------------------+
//| Параметры: |
//| sy - наименование инструмента ("" или NULL - текущий символ) |
//| op - торговая операция ( -1 - любая операция) |
//| mn - MagicNumber ( -1 - любой магик) |
//| ds - расстояние в пунктах от рынка ( 1000000 - по умолчанию) |
//+----------------------------------------------------------------------------+
bool ExistOPNearMarket( string sy= "" , int op=- 1 , int mn=- 1 , int ds= 1000000 ) {
  int i, k= OrdersTotal (), ot;
  if (sy== "" || sy== "0" ) sy= Symbol ();
  double p=MarketInfo(sy, MODE_POINT);
  if (p== 0 ) if ( StringFind (sy, "JPY" )< 0 ) p= 0.0001 ; else p= 0.01 ;
  for (i= 0 ; i<k; i++) {
  if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
  ot=OrderType();
  if ((OrderSymbol()==sy) && (op< 0 || ot==op)) {
  if (mn< 0 || OrderMagicNumber()==mn) {
  if (ot==OP_BUY || ot==OP_BUYLIMIT || ot==OP_BUYSTOP) {
  if ( MathAbs (MarketInfo(sy, MODE_ASK)-OrderOpenPrice())<ds*p) return (True);
  }
  if (ot==OP_SELL || ot==OP_SELLLIMIT || ot==OP_SELLSTOP) {
  if ( MathAbs (OrderOpenPrice()-MarketInfo(sy, MODE_BID))<ds*p) return (True);
  }}}}} return (False); }

Ve NumberOfOrders() işlevi -
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 28.11.2006                                                     |
//|  Описание : Возвращает количество ордеров.                                 |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любой ордер)                    |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
int NumberOfOrders( string sy= "" , int op=- 1 , int mn=- 1 ) {
  int i, k= OrdersTotal (), ko= 0 , ot;

  if (sy== "0" ) sy= Symbol ();
  for (i= 0 ; i<k; i++) {
    if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
      ot=OrderType();
      if (ot> 1 && ot< 6 ) {
        if ((OrderSymbol()==sy || sy== "" ) && (op< 0 || ot==op)) {
          if (mn< 0 || OrderMagicNumber()==mn) ko++;
        }}}}  return (ko);}                        
 
rid


çok teşekkürler, crunch, herhangi bir periyotta keneler için ortalamayı hesaplama işlevini verdi, ona bira da söz verdim, hemen bir kutu stoklamam gerekecek :)))) kahretsin, sarhoş olmazdım sevinçle !!!!!

 
Bugün mt4 B postasından bir mektup aldım.
//----------------------
Değerli Müşterilerimiz, 14 Nisan 2010 tarihinden itibaren BT-08 Sözleşmesi Ek'in 1.3.6. paragrafına karşılık gelen eylemin yürürlüğe girdiğini lütfen unutmayın.
1.3.6. Denge sabitleme.
1.3.6.1. İşlem bakiyesinin sabitlenmesi işlemi, takas tahakkuk sürecinden önce günlük olarak gerçekleştirilir.
Prosedür, yürütülen tüm alım satım işlemlerinin mali sonucunun otomatik olarak hesaplanması ve bu sonucun alım satım hesabının cari bakiyesi ile karşılaştırılmasıdır. Tutarlarda tutarsızlık olması durumunda, alım satım hesabının bakiyesi tutarsızlık miktarına göre ayarlanacaktır.
Bu andan itibaren, dengeyi sabitleme prosedürü günlük olarak gerçekleştirilecektir.
Bu işlemden sonra işlem hesabındaki mali sonuçta tutarsızlık olması durumunda, açıklama için teknik destek departmanı ile iletişime geçebilirsiniz....."
//------------------------------------------------
Anlamıyorum, bu ne böyle?
Miktarlardaki fark nedir? Teorik olarak nereden gelebilir?
Ne hakkında?
Ve - ".... ticaret hesabının bakiyesi ayarlanacak" - nasıl?

 

Hata yapmaktan korkuyorum ama BT-08 Anlaşmasının 1.3.6.1 maddesi şirkete müşterileri tekrar sıkıştırma fırsatı veriyor.
Teorik tutarsızlıklar nereden gelebilir?
İkinci Seçenek.
İlk olarak, siparişleriniz piyasa dışı fiyatlarla karşılandıysa (aykırı değerler, ani artışlar ve diğer başarısızlıklar olabilir) - şirket bu tür siparişlerin kaderini belirleyecek ve "piyasa dışı fiyatın" ne olduğunu belirleyecektir. Ancak bu sık olmaz ve çok korkutucu değildir.
İkinci seçenek tüccar için daha önemlidir. Düzeltme sırasında şirketin ticaret spreadlerini genişleteceğini hayal edin. Bu, tüm açık pozisyonlarınız için toplam kârın azalacağı ve bu farkın bakiyeden düşüleceği anlamına gelir... Şirket, her işlem günü sonunda böyle bir işlem yapacak ve gizli bir işlem gibi görünecektir. takas... Cehennem, hayır şeytan şirketin bu tür hareketlerini engelleyemez... CFD'nin sahibidir...

Tabii ki, herkes şirketin dürüstlüğüne ve böyle hile yapmayacağına inanmak ister ..., zaman gösterecek ... ama denizaşırı davalar ve pahalı avukatlar için bir yerlerden para bulmanız gerekiyor ...

 
GEFEL >> :

.....
İkinci seçenek tüccar için daha önemlidir. Düzeltme sırasında şirketin ticaret spreadlerini genişleteceğini hayal edin. Bu da tüm açık pozisyonlarınız için toplam kârın azalacağı ve bu farkın bilançodan borçlandırılacağı anlamına geliyor... Şirket her işlem günü sonunda böyle bir işlem yapacak ve gizli takas ....... .

Oturup düşünüyorum.....
Spreadler, alım satımın seans günü sonunda her gün gerçekten önemli ölçüde genişler (günlük seanslar arasında bir mola sağlayan enstrümanlar için, yani neredeyse tüm emtialar ve vadeli işlemler için - alım satım metodolojimiz için).
Pek net değil. Böyle bir durumda öz sermaye (fonlar) geçici olarak azalacaktır, ancak bakiye azalmayacaktır.
Sonuçta pozisyonlar açık kalıyor ve buradaki denge hiçbir şekilde değişmiyor.
Ve eğer bu "genişletilmiş" spread (yeni bir seansın açılışında) bakiyeden silinirse, o zaman bu benim kafama uymuyor.
Her akşam DETAYLI RAPOR kaydedip sabahki "yeni denge" ile titizlikle karşılaştırmak doğru...
Görünüşe göre öyle.

 
Bir arkadaş teknik desteğe bir soru sordu.
Bir cevap alacak.
http://www.procapital.ru/showthread.php?p=649145#post649145
 
rid писал(а) >>
Bir arkadaş teknik desteğe bir soru sordu.
Bir cevap alacak.
http://www.procapital.ru/showthread.php?p=649145#post649145


Ayrıca teknik destekteki cevabı da okudum ve anlıyorum ki korkunç bir şey olmayacak (umarım)

 

Bakiye = öz sermaye + açık pozisyonlardaki toplam kâr ...

 

Ve cevaptaki kırmızı ile vurgulanan bu ifade sizi rahatsız etmiyor ... Bir kez daha tekrar ediyorum: bu, kapatılan işlemleri hiçbir şekilde etkilemeyecek, tüm göstergeleri olduğu gibi kalacak. Sadece kesin hesap bakiyesi kontrol edilir.
Elbette kimse zaten kapalı olan pozisyonları düzenlemeyecekti. Bu bir hırsızlık olurdu. Ama açıklığa tırmanabilirler ...
B'de gerçek yok... ve umrumda değil, ama gerçekten akşam ve sabah dengesini ayarlamanızı tavsiye ederim...