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

 
FOReignEXchange :


Kim severse. Herkesin el yazısı farklıdır. Belki her şeye sahipsin, ama bana beceriksiz geliyor.

Bunu yapmazdım.

İlk olarak, orada bir değişken bildirmenin neden gerekli olduğunu ve bunun anlamının ne olduğunu tam olarak anlamıyorum, ayrıca anlamıyorum.

İkinci olarak, PriceBuy = Sor satırı; OrderSend işlevinden hemen sonra bulunur. Ve anladığım kadarıyla bu fonksiyonun çalışması biter bitmez hesaplamalar hemen bir sonraki satıra aktarılıyor. Satış fiyatının değişebileceğini sanmıyorum. Her şeyi olabildiğince basit yazmaya çalışıyorum, programın normal çalışmasına müdahale etmiyorsa karakter sayısını azaltıyorum. Tıpkı senin yaptığın gibi bir değer atayabilirsin, burada bir problem görmüyorum. Aklına ilk ve basit şeyin geldiğini yazdı.

Bir keresinde bir Pipser yazdım ve sayılacak minimum kârın 5 puan olduğu bir yarışmaya katıldım. Danışmanda TP=5, SL=10 ayarladım, danışmanı çizelgeye attım ve yürüyüşe çıktım. Akşam eve döndüm, terminale baktım ve hayal kırıklığına uğradım. Pipser'ım işlemlerin çoğunu artı olarak kapattı, ancak bazılarının karı 4 puan ve hatta 3'tü ve ihtiyacım olan 5 değil. Bu arada, SL bazen 10 değil, 11 ya da 12 puandı...

Niye ya? Cevabı bildiğine eminim! :D

İşte Alış ve Alış fiyatlarını emir açılış fiyatları olarak saymayı bıraktığım gerçek bir hayat durumu. Sizin için 1-2 puan ise, bu şart değil, o zaman tamam. Bu küçük şeyler benim için önemli...

 
MaxZ :

Niye ya? Cevabı bildiğine eminim! :D

Değil. Önce yayılmanın hesaba katılmamasından kaynaklandığını düşündüm.

Karın 6-7 puan olduğu işlemler oldu mu?

 
FOReignEXchange :
Değil. Önce yayılmanın hesaba katılmamasından kaynaklandığını düşündüm.

Kahretsin... Kendimden alıntı yapıyorum:

Maksimum Z :

Üçüncüsü: Eğer EmirGönder işlem fonksiyonunda Kayma belirtilmişse ve Alış emri açmak istiyorsak, emir tarafından verilen bir işlem emrinin gerçekleşmesi belirli bir zaman alacağı için emrin tam olarak Alış fiyatından açılması gerekli değildir. OrderSend fonksiyonu ve fiyat bu değerden uzaklaşabilir.

TP ve SL'yi hangi fiyat değerine bağlıyoruz? Sormak için... Fiyat değişti, ancak TP ve SL seviyeleri hiçbir yere taşınmadı.

 
MaxZ :

TP ve SL'yi hangi fiyat değerine bağlıyoruz? Sormak için... Fiyat değişti, ancak TP ve SL seviyeleri hiçbir yere taşınmadı.

Yazımımın kesinlikle doğru olduğuna kefil olamam. Ama bunu her zaman ihtiyacım olduğunda yapıyorum. Yanlış bir şey olduğunu fark etmedi.

5 puanın altında kar elde ettiğiniz durumda ben de bir şey diyemiyorum çünkü kodu görmedim.

 

Öyleydi:

 if (Opn_B)
{
   Alert ( "Попытка открыть ордер Buy..." );
   RefreshRates ();
   SL = Ask-StopLoss* Point ;
   TP = Ask+TakeProfit* Point ;
   Ticket = OrderSend (Symb, OP_BUY , Lots, Ask, Slippage, SL, TP, NULL , MAGIC, 0 , Blue );
   if (Ticket > 0 )
   {
       Alert ( "Открыт ордер Buy " , Ticket, "." );
      Opn_B = False;
   }
   else
       Alert ( "Ошибка: " , GetLastError ());
}

Dönüştü:

 if (Opn_B)
{
   Alert ( "Попытка открыть ордер Buy..." );
   RefreshRates ();
   SL = Ask-StopLoss* Point ;
   TP = Ask+TakeProfit* Point ;
   Ticket = OrderSend (Symb, OP_BUY , Lots, Ask, Slippage, SL, TP, NULL , MAGIC, 0 , Blue );
   if (Ticket > 0 )
   {
       if ( OrderSelect (Ticket, SELECT_BY_TICKET, MODE_TRADES))
       if ( OrderCloseTime () == 0 )
      {
         Alert ( "Открыт ордер Buy " , Ticket, "." );
         Opn_B = False;
         
         if ( NormalizeDouble ( OrderOpenPrice ()- OrderStopLoss (), Digits ) != NormalizeDouble (StopLoss* Point , Digits ))
         {
            SL = OrderOpenPrice ()-StopLoss* Point ;
            TP = OrderOpenPrice ()+TakeProfit* Point ;
            
             Alert ( "Попытка модифицировать ордер Buy " , Ticket, "..." );
             if ( OrderModify (Ticket, OrderOpenPrice (), SL, TP, 0 , Blue ))
               Alert ( "Ордер Buy " , Ticket, " модифицирован." );
             else
               Alert ( "Ошибка: " , GetLastError ());
         }
      }
       else
         Alert ( "Да ну нафиг!?" );
   }
   else
       Alert ( "Ошибка: " , GetLastError ());
}

Prensip şudur. Ama aslında biraz daha karmaşık...

kaç satır?? Gerçek? :)))

 
MaxZ :

Öyleydi:

Dönüştü:

Prensip şudur. Ama aslında biraz daha karmaşık...

kaç satır?? Gerçek? :)))


??? anlamadım İlk örnekte SL ve TP nerede?
 
FOReignEXchange :

??? anlamadım İlk örnekte SL ve TP nerede?

Ben sadece prensibi gösterdim. TAMAM. Katma.

Maksimum Z :

Prensip şudur. Ama aslında biraz daha karmaşık...

Eğer emir belirtilen fiyattan açılmazsa, emir değiştirilirken bir hata meydana gelebilir ve aynı komisyona rastlarız... Bu nedenle, aslında, olumlu bir Bilet ile emri birden fazla kez değiştirmeye çalışıyoruz. ... Sadece kodun tamamını kopyalamak istemiyoruz. O hantal. İlke ortaya konmuştur.
 
Ah, anlıyorum. SL ve TP , OrderSend işlevinden önce gelir. Belkide sorun buydu?
 
FOReignEXchange :
Ah, anlıyorum. SL ve TP, OrderSend işlevinden önce gelir. Belkide sorun buydu?
Bununla ilgili sorun ne olabilir? SL ve TP hesaplanırken fiyatın değişmesi için zaman olacak mı? ;)))
 
MaxZ :
Bununla ilgili sorun ne olabilir? SL ve TP hesaplanırken fiyatın değişmesi için zaman olacak mı? ;)))

OrderSend işlevi yürütülürken fiyatın değişebileceğini söyledim. Bu nedenle, zaten değiştikten sonra atamak gerekir.
Neden: