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

 
Vinin :


Tamam, içine biraz mantık koyacağım

Döngü if(NewBar()) koşulundan bağımsız olarak yürütülür


Neden köşeli parantezleri yerleştirmeyi sevmedim NewBAR'a () bağlı olmak için döngüye ihtiyacım yok.

Çalışıyor, ancak aynısını SELLSTOP'ta yaptığım anda işlemler hiç duruyor mu?

 

Sayın Baylar, ben bir acemiyim!

Hayatımdaki ilk Uzman Danışmanımı yazmaya başladım...... ama bitiremiyorum.

Şu anda strateji test cihazında test ediyorum.

O çok basit.

10 saatlik bir mumun açılışında, bu 10 saatlik mumun açılış fiyatından diyelim ki 60 puan uzaklıkta bekleyen bir emir veriyorum.

Bu benim için iyi çalıştı.

Ancak, verildiği andan itibaren bir saat içinde dönüştürülmezse bekleyen siparişin silineceğinden emin olmam gerekiyor.

pazara

İşte kodum.

int başlangıç()
{
çift Fiyat=Sor+60*Puan;
çift SL=Fiyat-30*Puan;
çift TP=Fiyat + 15*Puan;
if(OrdersTotal()==0 && Hour()==10 && Minute()== 00 )
OrderSend("EURUSD",OP_BUYSTOP,0.1,Price,0,SL,TP,"fjdu",123, TimeCurrent ( ) + 3600);

}

Bu kod başarıyla derlenir.Başarılı test yapılır.Test cihazı hata vermez.

Ancak sona erme parametresi çalışmıyor, yani. 1 saat içinde piyasaya dönüştürülmeyen bekleyen emirler - silinmez.

Değeri 3600'den 3600000'e değiştirdim....hala hiçbir şey olmuyor.

Hatamın ne olduğunu söylerseniz çok minnettar olurum.

 
solnce600 :
son kullanma parametresi çalışmıyor

Büyük olasılıkla, komisyoncu desteklemiyor. Emin olmak için şunu yapabilirsiniz:

 int i,ot = OrdersTotal ();

for (i=ot- 1 ;i>= 0 ;i--)
{
   if (! OrderSelect ()) continue ;
   if (OrderMagicNumber()!= 123 ) continue ;
   
   if (OrderType()==OP_BUYSTOP && TimeCurrent ()-OrderOpenTime()> 3600 )
   {
      OrderDelete(OrderTicket());
   }
}
 
solnce600 :

Sayın Baylar, ben bir acemiyim!

Hayatımdaki ilk Uzman Danışmanımı yazmaya başladım...... ama bitiremiyorum.

Şu anda strateji test cihazında test ediyorum.

O çok basit.

10 saatlik bir mumun açılışında, bu 10 saatlik mumun açılış fiyatından diyelim ki 60 puan uzaklıkta bekleyen bir emir veriyorum.

Bu benim için iyi çalıştı.

Ancak, verildiği andan itibaren bir saat içinde dönüştürülmezse bekleyen siparişin silineceğinden emin olmam gerekiyor.

pazara

İşte kodum.

int başlangıç()
{
çift Fiyat=Sor+60*Puan;
çift SL=Fiyat-30*Puan;
çift TP=Fiyat + 15*Puan;
if(OrdersTotal()==0 && Hour()==10 && Minute()== 00 )
OrderSend("EURUSD",OP_BUYSTOP,0.1,Price,0,SL,TP,"fjdu",123, TimeCurrent ( ) + 3600);

}

Bu kod başarıyla derlenir.Başarılı test yapılır.Test cihazı hata vermez.

Ancak sona erme parametresi çalışmıyor, yani. 1 saat içinde piyasaya dönüştürülmeyen bekleyen emirler - silinmez.

Değeri 3600'den 3600000'e değiştirdim....hala hiçbir şey olmuyor.

Hatamın ne olduğunu söylerseniz çok minnettar olurum.

Ve bir saat ve bir dakika boyunca aynı şekilde silme şartı koymanızı engelleyen nedir? DC, sürenizi doldurmayabilir.
 
borilunad :
Ve bir saat ve bir dakika boyunca aynı şekilde silme şartı koymanızı engelleyen nedir? DC, sürenizi doldurmayabilir.


ayrıca :

Büyük olasılıkla, komisyoncu desteklemiyor. Emin olmak için şunu yapabilirsiniz:



Alpari terminalim var, demo hesapta manuel olarak bekleyen bir hesap belirleyip bitiş süresini 1 saat olarak belirledim. Her şey yolundaydı.

Aracı bu seçeneği desteklemiyorsa bir hata görüneceğini okudum....ama hata yok.

Test devam ediyor ...ancak sipariş silinmedi.

 
borilunad :
Ve bir saat ve bir dakika boyunca aynı şekilde silme şartı koymanızı engelleyen nedir? DC, sürenizi doldurmayabilir.

Bir saat ve bir dakikaya ne dersin?

Teşekkür ederim.

 
solnce600 :

Bir saat ve bir dakikaya ne dersin?

Teşekkür ederim.



Sona erme parametresi yerine ne konmalıdır?

 
solnce600 :

Bir saat ve bir dakikaya ne dersin?

Teşekkür ederim.

Tıpkı açtıkları gibi, sadece bir saat sonra 11'de hecelendi! Her şeyi farklı yapıyorum ama özü değiştirmiyor.
 
borilunad :
Tıpkı açtıkları gibi, sadece bir saat sonra 11'de hecelendi! Her şeyi farklı yapıyorum ama özü değiştirmiyor.

Aptallık için özür dilerim, ancak bu parametrede bir şeyi değiştirmem gerekip gerekmediğini hala anlamıyorum.

Gerekirse, sona erme parametresini gerektiği gibi koduma eklerseniz ve tüm satırı yanıtınızın metnine eklerseniz size minnettar olacağım.

Teşekkür ederim.

 
solnce600 :

Aptallık için özür dilerim, ancak bu parametrede bir şeyi değiştirmem gerekip gerekmediğini hala anlamıyorum.

Gerekirse, sona erme parametresini gerektiği gibi koduma eklerseniz ve tüm satırı yanıtınızın metnine eklerseniz size minnettar olacağım.

Teşekkür ederim.



Aşağıdakileri önerebilirim:

if(Saat()==11 && SiparişlerToplam()>0)

{

if( OrderSelect (0,SELECT_BY_POS)==true)

{

if(OrderType()==OP_BUYSTOP)

{

OrderDelete(OrderTicket());

}

}

}

Ve sona erme parametresini kullanmayın. Dezavantajı, alım satım yaparken, pozisyonun kapanması için bilgisayarın internete bağlı ve terminal açıkken çalışması gerektiğidir.