[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 173

 
bestfx :
Merhaba. Bana yardım et lütfen.

Sonuç olarak şu: Bekleyen emirleri belirli bir fiyattan otomatik olarak yerleştiren bir bot var. ...
 double main_price= 1.251 ;
double price_to_byu= 1.253 ;
double price_to_sell= 1.249 ;
// --------
bool restriction=false;
if (Ask<=main_price)
if ( OrdersTotal ()> 0 )
{   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
   {   if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
       if ( OrderSymbol ()!= Symbol ()) continue ;
       if ( OrderType ()==OP_BUY || OrderType ()==OP_BUYSTOP)
      {   if ( OrderOpenPrice ()==price_to_byu) restriction=true;
}  }  }
if (restriction==false)
{   OrderSend ( NULL ,OP_BUYSTOP,Lot,price_to_byu, ...);
   return ( 0 );
}
// --------
restriction=false;
if (Bid>=main_price)
if ( OrdersTotal ()> 0 )
{   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
   {   if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
       if ( OrderSymbol ()!= Symbol ()) continue ;
       if ( OrderType ()==OP_SELL || OrderType ()==OP_SELLSTOP)
      {   if ( OrderOpenPrice ()==price_to_sell) restriction=true;
}  }  }
if (restriction==false)
{   OrderSend ( NULL ,OP_SELLSTOP,Lot,price_to_sell, ...);
   return ( 0 );
}

Bu türden çok sayıda sipariş verirseniz, dizileri kullanmanız gerekir. Nasıl? Diziler hakkında bilgi edinin.

 
Lisi4ka330 :
1 Haziran'dan bu yana, 416'dan daha eski sürümler desteklenmemektedir.

Natasha , artık bilgisayarınız tarafından desteklenmiyorlar mı? )

409'u ana terminalinize paralel koyun, bir sonraki klasöre gerekli tüm geçmişi oraya bırakın ve istediğiniz kadar test edin, bunun için sunucuya bağlanmanıza gerek yok. Birt'a komut dosyası kullandıysanız, muhtemelen yine de çevrimdışısınızdır.

 
FAQ :
Fiyatı rakamlara bölün = bir tamsayıya getirin ve sihire yazın, ardından yeni bir emir vermeden önce sihir için açık emirler dizisine bakın.

:=( Ne saçmalık.
 
paladin80 :
Bu türden çok sayıda sipariş verirseniz, dizileri kullanmanız gerekir. Nasıl? Diziler hakkında bilgi edinin.

Bunu üçüncü gün okuyorum. :=( php'de her şey daha basit, ama burada hiçbir şekilde anlamıyorum.
 
Lisi4ka330 09.06.2012 20:33
evet denedim ama olmadı

O zaman farklı şekilde yapabilirsiniz.

Üstelik hem MT4 hem de MT5'te çalışacak.

1. Tüm tickleri (nereden biliyorsunuz) indirin ve veri hacimleri çok büyük olduğu için MS SQL server gibi oluşturduğunuz sunucuya yazın.

2. SQL sunucusu ile MT4,MT5 etkileşimi için DLL yazın.

MT4'te IsTesting() bayrağını kontrol edin ve test devam ediyorsa, tırnak değerleri yerine veri tabanındaki verileri değiştirin (orada fiyat döner), hepsi bu, karmaşık bir şey görünmüyor.

PS Bu seçenek, programın makine kodunun değiştirilmesiyle kullandığınızdan daha fazla yapı için ve her iki MT'de de çalışacağından daha iyidir.

 
bestfx :

:=( Ne saçmalık.


Sizin durumunuzda, açmadan önce bu fiyatla verilmiş sipariş olup olmadığını kontrol etmeniz gerekir. İki şekilde gidebilirsiniz, ya emirleri tarayın ve yerleştirmeden önce açılış fiyatlarını kontrol edin ya da her emri işaretleyin (fiyatını hakkındaki bilgilere ekleyin). Fiyatları karşılaştırırsanız, normalleşmeyi hatırlamanız gerekir, ayrıca kaymayı hatırlamanız gerekir.

Size ikinci yolu önerdim - açılış fiyatını sırayla bir interdick numarası olarak yazın. bu durumda, iki tamsayının (hızlı) standart karşılaştırması uygulanacaktır.

paladin80 :

Bu türden çok sayıda sipariş verirseniz, dizileri kullanmanız gerekir. Nasıl? Diziler hakkında bilgi edinin.


OrdersTotal() ve OrdersHistoryTotal() ve benzeri bir dizi.

 
pusheax :

O zaman farklı şekilde yapabilirsiniz.

Üstelik hem MT4 hem de MT5'te çalışacak.

1. Tüm tickleri (nereden biliyorsunuz) indirin ve veri hacimleri çok büyük olduğu için MS SQL server gibi oluşturduğunuz sunucuya yazın.

2. SQL sunucusu ile MT4,MT5 etkileşimi için DLL yazın.

MT4'te IsTesting() bayrağını kontrol edin ve test devam ediyorsa, tırnak değerleri yerine veri tabanındaki verileri değiştirin (orada fiyat döner), hepsi bu, karmaşık bir şey görünmüyor.

PS Bu seçenek, programın makine kodunun değiştirilmesiyle kullandığınızdan daha fazla yapı için ve her iki MT'de de çalışacağından daha iyidir.

çalışmayacak, çünkü tabandan gelen tekliflerle anlaşma yapamazsınız, fiyatın yanlış olduğunu söyleyecektir. Kendi test cihazınızı yazmak daha kolay.

Kızı karıştırmayın, danışmanı 409'u eski senaryo ile test ettim, her şey harika çalışıyor.

 
alsu :

çalışmayacak, çünkü tabandan gelen tekliflerle anlaşma yapamazsınız, fiyatın yanlış olduğunu söyleyecektir. Kendi test cihazınızı yazmak daha kolay.

Kızı karıştırmayın, danışmanı 409'u eski senaryo ile test ettim, her şey harika çalışıyor.


Evet, sonra fark ettim. Sadece kendisi daha önce benzer bir şey yapmaya çalıştı, ancak tikleri toplayamadı, ama burada zaten hazırlar.

Gerçekten de, makine kodunu değiştirmeden çalışmıyor gibi görünüyor.

Bu fikri tartışacak ve kafa karıştırmayacak şekilde yazdım çünkü fikri gerçekten beğendim ve kendim yapacağım.

 
pusheax :

Evet, sonra fark ettim. Sadece kendisi daha önce benzer bir şey yapmaya çalıştı, ancak tikleri toplayamadı, ama burada zaten hazırlar.

Gerçekten de, makine kodunu değiştirmeden işe yaramayacak gibi görünüyor.

Bu fikri tartışacak ve kafa karıştırmayacak şekilde yazdım çünkü fikri gerçekten beğendim ve kendim yapacağım.

Birisi zaten normal bir test cihazı, çoklu para birimi ve değişken bir yayılma ile yazıyor)))

gerçek keneler, blackjack ve fahişelerle ps ve daha fazlası

 
bestfx :

Bunu üçüncü gün okuyorum. :=( php'de her şey daha basit, ama burada hiçbir şekilde anlamıyorum.
Açılış fiyatlarını karşılaştırmaktansa emirleri/pozisyonları işaretlemenin daha iyi olduğu konusunda moderatöre katılıyorum. Sihirli sayıya ek olarak yorum kontrolünü de kullanabilirsiniz. Açılış fiyatı yorumlara yazılabilir (örn. "EURUSD, 1.251").