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

 

Ve barmayı kontrol et

 //--------------------------------------------------------------- 5 --
// торговые критерии
if (vverh> 0 )
  {
   Opn_B= true ;
   Cls_S= true ;
   Opn_S= false ;
   Cls_B= false ;
  }
if (vverh> 0 )
  {
   Opn_S= true ;
   Cls_B= true ;
   Opn_B= false ;
   Cls_S= false ;
  }
  
//--------------------------------------------------------------- 6 --
Şartları doğru yazdın mı?
 

Kral! Herkese iyi akşamlar (gece, sabah, gün)!

Lütfen bana sizin için basit bir sorunun cevabını söyleyin.

Hangi fonksiyon emir açılış fiyatını döndürür, ki bu:

- en son kapandı

- stoploss ile kapatıldı

Yardım için teşekkürler.

 
solnce600 :

Kral! Herkese iyi akşamlar (gece, sabah, gün)!

Lütfen bana sizin için basit bir sorunun cevabını söyleyin.

Hangi fonksiyon emir açılış fiyatını döndürür, ki bu:

- en son kapandı

- stoploss ile kapatıldı

Yardım için teşekkürler.



böyle bir işlev yok - burada küçük bir kod yazmanız gerekiyor
 
artmedia70 :

Değişkenlerden yalnızca, test cihazındaki stratejiyi kontrol edersek vazgeçilebilir .

Gerçekte, mantığı yürütmek için gerekli her bir değer, doğru zamanda hesaplanmalıdır, çünkü bu değişkenlerin değerleri, örneğin yeniden başlatırken, kaybetmek çok kolaydır .



Artyom, bir örnek verebilir misin? Sonuçta, bir fonksiyon bir değişkenin yerini bile alabilir. Bir işlevi bir değişkenle değiştiremezsiniz :)

 

güneş600 :


Kral! Herkese iyi akşamlar (gece, sabah, öğleden sonra)!

Lütfen bana sizin için basit bir sorunun cevabını söyleyin.

Hangi fonksiyon emir açılış fiyatını döndürür, ki bu:

- en son kapandı

- stoploss ile kapatıldı

Yardım için teşekkürler.



Öyle bir dal var ki çok ilginç şeyler var.

Bu işlev, durarak son konumu kapatmak için bayrağı döndürür

 

Bahşiş için çok teşekkürler.

Ben sadece bu özelliği kullanıyorum.

Stop by emri kapattıktan sonra piyasa emirlerinin açılış fiyatını kodlamam gerekiyor

son stop-kapalı emrinin açılması.

Son durak kapalı emrinin açık fiyatını bir değişkende saklamaya çalıştım
 if (isCloseLastPosByStop()==True)                                            //если посл.орд. SELL  закрылся по стопу(стоп данного ордера SELL = 295 п.)

double PrStop = (Bid - 0.0295 );                                              // от цены срабатывания СТОП-ЛОССА вычитаем 295 п. 
                                                                             // и запоминаем это значение,(т.е. цену открытия ордера)в переменной  PrStop         
if (Bid == PrStop )                                                          //если цена Bid будет равна значению PrStop
OrderSend ( Symbol (),OP_BUY, 0.1 ,Ask, 1 ,Bid- 2950 * Point ,Bid+ 150 * Point , "jfh" , 123 ); //открыть ордер.

Ancak fiyat PrStop değerine eşit olduğunda sipariş verilmez.

Ben de fiyatın PrStop değerinin altında olması şartıyla sipariş vermeye çalıştım.

Ancak sipariş bir daha verilmedi.

 if (Bid < PrStop ) 

Bana öyle geliyor ki bunun nedeni, bir sonraki siparişin kapanmasına kadar DUR KAYBI İLE DEĞİL olabilir.

isCloseLastPosByStop () HER TICK ÜZERİNDE True döndürür ve PrStop değişkeni alır

HER KENAR ÜZERİNDE YENİ BİR DEĞER.

Kim'in tüm fonksiyonlarını dikkatlice inceledim, ancak isimlerine bakılırsa, sorunumu çözmek için uygun olanları bulamadım.

Bana doğru yolda rehberlik edecek herkese çok minnettar olurum.

 

Lütfen bana söyle! Programlamada ilk adımlarımı atmaya başlıyorum.

İşlev ne kadar hızlı çalışacak? (fonksiyon 2 kez çağrılır)

- kütüphaneden ararsanız

- f dışında açıklandığı zaman. start() doğrudan EA'da

- doğrudan f'de bulunuyorsa. Başlat()

 

solnce600 , Andrey, SL tarafından kapatılan son pozisyon senin elinde! Ve kim, işlevi biraz değiştirerek, onunla ilgili istediğiniz her şeyi bulmanızı engelliyor:

 double GetOOPCloseLastPosByStop( string sy= "" , int op=- 1 , int mn=- 1 ) {
   datetime t; 
   double    ocp, osl, OOP;
   double p = 0 ;
   int     i, j=- 1 , k=OrdersHistoryTotal();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) {
       if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
         if (op< 0 || OrderType()==op) {
           if (t<OrderCloseTime()) {
            t=OrderCloseTime();
            j=i;
//            p = OrderProfit()+OrderCommission()+OrderSwap();
            OOP = OrderOpenPrice();
  } } } } }
   if ( OrderSelect (j, SELECT_BY_POS, MODE_HISTORY)) {
    ocp= NormalizeDouble (OrderClosePrice(), 5 );
    osl= NormalizeDouble (OrderStopLoss(), 5 );
//    if (ocp==osl) return(p);
     if (ocp==osl) return (OOP);
  }
   return ( 0 );
}
Kapanıştan bana kazanç sağlayan iki satır yorumladım ve bu kapalı pozisyonun açılış fiyatını almak için iki satır ekledim. Test etmedim, ancak ihtiyacım olanı değiştirdiğimde nasıl çalıştığını görmeli! Buna bir bak!
 
borilunad :

solnce600 , Andrey, SL tarafından kapatılan son pozisyon senin elinde! Ve kim, işlevi biraz değiştirerek, onunla ilgili istediğiniz her şeyi bulmanızı engelliyor:

Kapanıştan bana kazanç sağlayan iki satır yorumladım ve bu kapalı pozisyonun açılış fiyatını almak için iki satır ekledim. Test etmedim, ancak ihtiyacım olanı değiştirdiğimde nasıl çalıştığını görmeli! Buna bir bak!

Acil yardımınız için çok teşekkürler.

Ayrıca bana bir fikir verirseniz çok minnettar olurum .....

stratejim çok basit

.- Mum başlangıcındaki fiyat (iOpen (Symbol (),0,0) , ters yönde daha kısa bir mesafeden (10 puan) daha büyük bir mesafeye (300 puan) daha hızlı hareket ettiyse (iOpen (Symbol (),0,0))

-Sonra fiyat döner ve ters yöne gittikten sonra, her mumun açılışında mum fiyatında ( iOpen (Sembol (), 0,0) piyasa emirleri açar.

Bu fikri uygulamak için akla gelen ilk şey

1. Her mumun açılış fiyatında, büyük bir stop ve küçük bir kâr ile bir piyasa emri verin.

2. Emir, kârdan ziyade stop ile daha hızlı kapandıysa - stop ile kapatılan emrin açılış fiyatından bir piyasa emri verin.

Bu yöntem, daha sonra piyasa emri vermeniz gereken açılış fiyatlarındaki mumları belirlemenizi sağlar..... Ama bunun için piyasa emirleri vermem gerekiyor.

HER MUM AÇILIŞINDA büyük bir stop ve küçük kârlı siparişler .

Ve gerçek ticarette her mumun açılışında emir vermem gerekmiyor .

aklıma gelen ilk şey

- Demo hesaptaki her mumun açılışında, bir danışmanın ekleneceği grafiğe açık emirler.

- Ve başka bir danışmanın ekleneceği çizelgeye gerçek bir hesapta, yalnızca yukarıdaki koşullara göre siparişleri açın.

Ancak iki hesapta ve iki danışmanda işlem yapmak bence en uygun ve optimal seçenek değil.Bir hesapta ve bir danışmanda işlem yapmak istiyorum.

SORU Her mumun açılışında bunun için piyasa emirleri açmadan bir pozisyon açmak için yukarıdaki koşulları başka nasıl belirleyebilirsiniz.

Teşekkür ederim.

 
solnce600 :

Acil yardımınız için çok teşekkürler.

Ayrıca bana bir fikir verirseniz çok minnettar olurum .....

stratejim çok basit

.- Mum başlangıcındaki fiyat (iOpen (Symbol (),0,0) , ters yönde daha kısa bir mesafeden (10 puan) daha büyük bir mesafeye (300 puan) daha hızlı hareket ettiyse (iOpen (Symbol (),0,0))

-Sonra fiyat döner ve ters yöne gittikten sonra, her mumun açılışında mum fiyatında ( iOpen (Sembol (), 0,0) piyasa emirleri açar.

Bu fikri uygulamak için akla gelen ilk şey

1. Her mumun açılış fiyatında, büyük bir stop ve küçük bir kâr ile bir piyasa emri verin.

2. Emir, kârdan ziyade stop ile daha hızlı kapandıysa - stop ile kapatılan emrin açılış fiyatından bir piyasa emri verin.

Bu yöntem, daha sonra piyasa emri vermeniz gereken açılış fiyatlarındaki mumları belirlemenizi sağlar..... Ama bunun için piyasa emirleri vermem gerekiyor.

HER MUM AÇILIŞINDA büyük bir stop ve küçük kârlı siparişler .

Ve gerçek ticarette her mumun açılışında emir vermem gerekmiyor .

aklına gelen ilk şey

- Demo hesaptaki her mumun açılışında, bir danışmanın ekleneceği grafiğe açık emirler.

- Ve başka bir danışmanın ekleneceği çizelgeye gerçek bir hesapta, yalnızca yukarıdaki koşullara göre siparişleri açın.

Ancak iki hesapta ve iki danışmanda işlem yapmak bence en uygun ve optimal seçenek değil.Bir hesapta ve bir danışmanda işlem yapmak istiyorum.

SORU Her mumun açılışında bunun için piyasa emirleri açmadan bir pozisyon açmak için yukarıdaki koşulları başka nasıl belirleyebilirsiniz.

Teşekkür ederim.

Eh, elbette, sanki tüm bunları gerçekte fark etmişsiniz gibi yığıldınız, ki bundan şüpheliyim! Fikrinizi tam olarak anlamadan, önce mumları koşullarda takip ederek denemenizi öneririm ve bu koşullar sizinkiyle örtüşüyorsa, sıfır mumun açılmasından itibaren istenen mesafelerde gecikmeler ayarlayın ve durmaları ve karları ayarlayın, hemen değiştirin. Ayarladıktan sonra, aynı şekilde kullanarak, Kim'in son verilen siparişin verilerini belirlemek için diğer işlevi! Mantığınızı dikkatli bir şekilde oluşturun, deneyin ve devam edin! İyi şanlar!