Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 206

 
mikhail12 :

Sonuçta, eğer yeniden açılırsa, pozisyon yayılma değeri ile daha da kötü olacak şekilde kesilir.

Bu özellikle zarif bir sapıklık olurdu. Olası olmayan.
 
tara :

Bu özellikle zarif bir sapıklık olurdu. Olası olmayan.

Evet, zaten kontrol ettim, öyle görünüyor.. öyle olmasaydı, Aussie'nin satışını İslami hesapta tutmak ve spread ile hesapta satın almak mümkün olurdu. İstikrarlı bir kâr olurdu .. bankadan daha fazla
 

1. Siparişin kısmi kapanma durumu - bilet değiştirilir ve yeni siparişin yorumunda yazılır, bu anlaşılabilir, alınabilir.
2. Durum Bazı brokerlar gece/hafta sonu boyunca bir pozisyon aktarırken, pozisyonu kapatıp günün başında tekrar açarlar, bu durumda bilet nasıl davranır? Eski bilet yeni poza yorum olarak yazılacak, bir şey olmayacak mı? 4-8'den fazla sipariş varsa takip etmenin yolları nelerdir?

 
Vladislav: gönderiyi boşuna sildi, imhenko.
 
artmedia70 :


tarih saat aynı int



Beni düşündürdü - tarih saatinin imzasız olduğundan emindim int , kontrol ettim - haklısın. MT4'ün 2038'den fazla yaşamayacağı ortaya çıktı;). Hala zaman var.
 
tara :
Vladislav: gönderiyi boşuna sildi, imhenko.


Hayır, boşuna değil, IMHO, elbette: datetime gerçekten bir int . Her ne kadar yazılan her şey genel olarak doğru olsa da, bu durumda değil. Burada MKL geliştiricilerinin mantığını anlayamıyorum ((((((((((((((. Belki dilin yeni sürümünde düzeltirler .

ZY'nin uzak gönderi anlayışı, türlerin hedefe farklı şekilde uygulanması gerektiğiydi, yürütme hatalarıyla (Çalışma Zamanı Hatası) karşılaşabilirsiniz. Bu durumda, tarih saat, tarih için int'den daha iyidir, çünkü tür uyumsuzluğunun düzeltileceği umudu vardır.

 
VladislavVG :


Hayır, boşuna değil, IMHO, elbette: datetime gerçekten bir int . Her ne kadar yazılan her şey genel olarak doğru olsa da, bu durumda değil. Burada MKL geliştiricilerinin mantığını anlayamıyorum ((((((((((((((. Belki dilin yeni sürümünde düzeltirler .

ZY'nin uzak gönderi anlayışı, türlerin hedefe farklı şekilde uygulanması gerektiğiydi, yürütme hatalarıyla (Çalışma Zamanı Hatası) karşılaşabilirsiniz. Bu durumda, tarih saat, tarih için int'den daha iyidir, çünkü tür uyumsuzluğunun düzeltileceği umudu vardır.


Katılıyorum, tarih saat veya renk yerine int kullanmamalısınız. yürütme hatalarından bile değil, geliştiriciler işleri düzene koyduğunda olacaklardan.
 
VladislavVG :


Hayır, boşuna değil, IMHO, elbette: datetime gerçekten bir int . Her ne kadar yazılan her şey genel olarak doğru olsa da, bu durumda değil. Burada MKL geliştiricilerinin mantığını anlayamıyorum ((((((((((((((. Belki dilin yeni sürümünde düzeltirler .

ZY'nin uzak gönderi anlayışı, türlerin hedefe farklı şekilde uygulanması gerektiğiydi, yürütme hatalarıyla (Çalışma Zamanı Hatası) karşılaşabilirsiniz. Bu durumda, tarih saat, tarih için int'den daha iyidir, çünkü tür uyumsuzluğunun düzeltileceği umudu vardır.

Evet. MQL5'te olduğu gibi 8 bayt sözü verdiler. Muhtemelen, __time64_t (UNIXTIME64) türünde olacaktır.
 
solnce600 :

Beyler profesyoneller .... Kafam karıştı

TarasBY ve artmedia70 , hatamın siparişin sihirli sayısının değerini saklayan değişkenin değeriyle ilgili olduğunu söylüyor.


Vinin bunun sihirli sayı olmadığını, yanlış mantık olduğunu söylüyor......... artmedia70 onunla tartışıyor.

.

Profesyoneller sorunum üzerinde fikir birliğine sahip değillerse, sorunumu çözmek için yeni başlayan biri olarak ne yapmalıyım?


Sihirle ilgili bir hata, durarak kapanırken danışmanınızın pozisyonunun durarak kapatıldığını görmemesine neden olur. Niye ya? Cevap: Magic 123 ile pozisyonları açarsınız ve Magic değişkenini stop ile kapatmayı kontrol etme fonksiyonuna gönderirsiniz. Örtük başlatma ile neye eşit olduğunu düşünüyorsunuz? Sıfır. Doğal olarak, fonksiyonda sihirli 0 ile pozisyonlar aranır ve pozisyonlarınız için 123'e eşittir.Ve tartışmıyoruz, ama... özensiz tartışıyoruz... Kapanışları durdurmak için yanıtı kontrol edin:


 double    Lot;
int       Magic= 123 ;

int start() {

   double Price=iOpen( Symbol (), 0 , 0 );
          
   int last_order_bar= 0 ; 
   int ot= OrdersTotal ();
   if (ot> 0 ) {
       if ( OrderSelect (ot- 1 ,SELECT_BY_POS))
         if (OrderType()==OP_BUY || OrderType()==OP_SELL) last_order_bar=iBarShift( Symbol (), 0 ,OrderOpenTime()); 
      }                                    

   int last_hist_order_bar= 0 ;   
   int oht=OrdersHistoryTotal(); 

   if (oht> 0 ) { 
       if ( OrderSelect (oht- 1 ,SELECT_BY_POS, MODE_HISTORY))    
         if (OrderType()==OP_BUY || OrderType()==OP_SELL) last_hist_order_bar=iBarShift( Symbol (), 0 ,OrderOpenTime());
      }

   if (ot== 0 )
       if (Bid==Price)
   //=============================================================== 
         if (((Open[ 1 ]-Close[ 1 ])> 100 * Point )&&((Open[ 1 ]-Close[ 1 ])< 120 * Point ))
             if (((High[ 1 ]-Open[ 1 ])> 40 * Point )&&((High[ 1 ]-Open[ 1 ])< 60 * Point ))
               if (((Close[ 1 ]-Low[ 1 ])> 40 * Point )&&((Close[ 1 ]-Low[ 1 ])< 60 * Point ))
   //============================================================
                  Lot=MarketInfo( Symbol (), MODE_MINLOT);   
                   if (isCloseLastPosByStop( Symbol (), OP_BUY, Magic, Lot)) {
                     Lot=Lot* 2 ;
                     OrderSend ( Symbol (),OP_SELL,Lot,Bid, 1 ,Ask+ 1500 * Point ,Ask- 300 * Point , "jfh" , 123 );
                     }
                   else {
                     Lot= 0.1 ;        
                     OrderSend ( Symbol (),OP_SELL, 1 ,Bid,Lot,Ask+ 1500 * Point ,Ask- 300 * Point , "jfh" , 123 );
                     }
   return ( 0 );
}
//+----------------------------------------------------------------------------+
bool isCloseLastPosByStop( string sy, int op, int mn, double &ll) {
   double    pt;
   int       dg, i, j=- 1 , k=OrdersHistoryTotal()- 1 ;
   datetime t=0;                                   // во избежание возможных ошибок после возможных будущих улучшений
   for (i=k; i>= 0 ; i--) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) {
         if (OrderMagicNumber()!=mn)   continue ;   // если магик не тот, переходим к следующему
         if (OrderSymbol()!=sy)         continue ;   // если символ не тот, переходим к следующему
         if (OrderType()!=op)           continue ;   // если тип не тот, переходим к следующему
         if (t<OrderCloseTime()) {
            t=OrderCloseTime();
            j=i;
            }
         }
      }
   if ( OrderSelect (j, SELECT_BY_POS, MODE_HISTORY)) {
      dg=MarketInfo(OrderSymbol(), MODE_DIGITS);       // количество знаков в цене символа ордера
      pt=MarketInfo(OrderSymbol(), MODE_POINT);       // размер пункта инструмента в валюте котировки ордера
       if ( MathAbs (OrderClosePrice()-OrderStopLoss())< 0.5 *pt) { // Если закрыт по стопу
         ll=OrderLots();                               // записываем количество лотов в ордере, закрытом по стопу
         return ( true );                                 // возвращаем истину
         }
      }
   return (False);                                     // возвращаем ложь (позиции нету, либо не по стопу)
}
//+----------------------------------------------------------------------------+

Danışmanın "ölü" mantığının geri kalanına bakmadım - durarak kapanmayı kontrol etme işleviyle başa çıkmanıza yardımcı oldum ...

 
tara :

Benim için zevkti. İyi şanlar!

Alexey İyi günler!

İletişimimiz aklımdan çıkmıyor ...... ve bu yüzden .....

Kodlamamla ilgili olarak, mantık eksikliği hakkında sık sık yorumlar duydum.

Dün bana Boole cebri ile ne demek istediğini açıklamıştın.Bu konu çok geniş ve çok derin.

Gerçek şu ki, matematiksel ve hatta cebirsel bir zihniyetim yok.

Çok karmaşık olmayan bazı matematiksel şeyleri anlıyorum .... ama hemen değil ve beynim karmaşık şeyleri hiç algılamıyor.

Altı aydan daha uzun bir süre önce, makine öğrenimi programlama eğitimini incelemeye başlamadan önce, şüpheyle işkence gördüm:

Matematiksel yeteneklerim olmadan anlayabilir miyim?

Ancak Bay Kozlov, ders kitabının önsözünde, aslında her şeyin ilk bakışta göründüğünden çok daha basit olduğunu söyledi.

görme.

Ve gerçekten de, ders kitabının %60-70'ini bana öyle geliyor ki, şimdi anlayabiliyorum (belki ilk defa değil) ve sonuç olarak zaten bir şeyler kodlayabiliyorum.

Düne kadar, tüm karmaşık matematiksel hesaplamaların (anlayamadığım) program tarafından yapıldığını ve sadece kurallarını bilmem gerektiğini düşündüm.

hangi program çalışır ve hesaplamalar yapar.

Ama dünkü iletişimimiz beni Boole cebrinde ustalaşmazsam kodlarımda mantık olmayacağı fikrine götürdü.

Kodlarımda boole mantığı eksikse programlarım düzgün çalışmayacak veya hiç çalışmayacaktır.

Ama dün Wikipedia'ya baktım ve fark ettim - Boole cebri ve muhtemelen mantık - aklım için değil!

Dün, kodumun bir parçasına üstünkörü bir bakış attıktan sonra, içinde hiçbir boole mantığı olmadığı sonucuna vardınız.

Sakıncası yoksa, bu parçadaki mantık eksikliğine ilişkin sonucunuzdan önce gelen akıl yürütmenizin gidişatını belirtemezsiniz.

Seni anlarsam, devam edeceğim. Eğer - anlamıyorum ..... Muhtemelen programlamanın yeteneklerimi fazlasıyla aşan bir şey olduğu sonucuna varacağım.

Teşekkür ederim.

eğer (ot==0)
if (Teklif==Fiyat)
if(((Open[1]-Close[1])>100*Point)&&((Open[1]-Close[1])<120*Nokta))
if(((Yüksek[1]-Açık[1])>40*Nokta)&&((Yüksek[1]-Açık[1])<60*Puan))
if(((Kapat[1]-Düşük[1])>40*Puan)&&((Kapat[1]-Düşük[1])<60*Puan))