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

 

Mevcut fiyatı veya hareketli ortalamayı bir trend çizgisiyle nasıl doğru bir şekilde karşılaştıracağımı söyler misiniz?

Şimdiden teşekkür ederim.

     double maH_fast= iMA ( NULL ,fast_maH_timeframe,fast_maH_period, 0 ,fast_maH_method,fast_maH_price, 0 );

     if ( ObjectFind ( "Tr_S1" )==- 1 )
     {
      Create_Tr_S( "Tr_S1" , White ,timf2s,TF2S,timf1s,TF1S);
     }

     if (maH_fast> "Tr_S1" )
     {...}
 
ikatsko :

UZMAN ÇALIŞMASI SIRASINDA KARLI UZUN POZİSYONLARIN SAYISI İLE KARLI KISA Pozisyonların SAYISI AYRI NASIL SAYILIR?

Strateji aşağıdaki gibi olmalıdır: Uzman Danışmanın başlangıcından bu yana (veya daha iyisi, hesabın tüm geçmişi için) kârlı uzun pozisyonların sayısı kısa olanlardan fazlaysa, o zaman sadece açık uzun pozisyonlara izin verilir. Ve tam tersi.

Danışman tarafından kapatılırsa belirtilen işlemlerin nasıl hesaplanacağı açıktır: kapalı - sayılır. Ancak pozisyon TP veya SL tarafından kapatılırsa, o zaman ...?

Belki birinin hazır bir fonksiyon kodu vardır?


 int ProfitableOrdersOfLongs(){
   int i,Orders= 0 ; 
   for (i= 0 ;i< OrdersHistoryTotal ();i++){
       if (! OrderSelect (i,SELECT_BY_POS,MODE_HISTORY)) continue ;
       if ( OrderSymbol ()!= Symbol ()) continue ;
       if ( OrderMagicNumber ()!=Magic) continue ;
       if ( OrderType ()== 0 ) if ( OrderProfit ()> 0 ) Orders++;              
    }  
return (Orders);} 
//====================================================================================================== 
int ProfitableOrdersOfShorts(){
   int i,Orders= 0 ; 
   for (i= 0 ;i< OrdersHistoryTotal ();i++){
       if (! OrderSelect (i,SELECT_BY_POS,MODE_HISTORY)) continue ;
       if ( OrderSymbol ()!= Symbol ()) continue ;
       if ( OrderMagicNumber ()!=Magic) continue ;
       if ( OrderType ()= 1 ) if ( OrderProfit ()> 0 ) Orders++;              
    }  
return (Orders);} 
 
nemo811 :

Mevcut fiyatı veya hareketli ortalamayı bir trend çizgisiyle nasıl doğru bir şekilde karşılaştıracağımı söyler misiniz?

Şimdiden teşekkür ederim.

Bir trend çizgisinin, zaman-fiyat koordinatlarıyla bir başlangıç noktası ve zaman-fiyat koordinatlarıyla bir bitiş noktası vardır.

Aynı koordinatlara sahip düz bir çizginin denklemini kullanarak, oluşturulan segmentin bu iki koordinatı arasındaki herhangi bir noktada fiyat seviyesini bulabilir ve Mashka'nın fiyat seviyelerini ve istenen çubuğun bu çizgi ile kesişme noktalarını karşılaştırabilirsiniz. ..

Okuyabilirsiniz - benzer bir örneğin ayrıntılı bir açıklaması var.

 
Roman. :

Son kapatılanı alın, OrderCloseTime() kullanarak kapanış saatini bir önceki kapanan ile karşılaştırın, eğer aynıysa, daha sonra önceki kapatılan siparişinizin kapanış saati ile karşılaştırın... bunun gibi bir şey, elbette, tüm bunlar bir döngü içindedir - son kapatılandan birinciye, sırayla gidin ve siparişlerin kapanış zamanlarını karşılaştırın... devamı - önceden bildiğiniz , aynı anda kapandıkları son siparişlerin kapanış zamanlarını yazdırın (göre Size göre), diyelim ki üç sipariş, sizin anlayışınızla “aynı anda”, yani farklı olması mümkün. anladığım kadarıyla, siparişleri kapatmak için - her durumda, sıra kapanır, yani. gerçekte, örneğin, aynı anda üç siparişin kapanış zamanı aynı olamaz - Print() kullanarak kendiniz yazdırırsınız ve üç EŞ ZAMANLI siparişinizin değerlerine bakarsınız - onların OrderCloseTime( ) karakteristik, yani Aynı anda kapatıldığı düşünüldüğünde, birkaç emrin kapanış süresinin küçük bir miktar sapması olan EŞ ZAMANLI kapatma kavramının tanıtılması gerekebilir. Buradan zaten ve "dans et" - kendini dene, bak.

teşekkürler işe yaradı ama şimdi çoklu sipariş açılıyor

bunu beğendim

 OrderSelect ( OrdersHistoryTotal ()- 1 , SELECT_BY_POS, MODE_HISTORY); //выбрать последний ордер 
tik= OrderCloseTime ();
for ( int l= OrdersHistoryTotal (); l>= 0 ; l--) 
{
OrderSelect (l, SELECT_BY_POS, MODE_HISTORY);
if ( OrderType ()==OP_BUY||OP_SELL)
 {
   if ( OrderMagicNumber ()== 1 )
   {
   if ( OrderProfit ()< 0 )
    {
     if ( OrderClosePrice ()!= OrderStopLoss ())
     {
     if (tik<= OrderCloseTime ())
     {
 
vik-777 :

teşekkürler işe yaradı ama şimdi çoklu sipariş açılıyor

bunu beğendim

sorun çözüldü hepinize teşekkürler

 OrderSelect ( OrdersHistoryTotal ()- 1 , SELECT_BY_POS, MODE_HISTORY); //выбрать последний ордер 
tik= OrderCloseTime ();
for ( int l= OrdersHistoryTotal (); l>= 0 ; l--) 
{
OrderSelect (l, SELECT_BY_POS, MODE_HISTORY);
if ( OrderType ()==OP_BUY||OP_SELL)
 {
   if ( OrderMagicNumber ()== 1 )
   {
   if ( OrderProfit ()< 0 )
    {
     if ( OrderClosePrice ()!= OrderStopLoss ())
     {
     if (tik<= OrderCloseTime ())
     {
     a = OrdersHistoryTotal ();
     if (a>w)
     {
     if (sarik> 0 )
      {   
       OrderSend ( Symbol (),OP_BUY,Lot1, NormalizeDouble (Ask, 4 ), 1 ,Ask - SL1* Point ,Ask + 10 * Point , 0 , 2 );
      w++;
      }
 
nemo811 :

Mevcut fiyatı veya hareketli ortalamayı bir trend çizgisiyle nasıl doğru bir şekilde karşılaştıracağımı söyler misiniz?

1. if(maH_fast>"Tr_S1") {...} -- hata: maH_fast gerçek bir sayıdır, "Tr_S1" bir dize türü değeridir;
2. double ObjectGetValueByShift(dize adı, int shift)
İşlev, belirtilen çubuk için fiyat değerini hesaplar ve döndürür (geçerli çubuğa göre ofset). Fiyat değeri, birinci ve ikinci koordinatlar için doğrusal bir denklem kullanılarak hesaplanır. Trend çizgileri için kullanılır.
Seçenekler:
isim - Nesnenin adı.
shift - Çubuk numarası.
Örnek: double fiyat=ObjectGetValueByShift("MyTrendLine#123", 11);
 
Merhaba! Diyelim ki iHighest ve iLowest kullanarak belirli bir süre için maksimum yüksek/düşük değeri olan çubuk sayısını öğrenebilirsiniz, ancak belirli sayıda çubuk için st Dev göstergesinin maksimum değerini nasıl bulabilirsiniz? ?
 
double maxdev,mindev= 1 ;
for ( int i= 0 ;i<counbar;i> 0 )
{
double val= iStdDev ( NULL , 0 , 10 , 0 , MODE_EMA , PRICE_CLOSE ,i);
if (mindev>val)mindev=val;
if (maxdev<val)maxdev=val;
}
Print ( "maxdev - " ,maxdev, " mindev - " ,mindev);
Böyle bir yerde.
 
7sintez :

Her şeye baktı... Her şeyi yaptı... Pozisyon açmıyor, o kadar! Düzenli olarak kapanıyor ama hiçbir şekilde açılmıyor ... Ne yapmalı - Asla bilemeyeceğim! Programda bir söve bulabilen var mı?




Beş dakikalık bir EURUSD'de, siparişleri düzenli olarak açar ve kapatır. Değişiklikle ilgili küçük sorunlar, genellikle aynı değerlerle değişiklik yapmaya çalışır, bu nedenle sık sık hatalar olur.
 

Herkese selam. Yardım edin, lütfen, yeni başlayanlar için:

sorunun özü

1) dönem 1 gün.

2) açık bir OrderSend(...) var. Ona SL ve TP. Ancak stop ve zarar için ek bir koşul olarak, emrin açıldığı andan itibaren en fazla 18 saat sürdüğünü ve ardından cari fiyattan kapandığını belirtmeniz gerekir.

yani, 3 koşuldan biri karşılanmalıdır:

1. durdurma kaybı tetiklenir

veya

2. kar al tetiklenir

veya

3. çünkü ne zararı durdur ne de kârı al, pozisyon açıldıktan 18 saat sonra o andaki cari fiyattan kapatılır.

İşte bu geçici durumu nasıl ayarlayacağınız, ha???


Soru 2:

(1 günlük süre):

- Geçerli çubuğun KAPATMA'sı önceki C'den büyük ve önceki C'den daha büyük ve önceki C de önceki C'den daha büyük.


Sert vurma lütfen. Ondan önce Rumus'a oturdum ve şimdi yeniden inşa ediyorum ...