Piyasada yayınlanan Expert Advisor'larda minimum stop kontrol ediliyor. - sayfa 16

 
Vladislav Andruschenko :

yayılmanın hesaba katıldığı yerde, yayılma 8 puan oldu. + dk durak 18=26 puan

Burada 27'de her şey yolunda.

ve ayrıca, bir kişinin 100 puan stop loss koyması gerekiyorsa, bu 100 puan kaybedeceği anlamına gelir, bu nedenle ASK fiyatından AL için 100 puan saymanız gerekir.

ve sırasıyla BID'den CELL için.

SL'yi nereye koyacağımı söylemedim. Kontrol ederken hangi fiyatı kullanacağımı söyledim.
 
Andrey Khatimlianskii :
SL'yi nereye koyacağımı söylemedim. Kontrol ederken hangi fiyatı kullanacağımı söyledim.
Teşekkür ederim. Bu seçenek de sayılır.
 
Taras Slobodyanik :

öyleyse neden tahmin etmiyorsun? komisyoncu yanlış bir durma seviyesi verirse? %)

... tüm kontrollerden sonra, minimum girintiyi bulmak için zaten tahmin etmeniz gerektiği açıktır.

Düzende tahmin edemezsiniz. Her şeyi bilmeniz gerekiyor. Peşin. Böylece tek bir hata olmadan. Sunucudan gelen hataların bir hata olmadığını düşünmeme rağmen. Ve bir uyarı.
 

Piyasada danışman satma konusunda deneyimim yok, ancak tüm görüşleri okuduktan sonra 5 sentimi ekleyeceğim.

Menüden birden fazla seçeneği deneyebilirsiniz.

Seçenek 1, varsayılan yap. Bu, dakika durağının tamamen MODE_STOPLEVEL'i tanımladığı zamandır. Bir sipariş ile her işlemden önce yeni bir STOPLEVEL için başvurduğunuzdan emin olun .

Seçenek 2, eğer MODE_STOPLEVEL == 0 ise, seviye yayılmasını durdurun.

3 Seçenek Durdurma seviyemizi manuel olarak veya belirli bir katsayı ile spread ile çarpıyoruz.

Kontrole girdiğinizden emin olun. EA test ediliyor veya optimize ediliyorsa, durma seviyesi yayılmadan daha az olamaz. Bunun, Zarar Durdur = 1 dahil olmak üzere herhangi bir stres testi ile piyasayı geçmenize izin vereceğini düşünüyorum.

 
Dmytro Zelenskyy :

Piyasada danışman satma konusunda deneyimim yok, ancak tüm görüşleri okuduktan sonra 5 sentimi ekleyeceğim.

Menüden birden fazla seçeneği deneyebilirsiniz.

Seçenek 1, varsayılan yap. Bu, dakika durağının tamamen MODE_STOPLEVEL'i tanımladığı zamandır. Bir sipariş ile her işlemden önce yeni bir STOPLEVEL için başvurduğunuzdan emin olun .

Seçenek 2, eğer MODE_STOPLEVEL == 0 ise, seviye yayılmasını durdurun.

3 Seçenek Durdurma seviyemizi veya bazı katsayıları spread ile çarparak manuel olarak ayarlıyoruz.

Kontrole girdiğinizden emin olun. EA test ediliyor veya optimize ediliyorsa, durma seviyesi yayılmadan daha az olamaz. Bunun, Zarar Durdur = 1 dahil olmak üzere herhangi bir stres testi ile piyasayı geçmenize izin vereceğini düşünüyorum.

Ne yazık ki hayır.

Piyasada her şey otomatik olarak gitmeli.

şimdi altınla ilgili yeni bir şaka var, alıntılar 3 hane var, ancak son işaretin yuvarlanması gerekiyor, yani son hane 0 olmalı,

ve böylece, yuvarlama yaparken, bir matematiksel kurala göre ve minimum durdurma kuralını atlamanıza izin veren yanlış yönde yuvarlar.

Aptalca bir şekilde - piyasayı kontrol ederek, tüm seviyeleri 10 durdurma seviyesine koyabilirsiniz - tabiri caizse, moderatörler gözden kaçırsın, ama ben bunu normal bir şekilde yapmak istiyorum.

alışlar için yukarı, satışlar için aşağı yuvarlamak zorunda kalacaksınız. ah............

 
Vladislav Andruschenko :

Ne yazık ki hayır.

Piyasada her şey otomatik olarak gitmeli.

şimdi altınla ilgili yeni bir şaka var, alıntılar 3 hane var, ancak son işaretin yuvarlanması gerekiyor, yani son hane 0 olmalı,

ve böylece, yuvarlama yaparken, bir matematiksel kurala göre ve minimum durdurma kuralını atlamanıza izin veren yanlış yönde yuvarlar.

Aptalca bir şekilde - piyasayı kontrol ederek, tüm seviyeleri 10 durdurma seviyesine koyabilirsiniz - tabiri caizse, moderatörler gözden kaçırsın, ama ben bunu normal bir şekilde yapmak istiyorum.

alışlar için yukarı, satışlar için aşağı yuvarlamak zorunda kalacaksınız. ah............

Ben de altın ve gümüş üzerinde test etme sorunu ile karşılaştım, şöyle bir fonksiyon yazdım.

 double NormalizePrice( string symbol, double value )
  {
   double ts=SymbolInfoDouble(symbol,SYMBOL_TRADE_TICK_SIZE);
   if (ts== 0 ) return ( value );
   return (NormalizeDouble( value /ts, 0 )*ts);
  }

kullanım durumu

       double ask= NormalizeDouble ( SymbolInfoDouble (symbol, SYMBOL_ASK ),digits);
       if ( NormalizeDouble (NormalizePrice(symbol,ask),digits)!=ask) return ;
 

örneğin, kar al ayarlama işlevi benim için böyle görünüyor, zararı durdur

 void ModifyTP( string symbol, double tp)
  {
   if (tp<= 0 ) return ;
   bool res;
   double last= SymbolInfoDouble (symbol, SYMBOL_LAST );
   double bid= SymbolInfoDouble (symbol, SYMBOL_BID );
   double ask= SymbolInfoDouble (symbol, SYMBOL_ASK );
   double point= SymbolInfoDouble (symbol, SYMBOL_POINT );
   int digits=( int ) SymbolInfoInteger (symbol, SYMBOL_DIGITS );

   if (last<= 0.0 )
     {
      bid= SymbolInfoDouble (symbol, SYMBOL_BID );
      ask= SymbolInfoDouble (symbol, SYMBOL_ASK );
     }
   else
     {
      bid= SymbolInfoDouble (symbol, SYMBOL_LAST );
      ask= SymbolInfoDouble (symbol, SYMBOL_LAST );
     }

   if (bid<= 0.0 ) return ;
   if (ask<= 0.0 ) return ;

   int total= OrdersTotal ();

   for ( int i= 0 ; i<total; i++)
     {
       if (! OrderSelect (i, SELECT_BY_POS )) continue ;
       if ( OrderMagicNumber ()!=Magic) continue ;
       if ( OrderSymbol ()!=symbol) continue ;
       if ( OrderType ()> 1 ) continue ;
       if ( OrderTakeProfit ()!= 0 ) continue ;

       if ( OrderType ()== OP_BUY ) tp= NormalizeDouble (NormalizePrice(symbol,bid+tp*point),digits);
       if ( OrderType ()== OP_SELL ) tp= NormalizeDouble (NormalizePrice(symbol,ask-tp*point),digits);
       if (tp< 0 ) continue ;
      res= OrderModify ( OrderTicket (), OrderOpenPrice (), OrderStopLoss (),tp, 0 );
       if (!res)
        {
         int error= GetLastError ();
         rezult= StringConcatenate ( OrderSymbol (), ": error modifying TakeProfit order " ,StrToType( OrderType ()), " №- " ,error, " " ,ErrorDescription(error), " Ticket: " , OrderTicket ());
         Print (rezult);
        }
     }
  }
 
Sergey Gritsay :

Ben de altın ve gümüş üzerinde test etme sorunu ile karşılaştım, şöyle bir fonksiyon yazdım.

kullanım durumu

MT5 sunucusunda altın - 3 ondalık basamak, ancak duraklar ve açılış fiyatı !!!! 2 ondalık basamak, yani 3 haneye kadar değil, 2 haneye kadar yuvarlayın ve altın ve gümüş üzerinde bir dakika duraklama ile hala sizinle şakalar olacak,

şöyle bir şey:

   request.tp= NormalizeDouble (request.tp, SymbolInfoInteger (symToWork2, SYMBOL_DIGITS )-Rounding);
   request.sl= NormalizeDouble (request.sl, SymbolInfoInteger (symToWork2, SYMBOL_DIGITS )-Rounding);
   request.price= NormalizeDouble (request.price, SymbolInfoInteger (symToWork2, SYMBOL_DIGITS )-Rounding);

burada MT5 altın için Yuvarlama= 1'dir.

Ayrıca, fiyatın da yuvarlanması gerekir, aksi takdirde yazacaktır - yanlış fiyat, ancak yuvarladığınızda, sunucunun kendisi normal fiyatı düzeltir ve işlem gerçekleşir.

MT4'te böyle bir şaka yoktur - 2 ondalık basamak vardır ve 2 ondalık basamağa kadar sorunsuz bir şekilde yuvarlayabilirsiniz.

hata 130 hakkındaki kişisel görüşüm:

130 hatası için tüm kontrollerim var - hata günlüğünde bir çıktı var.

normalleşme de var.

Piyasada, sırasıyla min stop + spread'e normalleşmeye zorlandılar (örneğin, ASK fiyatından bir satın alma üzerine bahis yapmanız, ancak BID fiyatında bir min stop olup olmadığını kontrol etmeniz gerekiyor)

bu nedenle, bu kullanıcı için zorla yapılmalıdır , eğer bir tüccar bir danışman kullanırsa ve örneğin, 20 puanlık bir stoploss koyarsa, danışman bunu otomatik olarak 50 puan (minstop + spread) geçersiz kılmalıdır. yanlış. Tüccar 130 numaralı hatayı görmeli ve kendi tehlike ve riskine sahip olarak stopları düzeltmelidir.

Başka bir seçenek - eğer kullanıcı minimumdan daha az bir stop loss ayarladıysa - alım satımı ve değişikliği yasaklamak için mi? çünkü moderatörler 130 hatası olan bir uzmanın geçmesine izin vermez

Ancak ticareti yasaklamak yanlış, durma ve yayılma dalgalanıyor, şimdi minimumdan daha az - o zaman her şey yolunda.

Uzman yetiştirip piyasaya mesaj atanlar beni anlayacaktır.

IMHO: 130 hatası olmalı ve kullanıcı uzmandan değil sunucudan 130 hatası görmeli, diyorlar ki: "Durmanız minimumdan az, düzeltin."

Piyasa kuralı: 130 numaralı hatayı oluşturan Expert Advisor'ı atlamayın - çünkü denetleyici stoploss'a 1 puan koydu - peki, bu bir başarısızlıktır.

dahası, Expert Advisor'ın aynı sürümü geçebilir veya geçmeyebilir.

Sürümü yayınladım - her şey yolunda, bir süre sonra uzmanın çok fazla yazdırdığını gördüm (hemen hemen stop loss minimumdan daha az olduğu gerçeği) çabucak düzeltti - tekrar kontrol etmeye başlayana kadar bir hafta bekledim 2 hafta boyunca durgunlaşıyor çünkü yine bazı sembollerde 130 hatası çıktı

 
Vladislav Andruschenko :

MT5 sunucusunda altın - 3 ondalık basamak, ancak duraklar ve açılış fiyatı !!!! 2 ondalık basamak, yani 3 haneye kadar değil, 2 haneye kadar yuvarlayın ve altın ve gümüş üzerinde bir dakika duraklama ile hala sizinle şakalar olacak,

şöyle bir şey:

burada MT5 altın için Yuvarlama = 1'dir.

Ayrıca, fiyatın da yuvarlanması gerekir, aksi takdirde yazacaktır - yanlış fiyat, ancak yuvarladığınızda, sunucunun kendisi normal fiyatı düzeltir ve işlem gerçekleşir.

MT4'te böyle bir şaka yoktur - 2 ondalık basamak vardır ve 2 ondalık basamağa kadar sorunsuz bir şekilde yuvarlayabilirsiniz.

hata 130 hakkındaki kişisel görüşüm:

130 hatası için tüm kontrollerim var - hata günlüğünde bir çıktı var.

normalleşme de var.

Piyasada, sırasıyla min stop + spread'e normalleşmeye zorlandılar (örneğin, ASK fiyatından bir satın alma üzerine bahis yapmanız, ancak BID fiyatında bir min stop olup olmadığını kontrol etmeniz gerekiyor)

bu nedenle, bu kullanıcı için zorla yapılmalıdır , eğer bir tüccar bir danışman kullanırsa ve örneğin, 20 puanlık bir stoploss koyarsa, danışman bunu otomatik olarak 50 puan (minstop + spread) geçersiz kılmalıdır. yanlış. Tüccar 130 numaralı hatayı görmeli ve kendi tehlike ve riskine sahip olarak stopları düzeltmelidir.

Başka bir seçenek - eğer kullanıcı minimumdan daha az bir stop loss ayarladıysa - alım satımı ve değişikliği yasaklamak için mi? çünkü moderatörler 130 hatası olan bir uzmanın geçmesine izin vermez

Ancak ticareti yasaklamak yanlış, durma ve yayılma dalgalanıyor, şimdi minimumdan daha az - o zaman her şey yolunda.

Uzmanlar geliştirip piyasaya mesaj atanlar beni anlayacaktır.

IMHO: 130 hatası olmalı ve kullanıcı uzmandan değil sunucudan 130 hatası görmeli, diyorlar ki: "Durmanız minimumdan az, düzeltin."

Piyasa kuralı: 130 numaralı hatayı oluşturan Expert Advisor'ı atlamayın - çünkü denetleyici stoploss'a 1 puan koydu - peki, bu bir başarısızlıktır.

dahası, Expert Advisor'ın aynı sürümü geçebilir veya geçmeyebilir.

Sürümü yayınladım - her şey yolunda, bir süre sonra uzmanın çok fazla yazdırdığını gördüm (hemen hemen stop loss minimumdan daha az olduğu gerçeği) çabucak düzeltti - tekrar kontrol etmeye başlayana kadar bir hafta bekledim 2 hafta boyunca durgunlaşıyor çünkü yine bazı sembollerde 130 hatası çıktı

IMHO - birçok sunucu mesajı bir hata değil, bir dönüş kodudur. Ve her türlü hileden kaçınmak için değil, uzmanın karar verebilmesi için gereklidir. Sunucunun eylemlerine verdiği yanıta dayalı kararlardır. Aksi takdirde, piyasayı izlemenize ve sunucu ile karşılıklı "iletişim" temelinde eylemlerinizi düzeltmenize izin vermeyen aptal bir oyuncak olacaktır.

Yani moderatörlerin 130. hatadaki "yüzü" bir bükülmedir. Konuya düşünceli bir şekilde yaklaşmanız gerekir: Danışman 130. hatadan sonra sunucuyu aptalca çekiçlemeye devam ederse, bu bir şeydir, eylemlerini değiştirerek buna tepki verdiğinde tamamen başka bir şeydir. Neden ikincisini yapmamız yasak? Birisi (moderatör) bir uzmanın çalışmasına daha yakından bakmak istemiyor diye mi? 130 - evlilikte gördükleri hissi. EA'nın mantığı için muhtemelen sunucudan böyle bir yanıt alması önemli değil, sadece reddetmek ve başka yere bakmamak önemlidir. Ne olmuş?

 
Artyom Trishkin :

IMHO - birçok sunucu mesajı bir hata değil, bir dönüş kodudur. Ve her türlü hileden kaçınmak için değil, uzmanın karar verebilmesi için gereklidir. Sunucunun eylemlerine verdiği yanıta dayalı kararlardır. Aksi takdirde, piyasayı izlemenize ve sunucu ile karşılıklı "iletişim" temelinde eylemlerinizi düzeltmenize izin vermeyen aptal bir oyuncak olacaktır.

Yani moderatörlerin 130. hatadaki "yüzü" bir bükülmedir. Konuya düşünceli bir şekilde yaklaşmanız gerekir: Danışman 130. hatadan sonra sunucuyu aptalca çekiçlemeye devam ederse, bu bir şeydir, eylemlerini değiştirerek buna tepki verdiğinde tamamen başka bir şeydir. Neden ikincisini yapmamız yasak? Birisi (moderatör) bir Uzman Danışmanın çalışmasına daha yakından bakmak istemiyor diye mi? 130 - evlilikte gördükleri hissi. EA'nın mantığı için muhtemelen sunucudan böyle bir yanıt alması önemli değil, sadece reddetmek ve başka yere bakmamak önemlidir. Ne olmuş?

EA'm minimum hareketi yakalıyor, bu yüzden sunucuyu etkiliyor, ancak 1 stop loss noktası ile değil, normal bir minimum seviye + spread ile, ancak spread yüzüyor. Bu nedenle danışman, sunucuyu normale dönene kadar çekiçler. Genişletilmiş yayılma değil.

başka bir deyişle, açılış anında min stopu kontrol eder - değerlerini yeniden oluşturur - ardından sunucuyu çekiçler. Ancak 10 stop noktası koymanız gerekiyorsa, min yayılmasını beklemeniz ve sunucuyu çekiçlemeniz gerekir.