"Kendi Takip Eden Durdurma (Trailing Stop) Emrinizi Nasıl Oluşturabilirsiniz?" makalesi için tartışma
Çok faydalı. Teşekkürler.
Steven
Sondaki örnek bir hata ile başarısız olur.
Programcılar, mql5 ile ilgili yardım lütfen!!!
Herhangi bir sınıf olmadan mql4'teki gibi sadece sıradan bir takip fonksiyonu kullanmak mümkün mü? Örneğin, TradeSizeOptimised işlevinin Moving Averages.mq5'te uygulandığı gibi.
Örneklerde, makalelerde, forumda zaten her şeyi aradım - hiçbir şey bulamadım. Zaten tamamen kayboldum.... Belki birisinin hazır bir varyantı vardır, çok minnettar olacağım!!! - Şampiyonaya gerçekten katılmak istiyorum.
Programcılar, mql5 ile ilgili yardım lütfen!!!
Herhangi bir sınıf olmadan mql4'teki gibi sadece sıradan bir takip fonksiyonu kullanmak mümkün mü? Örneğin, TradeSizeOptimised işlevinin Moving Averages.mq5'te uygulandığı gibi.
Örneklerde, makalelerde, forumda zaten her şeyi aradım - hiçbir şey bulamadım. Zaten tamamen kayboldum.... Belki birisinin hazır bir varyantı vardır, çok minnettar olacağım!!! - Şampiyonaya katılmayı gerçekten çok istiyorum.
Buyurun.
int TrailingStop() { if(PositionSelect(Symbol())) // konum seçin { //MqlTradeRequest m_request;// istek yapısını sunucuya bildirmek //MqlTradeResult m_result;// sunucu yanıt yapısını bildirir double Bid = SymbolInfoDouble(Symbol(), SYMBOL_BID); // teklif fiyatını değişkene yaz double Ask = SymbolInfoDouble(Symbol(), SYMBOL_ASK); // satış fiyatı değişkenine yaz double OpenPrice=PositionGetDouble(POSITION_PRICE_OPEN); // pozisyon açılış fiyatını değişkene yaz double PositionSL=PositionGetDouble(POSITION_SL); // kayıp durdurma seviyesini değişkene yaz double PositionTP=PositionGetDouble(POSITION_TP); // kar alma seviyesini değişkene yaz if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY) // pozisyon türünü tanımlayın { if(TrailWhileMinus==true || Bid-OpenPrice>_Point*Trail) // ilk durak transferi ile başabaş noktasına ulaşana kadar trol kullanmayın { if(Bid-PositionSL>Trail*_Point) //zararı durdurun hareket ettirme gerekliliği için temel koşul { //--- yapıya veri yazma request.action = TRADE_ACTION_SLTP; request.symbol = Symbol(); request.sl = NormalizeDouble(Bid-Trail*_Point,_Digits); request.tp = NormalizeDouble(PositionTP,_Digits); //--- return(OrderSend(request,result)); // isteği sunucuya gönder } } } else { if(TrailWhileMinus==true || OpenPrice-Ask>_Point*Trail) // ilk durak transferi ile başabaş noktasına ulaşana kadar trol kullanmayın { if(PositionSL-Ask>Trail*_Point) //zararı durdurun hareket ettirme gerekliliği için temel koşul { //--- yapıya veri yazma request.action = TRADE_ACTION_SLTP; request.symbol = Symbol(); request.sl = NormalizeDouble(Ask+Trail*_Point,_Digits); request.tp = NormalizeDouble(PositionTP,_Digits); //--- return(OrderSend(request,result)); // isteği sunucuya gönder } } } } return(0); }
Buyurun.
Sonucun bir parametre olarak aktarılmasının daha iyi olduğunu varsayıyorum (muhtemelen sebepsiz değil) :)
Aksi takdirde analiz etmenin bir yolu yoktur. Bir şekilde iyi değil...
PS
Ayrıca iki fonksiyon oluşturacağım - TrailingStopBuy ve TrailingStopSell
Sonucun bir parametre olarak aktarılmasının daha iyi olduğunu varsayıyorum (muhtemelen sebepsiz değil) :)
Aksi takdirde analiz etmenin bir yolu yoktur. Bir şekilde iyi değil...
PS
Ayrıca iki fonksiyon oluşturacağım - TrailingStopBuy ve TrailingStopSell.
Adama bir örnek verdim, çünkü beynini zaten sıradan bir sondaki nasıl yazılacağını yaptı ve sonra biraz düşünmesine izin verdim, bu prensipte test cihazında hatasız çalışacaktı ve bu tasarım iyi çalışıyor. gerçek hayatta kontrol etmedi
Buyurun.
sergey1294,
Tekrar teşekkürler, her şey çalışıyor!!!
Küçük bir soru daha var, fonksiyona sihirli sayı ile bir kontrol nasıl eklenir? Böyle bir kontrol eklemeye çalışıyorum:
if (OrderGetInteger(ORDER_MAGIC)==EA_Magic) { ..... }..... ama bir şey tüm ticareti bozuyor.....
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Yeni makale Kendi Takip Eden Durdurma (Trailing Stop) Emrinizi Nasıl Oluşturabilirsiniz? yayınlandı:
Yatırımcının temel kuralı - kârın büyümesine izin verin, zararları kesin! Bu makale, bu kuralın izlenmesine izin veren temel tekniklerden birini, pozisyon kârını artırdıktan sonra koruyucu durdurma seviyesini (Zararı Durdur seviyesi), yani Takip Eden Durdurma (Trailing Stop) seviyesini hareket ettirmeyi ele almaktadır. SAR ve NRTR göstergelerinde takip eden durdurma için bir sınıf oluşturmaya yönelik adım adım prosedürü bulacaksınız. Herkes bu takip eden durdurmayı kendi uzmanlarına ekleyebilecek veya hesaplarındaki pozisyonları kontrol etmek için bağımsız olarak kullanabilecek.
Yazar: Dmitry Fedoseev