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

 
Xaoss1990 :

Yardım edin lütfen... Birkaç gündür uğraşıyorum....

Ve kod nerede? O zaman nasıl yardım edilir?
 
Roger :
Ve kod nerede? O zaman nasıl yardım edilir?

İşte kodun anlaşma yaptığımız kısmı:

//+------------------------------------------- --------------------+
//+--------------------- SATIN ALMA SÖZLEŞMESİ YAPILMASI--------------------+
//+------------------------------------------- --------------------+
if (POINT_BUY_M15 >= Strgh_UP_M15 && POINT_BUY_H1 >= Strgh_UP_H1 && POINT_BUY_H4 >= Strgh_UP_H4 && OrdersTotal() == 0)
{
bilet = OrderSend(Symbol(), OP_BUY, lot, Ask, 5, 0, 0, "Siparişim #", 111, 0, Mavi);
if(bilet < 0)
{
Print("Sipariş verilmedi. Hata - #", GetLastError() );
dönüş(0);
}
}

//+------------------------------------------- --------------------+
//+------------------------- SPOP KAYBI BELİRLE-------------------------- ------+
//+------------------------------------------- --------------------+
OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
Magic = OrderMagicNumber();

if (POINT_BUY_M15 < Strgh_UP_M15 || POINT_BUY_H1 < Strgh_UP_H1 || POINT_BUY_H4 < Strgh_UP_H4 && OrdersTotal() == 1 && Magic == 111 && OrderType( ) == 0)
{
yakın = 1;
}
if (kapat == 1)
{
if (OrderClose(OrderTicket(), lotlar, Bid, 5, Yellow) == true) Alert("OrderTicket() = ", OrderTicket(), ", lotlar = ", lotlar, ", Bid = ", Bid);
else Print("Durdur ayarlanmadı");

}

//+------------------------------------------- --------------------+
//+--------------------- SATIŞ ANLAŞMASI YAPIN ---------------------+
//+------------------------------------------- --------------------+
if (POINT_SELL_M15 >= Strgh_DOWN_M15 && POINT_SELL_H1 >= Strgh_DOWN_H1 && POINT_SELL_H4 >= Strgh_DOWN_H4 && OrdersTotal() == 0)
{
bilet = OrderSend(Symbol(), OP_SELL, lot, Bid, 5, 0, 0, "Siparişim #", 222, 0, Yeşil);
if(bilet < 0)
{
Print("Sipariş verilmedi. Hata - #",GetLastError());
dönüş(0);
}
}
//------------------------------------------------ Aralarından seçim yapabileceğiniz yazdırma seçenekleri ------------------------------------------- ----- -
//Print("Sat M15 = ", POINT_SELL_M15, ", Sat H1 = ", POINT_SELL_H1, ", Sat H4 = ", POINT_SELL_H4, ", sipariş numarası = ", bilet);
//------------------------------------------------ Aralarından seçim yapabileceğiniz yazdırma seçenekleri ------------------------------------------- ----- -

//+------------------------------------------- --------------------+
//+------------------------- SPOP KAYBI BELİRLE-------------------------- ------+
//+------------------------------------------- --------------------+
OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
Magic = OrderMagicNumber();

if (POINT_SELL_M15 < Strgh_DOWN_M15 || POINT_SELL_H1 < Strgh_DOWN_H1 || POINT_SELL_H4 < Strgh_DOWN_H4 && OrdersTotal() == 1 && Magic == 222 && OrderType( ) == 1)
{
yakın = 1;
}
if (kapat == 1)
{
OrderClose(OrderTicket(), çok, Sor, 5, Kırmızı);
}

 
Bu, kodun bir hata olabilecek kısmı değildir.
 
Roger :
Bu, kodun bir hata olabilecek kısmı değildir.

Um.... ve kodun geri kalanı anlaşma yapmak için değerlerin ( POINT_BUY_M15 , POINT_BUY_H, POINT_BUY_H4, POINT_SELL_M15, POINT_SELL_H, POINT_SELL_H4 ) hesaplanmasıdır, doğru çalışıyor.. Kontrol ettim... orada her şey basit. ...

 
Hata burada olsaydı, günlükler "Durdur ayarlanmadı" yazardı, ama bu değil.
 
Lütfen bana söyle. Belirli bir koşulda bir sipariş açıldı ve bir trol üzerinde kapatıldı. Açılış koşulu doğruysa, bu mumda artık açık olmayan bir pozisyon nasıl yapılır.
 

Koşul, init işlevinde kontrol edilir:

...
extern int proc_zahlest= 50 ;

int init() 
{
if (proc_zahlest> 100 )
{
Alert ( "Параметр proc_zahlest д.б. <100% !!!" );
}
return ( 0 );
}

proc_zahlest > 100 ise gösterge yürütmesi nasıl durdurulur (başlatma işlevinin yürütülmesi engellenir)

 
prom18 :
Lütfen bana söyle. Belirli bir koşulda bir sipariş açıldı ve bir trol üzerinde kapatıldı. Açılış koşulu doğruysa, bu mumda artık açık olmayan bir pozisyon nasıl yapılır.


Sadece bir sipariş açılabilirse, o zaman kolaydır

start()
{
static int newbar;
if (newbar==Time[ 0 ]) return ( 0 );
if ( OrdersTotal ()> 0 )newbar=Time[ 0 ];
...
 
Roger :


Sadece bir sipariş açılabilirse, o zaman kolaydır

Lütfen yazılanların mantığını kelimelerle açıklayın.
 
prom18 :
Lütfen yazılanların mantığını kelimelerle açıklayın.

Bir emir açıldığında, newbar değişkeni mevcut çubuğun açılış saatine ayarlanır. Yeni bir bara kadar bir sonraki tiklerde, danışmanın çalışması engellenecektir. Henüz sipariş kapatılmamışsa işlem tekrarlanır. Ve böylece sipariş kapanana kadar. Ardından, bir sonraki çubukta danışman yeni keşifler için hazırdır.