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

 
artmedia70 :
Onlar. danışmanın init() içindeki gösterge penceresindeki bilgileri görüntülemek için işleve bir çağrı eklemem gerekir mi?


peki, init() ile yazmayı dene

int init()
{
Alert ("Pencerenizi bulamasam da, init() bölümünde çağrılmama rağmen buradan çıkıyorum");
dönüş(0);
}

 
IgorM :


peki, init() ile yazmayı dene

int init()
{
Alert("Pencerenizi bulamadığım halde init() bölümünde çağrılmama rağmen buradan çıktım");
dönüş(0);
}

:) İntihal ticareti yapıyor musunuz? :)
 

Sorunla başa çıkmak için yardım edin! Anlaşmam kârsızsa, partiyi değiştirmeniz gerekir, değilse hayır. öyle yapıyorum ......

 //================================================= ===
// Расчет размера позиции
//================================================== ==
double CalculateLots(){
   double Res=dLots;
   bool bProfit= true ;
   int PrevTime=- 1 ;
   double tmpLots;
   for ( int i= 0 ;i<OrdersHistoryTotal();i++){
       if (!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue ;
       if (OrderSymbol()!=Symbol())                     continue ;
       if (OrderMagicNumber()!=MAGIC)                   continue ;
       if (OrderCloseTime()<PrevTime)                   continue ;
      PrevTime=OrderCloseTime();
       if (OrderProfit()> 0 ) bProfit= true ; else bProfit= false ;
      tmpLots=OrderLots();
   }
   double Lots_Step=MarketInfo(Symbol(), MODE_LOTSTEP);
   if (!bProfit) Res=tmpLots+Lots_Step;
   return (Res);
}

Yardım! Gerçek şu ki, lotu değiştirirken, zaten bekleyen siparişlerim var (diğer lotlarla). Bu siparişleri silmem ve içindeki parti sayısını (yenileriyle) değiştirmem gerekiyor, ancak parametreler aynı kalıyor!


 


Sevgili programcılar,
lütfen aşağıdaki soruyu cevaplayın:

Bana dizedeki verilerin neden diziye doğru girilmediğini söyle?

 extern string Sessions_begin= "15:31;14:11" ;
extern string Sessions_end= "22:32;18:12" ; 

int mas_time_begin[ 10 ][ 2 ], mas_time_end[ 10 ][ 2 ];  //первый - № сессии,
            // второй время[][1]-первый элемень время(часы), [][2]-минуты.

//
str_len_begin= StringLen (Sessions_begin)

Print ( "Длина str_len_begin=" +str_len_begin);
  for (n= 1 ,i= 0 ; i<=str_len_begin; i+= 6 ,n++)
  {
   mas_time_begin[n][ 1 ]=StrToInteger( StringSubstr (Sessions_begin,i, 2 ));
   mas_time_begin[n][ 2 ]=StrToInteger( StringSubstr (Sessions_begin,i+ 3 , 2 ));
   mas_time_end[n][ 1 ]=StrToInteger( StringSubstr (Sessions_end,i, 2 ));
   mas_time_end[n][ 2 ]=StrToInteger( StringSubstr (Sessions_end,i+ 3 , 2 ));
  Print ( "n= " +n);
  Print ( "i= " +i);

  Print ( "Начало сессии " +n+ " в(вывод через Print) " + StringSubstr (Sessions_begin,i, 2 )+ ":" + StringSubstr (Sessions_begin,i+ 3 , 2 )); 
  Print ( "Конец сессии " +n+ " в (вывод через Print) " + StringSubstr (Sessions_end,i, 2 )+ ":" + StringSubstr (Sessions_end,i+ 3 , 2 ));
  Print ( "Начало сессии " +n+ " в(вывод через Массив) " +mas_time_begin[n][ 1 ]+ ":" +mas_time_begin[n][ 2 ]);
  Print ( "Конец сессии " +n+ " в(вывод через Массив) " +mas_time_end[n][ 1 ]+ ":" +mas_time_end[n][ 2 ]);
  }

işte şimdi olanlar:

http://savepic.ru/1410881.gif

 

Господа, не подскажете ли? Есть проблема в сортировке ордеров при включении или (наложении) отремонтированного советника на имеющиеся уже, выставленные отложки. Я тут пытался соорудить коды для поиска, распознавания и переприсвоения имеющихся номеров ордеров, чтоб советник воспринимал их как свои, но результат какой-то неопределённый. Советник при включении начинает лупить некоторые отложки в тоже место с теми же параметрами.....Может у кого есть коды или мысли по этой теме, для многих ордеров?

Cevap verenlere teşekkürler.

 
Hedin :


Sevgili programcılar,
lütfen aşağıdaki soruyu cevaplayın:

Bana dizedeki verilerin neden diziye doğru girilmediğini söyle?

işte şimdi olanlar:

http://savepic.ru/1410881.gif

İkinci boyuttaki dizinin boyutu doğru ayarlanmamış :

 int mas_time_begin[ 10 ][ 2 ], mas_time_end[ 10 ][ 2 ];  //первый - № сессии,

Dizi elemanları 0'dan başlar ve siz bu girdilerdesiniz

mas_time_begin[n] [ 2 ] =StrToInteger( StringSubstr (Sessions_begin,i+ 3 , 2 ));
mas_time_end[n] [ 2 ] =StrToInteger( StringSubstr (Sessions_end,i+ 3 , 2 ));
3. hücreye (0, 1, 2) veri yazmak istiyor, ancak ikinci boyut iki ile verilse de (sadece 0, 1 indeksleri kullanılabilir).

Sorunun çözümü: ya ikinci boyutta diziyi artırın

 int mas_time_begin[ 10 ][ 3 ], mas_time_end[ 10 ][ 3 ];  //первый - № сессии,

ya değerleri yazarken dizinleri yeniden yazın

mas_time_begin[n][ 0 ]=StrToInteger( StringSubstr (Sessions_begin,i, 2 ));
mas_time_begin[n][ 1 ]=StrToInteger( StringSubstr (Sessions_begin,i+ 3 , 2 ));
mas_time_end[n][ 0 ]=StrToInteger( StringSubstr (Sessions_end,i, 2 ));
mas_time_end[n][ 1 ]=StrToInteger( StringSubstr (Sessions_end,i+ 3 , 2 ));
 
rosomah :

Lordum, bana söyler misin? Mevcut bekleyenler üzerinde onarılan bir Uzman Danışmanı açarken veya (örtüşen) siparişleri sıralamada bir sorun var. Burada, danışmanın onları kendisininmiş gibi algılaması için mevcut sipariş numaralarını aramak, tanımak ve yeniden atamak için kodlar oluşturmaya çalıştım, ancak sonuç bir şekilde belirsiz. Expert Advisor, açıldığında, aynı parametrelerle aynı yerde bekleyen bazılarını soymaya başlar ..... Belki birilerinin bu konuda kodları veya düşünceleri vardır, birçok sipariş için?

Cevap verenlere teşekkürler.

Danışmanın “baykuş - yabancı”yı nasıl belirlediğine bağlı olarak, eğer sihirli sayı ile ise, önceden verilmiş bekleyen emirlerle yapılacak hiçbir şey yoktur, çünkü bu parametre önceden verilmiş bir emir için değiştirilemez.
Biletleri global değişkenlerde saklarsa , diyelim ki, o zaman zaten daha kolay, mevcut olanların biletleri "veritabanına eklenebilir". Yani bu aşamada sizin için asıl soru bu. Nasıl tanımlar?
 
ToLik_SRGV :

Danışmanın “baykuş - yabancı”yı nasıl belirlediğine bağlı olarak, eğer sihirli sayı ile ise, önceden verilmiş bekleyen emirlerle yapılacak hiçbir şey yoktur, çünkü bu parametre önceden verilmiş bir emir için değiştirilemez.

İçeride ve farklı birikintilerden oluşan bir ızgara varsa, çünkü oluşan delikler bazı gecikmeler çalıştı, bazıları taşındı, vb. Ayrıca "yeni" bir danışman tarafından tanınmaları, yeniden numaralandırılmaları ve mevcut yerlerde doldurulmaları gerekir. Elbette manuel olarak yapabilirsiniz, ancak ... o zaman MTS için. Bir sipariş için en az N.Morzhov'u alabilirsiniz:

int arama;

if(arama==0)

{int k;

for(k=0; k<SiparişToplam();k++)

{ if( OrderSelect (k,SELECT_BY_POS,MODE_TRADES)==yanlış)ara;

if(OrderSymbol()!=Symbol()||OrderMagicNumber()!=Magic)cjntinue

bilet_buy1=OrderTicket();

arama=1; }}

ama bir paket siparişle nasıl başa çıkılır?

 
mql5 öğreticisinin ne zaman yayınlanmasının planlandığını kim bilebilir?
 
Abzasc :
mql5 öğreticisinin ne zaman yayınlanmasının planlandığını kim bilebilir?

https://www.mql5.com/ru/forum/491
Neden: