[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 439

 
peshihod :


Verilen (bekleyen) bir sipariş ile açık bir siparişin farklı siparişler olduğunu anlıyorum. Ve bekleyen bir sipariş açılırsa, görev orijinal siparişe, açık siparişe indirgenir. Eğer doğru anladıysam, zor.

Görevler nelerdir? Yapması daha kolay olabilir mi?

Verilen (bekleyen) bir sipariş ile açık bir siparişin farklı siparişler olduğunu anlıyorum. -------------- Evet (belki) Belki değil. Ana şey, betiğin, bu bekleyen sipariş açıldığında değil, verildiğinde değil, tam olarak açıldığında çalışmasıdır.

Sevgili Profesyoneller, uzmanlar ve sadece iyi insanlar senaryoyu bitirmeme yardım edin veya her şeyin çalışması için neyin değiştirilmesi gerektiğini söyleyin.


burada neredeyse hazır bir seçenek var ama bekleyen bir emir açıldığında çalışmıyor (Bekleyen bir emir vardı, fiyat ona ulaştı, açıldı ve robotun da tepki vermesi gerekiyor). Ve bu tür emirler üzerinde çalışmak için bir şeye ihtiyacınız var.

Srtano, şimdi test ediyorum, her şey çalışıyor. 1. test sırasında neden çalışmadı hmm... Belki bilgisayar yeniden başlatıldığı için... Ama planlanan yeniden başlatmanın ardından robot gülümsedi (çalıştı).

Bana bir detay daha söyle. Bu komut dosyası geçmiş çizelgelerde çalışmayacak ve neden?

//+------------------------------------------------------------------+
//| Order_act.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright ""
#property link ""
int Order_array[ 200 ];
int Total= 0 ;
int j,pos,count,order_tick,type;
bool found;

//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
// создаем список ордеров (туда входят и открытые, и отложенные)
Total= OrdersTotal ();

for (pos= 0 ;pos<Total;pos++)
{
if ( OrderSelect (pos,SELECT_BY_POS,MODE_TRADES)==true)
{ Order_array[pos]=OrderTicket();}
}

// проверочная часть скрипта
int i= 0 ;
while ( ! IsStopped () )
{
count= OrdersTotal ();
for (pos= 0 ;pos<count;pos++)
{
if ( OrderSelect (pos,SELECT_BY_POS,MODE_TRADES)==true)
{
found=false;
order_tick=OrderTicket();

for (j= 0 ;j<Total;j++)
{

if (order_tick==Order_array[j]) {found=true;}
}
if (!found)
{
type=OrderType();

if ((type==OP_BUY) || (type==OP_SELL))
{
Total++; // в случае,если есть новый открытый
Order_array[Total- 1 ]=order_tick; //ордер - добавляем в список

Alert ( "Новый открытый ордер" ); // и делаем с ним что хотим

}
}
}
// если планируется, что скрипт будет работать долго или открываемся часто
// удаляем из списка все закрытые ордера чтобы не было переполнения.
// А чтобы работало быстрее, количество записей можно уменьшить (лишь бы не превысило
// максимально возможного числа открытых и отложенных поз.
if (Total> 190 )
{
for (j= 0 ;j<Total;j++)
{
if ( OrderSelect (Order_array[j],SELECT_BY_TICKET)==true)
{
if (OrderCloseTime()!= 0 )
{
Alert ( "нашли закрытый в списке и удалили" );
for (i=j+ 1 ;i<Total;i++) {Order_array[j]=Order_array[i];}
Total--;
}
}
}
}
Sleep ( 100 );
}
}
//----
return ( 0 );
}
//+------------------------------------------------------------------+

Его написал RAVen_ Спасибо этому профессионалу .

 

Sevgili profesyoneller,

Bir danışmana, başka bir danışmanın aynı döviz çifti üzerinde çalıştığı başka bir pencereden bilgi okuması nasıl öğretilir?

 
demlin :

Sevgili profesyoneller,

Bir danışmana, başka bir danışmanın aynı döviz çifti üzerinde çalıştığı başka bir pencereden bilgi okuması nasıl öğretilir?


Diğer tarafa gitmeye çalışın, yani uzmanlar arasında değer alışverişi yapmak için global değişkenler kullanılıyor... Kendim kullanmadım, detaylarını bilmiyorum, arayarak ayrıca sıralarına bakın. kullanmak ...
 
demlin :

Sevgili profesyoneller,

Bir danışmana, başka bir danışmanın aynı döviz çifti üzerinde çalıştığı başka bir pencereden bilgi okuması nasıl öğretilir?

Böyle bir kütüphane de var.
 
semiromid :

Verilen (bekleyen) bir sipariş ile açık bir siparişin farklı siparişler olduğunu anlıyorum. -------------- Evet (belki) Belki değil. Ana şey, betiğin, bu bekleyen sipariş açıldığında değil, verildiğinde değil, tam olarak açıldığında çalışmasıdır.


Bu, bir ekskavatörle birkaç ağaç kazmaktır! Emirleri bölmenin amacı nedir? Fiyat hepsi için aynıdır. Siparişler her zaman tek bir en iyi seçeneğe göre toplu olarak birlikte işlenir.

Onlar. Kimin sipariş verdiği önemli değil, önemli olan her bir siparişin hangi parametrelere sahip olduğu. Boş bir aranıyor.

Görev1 ve görev2'yi tamamlamanız gerektiğinden, her bir siparişi, gerekli görevin tamamlanıp tamamlanmadığını kontrol etmeniz gerekir. Ve bu siparişin şimdi mi yoksa biraz daha erken mi açıldığını veya açılmak üzere olup olmadığını kontrol etmeye gerek yok.

 
peshihod :


Bu, bir ekskavatörle birkaç ağaç kazmaktır! Emirleri bölmenin amacı nedir? Fiyat hepsi için aynıdır. Siparişler her zaman tek bir en iyi seçeneğe göre toplu olarak birlikte işlenir.

Onlar. Kimin sipariş verdiği önemli değil, önemli olan her bir siparişin hangi parametrelere sahip olduğu. Boş bir aranıyor.

Görev1 ve görev2'yi tamamlamanız gerektiğinden, her bir siparişi, gerekli görevin tamamlanıp tamamlanmadığını kontrol etmeniz gerekir. Ve bu siparişin şimdi mi yoksa biraz daha erken mi açıldığını veya açılmak üzere olup olmadığını kontrol etmeye gerek yok.

Bu, bir ekskavatörle birkaç ağaç kazmaktır! ----------- Daha kolay seçenek nedir?

Emirleri bölmenin amacı nedir? -------------- Alış ve satış emirlerini ayırmam gerekiyor, yoksa emirlerin işlenmesi hakkında bir girdiniz mi var? O zaman belki bir anlamı yoktur. En azından komut dosyasını nasıl daha basit hale getireceğinize dair ipucu?

Srtano, şimdi test ediyorum, her şey çalışıyor. 1. test sırasında neden çalışmadı hmm... Belki bilgisayar yeniden başlatıldığı için... Ama planlanan yeniden başlatmanın ardından robot gülümsedi (çalıştı). O zaman neden işe yaramadığına dair seçenekler nelerdir? Sadece gelecekte böyle bir şey olacak.

 

Hepinize iyi günler.

Böyle bir soru vardı. Bir XXXXXXX göstergesi olduğunu varsayalım (adın önemi yok)

Ne yazık ki, gösterge için kaynak kodu yok. Buna göre, çalışmasının neye dayandığı çok net değil)

XXXXXXXX indikatör sinyallerine dayalı olarak satış ve alış emirlerini açmak için Expert Advisor yazılabilir mi?

İşte ekranda bir örnek

 
FreeSerfer :

Hepinize iyi günler.

Böyle bir soru vardı. Bir XXXXXXX göstergesi olduğunu varsayalım (adın önemi yok)

Ne yazık ki, gösterge için kaynak kodu yok. Buna göre, çalışmasının neye dayandığı çok net değil)

XXXXXXXX indikatör sinyallerine dayalı olarak satış ve alış emirlerini açmak için Expert Advisor yazılabilir mi?

İşte ekranda bir örnek


Evet mümkün. Hatta tahmin ediyorum ne tür bir hindi... :-)))
 

Söylemek . Bu robotun 20 saniyede net satın almasını nasıl sağlayabilirim?

Ve böyle değil, 20 saniye geçtiğinde, fiyat 20'ye daha mal oluyor ve sonunda 40 saniye sonra çalıştığı ortaya çıkıyor.

int başlangıç()
{

OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-15*Puan,Bid+15*Puan, "Sipariş #", 0); // satın alma emri açma
uyku (20000); // 20 saniyelik zamanlayıcı

dönüş(0);
}

 
Kenelerle değil, zamanla çalışmak için döngülü bir komut dosyası gerekir.
Neden: