Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1250

 
Youri Lazurenko :

Teşekkür ederim. Mql5'te bu tür labirentler inşa edilmedi. Doğrudan hedefe gitmek yerine, bir sürü dal, çıkmaz sokak ve engelden bazı dolambaçlı yollardan geçmeniz gerekir. Dil için dil.

MQL4'te pozisyonun büyüsünü de siz belirlersiniz.

Burada SB'den alışveriş imkanını kullanmaya karar veriyorsunuz. Ve bu, onu oluşturup başlattığınızda, parametrelerini ayarlamanız gerektiği anlamına gelir. Ve sonra ticaret işlevselliği için onunla iletişime geçin. Bu tür birçok nesne olabilir ve her biri için kendi parametrelerinizi belirlersiniz. Ve sonra - her belirli nesne için ayarlanmış ve TS'ye bağlı olarak farklı zamanlarda gerekli olan bu semboller ve büyüler için alım satım emirlerini yönetmek için istenen nesneye bakın.

Her şey basit.

 
Merhaba Artyom Trishkin! 2020.09.14_01:14 GMT+3. Standart bir Hareketli Ortalama Uzman Danışmanı aldım ve bir ticaret açmak ve bir ticareti kapatmak için iki koşulu değiştirdim. Ancak strateji test edicide , danışmanın bir anlaşmayı açmak ve kapatmak için yalnızca ikinci koşulu yerine getirdiği ve ilk koşulu göz ardı ettiği görülebilir. Danışman zaten çok basit, karmaşık danışmanlar her şeyin kendileri için çalıştığını nasıl yazıyor? Anlaşmaları açmak ve kapatmak için en az iki koşul nasıl yapılır? Ancak anlaşmaları açmak için daha fazla koşul olabilir. Bu soruların cevabını biliyor musunuz? Söylemek. EA dosyasını ekliyorum. 01:26 GMT+3.
Dosyalar:
 
Artyom Trishkin :

MQL4'te pozisyonun büyüsünü de siz belirlersiniz.

Burada SB'den alışveriş imkanını kullanmaya karar veriyorsunuz. Ve bu, onu oluşturup başlattığınızda, parametrelerini ayarlamanız gerektiği anlamına gelir. Ve sonra ticaret işlevselliği için onunla iletişime geçin. Bu tür birçok nesne olabilir ve her biri için kendi parametrelerinizi belirlersiniz. Ve sonra - her belirli nesne için ayarlanmış ve TS'ye bağlı olarak farklı zamanlarda gerekli olan bu semboller ve büyüler için alım satım emirlerini yönetmek için istenen nesneye bakın.

Her şey basit.

Merhaba. Cevap için teşekkürler. Ben bakış açımı ifade edeceğim. MQL4'te bir sipariş açarken sihir de dahil olmak üzere parametrelerini belirtiriz. #include <Trade\OrderInfo.mqh> içinde, sihir dışında her şey belirtilir. Örneğin - CTrade::BuyLimit(const double volume,const double fiyat,const string symbol=NULL,const double sl=0.0,const double tp=0.0,const ENUM_ORDER_TYPE_TIME type_time=ORDER_TIME_GTC,const tarihsaat süre sonu=0,const string yorum= " "). Bence bu bir iyileştirme değil ve başka bir sihirli parametre ekleyerek düzeltilmesi gerekiyor. Veya #include <Trade\ HistoryOrderInfo.mqh > emrin aldığı kâr (kar/zarar) dışında her şeyi içerir. Bu, siparişle ilgili önemli bir bilgidir, ancak değildir. Daha. Son kapatılan siparişin karını bulmanız gerekir. Bilgileri Comment() içinde görüntüleyeceğiz. Ve ne göreceğiz. Açık emir (pozisyon) yokken, son emrin karı yorumda görüntülenir. Yorumda bir emir (pozisyon) açılır açılmaz emir kapanana kadar 0 alırız. Onlar. sipariş hala piyasada ama aynı zamanda tarihte aynı anda iki şekilde var. Ama bu saçmalık. Bu yüzden diyorum ki - dil için dil. Bana göre, bir sürü bitmemiş küçük şey.

 
Youri Lazurenko :


Kavramları karıştırıyorsunuz (özellikle 'düzen'). Piyasada BEKLEMEDEKİ SİPARİŞ veya POZİSYON olabilir. Yardımda daha fazla bilgi edinebilirsiniz: Genel ilkeler .

CTrade sınıfı kendi kendine yeterlidir ve içinde hiçbir eksiklik yoktur - yalnızca uygulama koduna bakmaktaki isteksizliğiniz vardır. Bir ticaret talebi gönderirken (en azından BEKLEMEDEKİ bir SİPARİŞ vermek için, en azından bir POZİSYON açmak veya değiştirmek için), ticaret sınıfının bir örneği sihirli bir sayı gönderir - bunu yalnızca bir nesne oluştururken başlatmanız gerekir

Общие принципы - Торговые операции - Справка по MetaTrader 5
Общие принципы - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Перед тем как приступить к изучению торговых функций платформы, необходимо создать четкое представление об основных терминах: ордер, сделка и позиция. — это распоряжение брокерской компании купить или продать финансовый инструмент. Различают два основных типа ордеров: рыночный и отложенный. Помимо них существуют специальные ордера Тейк Профит и...
 
Youri Lazurenko :

Merhaba. Cevap için teşekkürler. Ben bakış açımı ifade edeceğim. MQL4'te bir sipariş açarken sihir de dahil olmak üzere parametrelerini belirtiriz. #include <Trade\OrderInfo.mqh> içinde, sihir dışında her şey belirtilir. Örneğin - CTrade::BuyLimit(const double volume,const double fiyat,const string symbol=NULL,const double sl=0.0,const double tp=0.0,const ENUM_ORDER_TYPE_TIME type_time=ORDER_TIME_GTC,const tarihsaat süre sonu=0,const string yorum= " "). Bence bu bir iyileştirme değil ve başka bir sihirli parametre ekleyerek düzeltilmesi gerekiyor. Veya #include <Trade\ HistoryOrderInfo.mqh > emrin aldığı kâr (kar/zarar) dışında her şeyi içerir. Bu, siparişle ilgili önemli bir bilgidir, ancak değildir. Daha. Son kapatılan siparişin karını bulmanız gerekir. Bilgileri Comment() içinde görüntüleyeceğiz. Ve ne göreceğiz. Açık emir (pozisyon) yokken, son emrin karı yorumda görüntülenir. Yorumda bir emir (pozisyon) açılır açılmaz emir kapanana kadar 0 alırız. Onlar. sipariş hala piyasada ama aynı zamanda tarihte aynı anda iki şekilde var. Ama bu saçmalık. Bu yüzden diyorum ki - dil için dil. Bana göre, bir sürü bitmemiş küçük şey .

Yuri, bu bitmemiş önemsiz şeyler yığını değil, bir yanlış anlamalar yığını.

OnInit()'te bir kez atamak yeterliyse, neden bir emrin veya pozisyonun her açılışında bir sihir yazalım?

 #include <Trade\Trade.mqh>
CTrade trade;

sinput    int Magic = 1 ; //  Идентификатор эксперта

int OnInit ()
 {
  trade.SetExpertMagicNumber(Magic);
   return ( INIT_SUCCEEDED );
 } /******************************************************************/

Ve bu kadar!!! Ayrıca, düzenin, anlaşmanın veya pozisyonun büyüsü, "dost veya düşman"ı belirlemek için aynı şekilde kontrol edilir. Sorun senin anlayışında.

Siparişin kârı olamaz!!! Şu anda pozisyonda kar. Ve pozisyon kapanış anlaşması veya bunun bir parçası, ancak bu zaten ticaret tarihinde. Emir, piyasada işlem yapmak için verilen bir emirdir.

Kolektif çiftlikte açıklamaya çalışacağım. Pazara geldiniz, kayısı almaya karar verdiniz.

emir : bana bir kilo kayısı ver...

anlaşma : para ver, kayısı al ...

pozisyon : çantanızda kayısı ...

Satıcının bakış açısından:

pozisyon : tezgahta kayısı ...

emir : bir kilo kayısı tartmak için bir sipariş aldınız ...

anlaşma : kayısı ver, bir çantaya para koy ...

 
Youri Lazurenko :

Merhaba. Cevap için teşekkürler. Ben bakış açımı ifade edeceğim. MQL4'te bir sipariş açarken sihir de dahil olmak üzere parametrelerini belirtiriz. #include <Trade\OrderInfo.mqh> içinde, sihir dışında her şey belirtilir. Örneğin - CTrade::BuyLimit(const double volume,const double fiyat,const string symbol=NULL,const double sl=0.0,const double tp=0.0,const ENUM_ORDER_TYPE_TIME type_time=ORDER_TIME_GTC,const tarihsaat süre sonu=0,const string yorum= " "). Bence bu bir iyileştirme değil ve başka bir sihirli parametre ekleyerek düzeltilmesi gerekiyor. Veya #include <Trade\ HistoryOrderInfo.mqh > emrin aldığı kar (kar/zarar) dışındaki her şeyi içerir. Bu, siparişle ilgili önemli bir bilgidir, ancak değildir. Daha. Son kapatılan siparişin karını bulmanız gerekir. Bilgileri Comment() içinde görüntüleyeceğiz. Ve ne göreceğiz. Açık emir (pozisyon) yokken, son emrin karı yorumda görüntülenir. Bir emir (pozisyon) açılır açılmaz emir kapanana kadar yorumda 0 alırız. Onlar. sipariş hala piyasada ama aynı zamanda tarihte aynı anda iki şekilde var. Ama bu saçmalık. Bu yüzden diyorum ki - dil için dil. Bana göre, bir sürü bitmemiş küçük şey.

Prosedürel düşünüyorsunuz ama OOP nesnelerini kullanmaya çalışıyorsunuz. Farklı bir yaklaşımları var. Örneğin:

Bir nesne oluşturulur. Kendisine bir sihirbaz verilir.
İkinci bir nesne oluşturulur. Kendisine ikinci bir sihirbaz verilir.
Üçüncü bir nesne oluşturulur. Kendisine üçüncü bir sihirbaz verilir.

Artık tek bir EA'da üç strateji için üç ticaret nesneniz var.
İlk TS'de bir pozisyon açmak veya bekleyen bir emir vermek için ilk ticaret nesnesine başvurmalısınız.
İkinci TS'de bir pozisyon açmak veya bekleyen bir emir vermek için ikinci ticaret nesnesine başvurmalısınız.
Üçüncü TS'de bir pozisyon açmak veya bekleyen bir emir vermek için üçüncü ticaret nesnesine başvurmalısınız.

Emirlerin kar parametresi yoktur. Basit bir nedenden dolayı - bir emir bir emirdir (bekleyen bir emir, bir komisyoncuya, fiyat belirli bir seviyeye ulaştığında bir işlem gerçekleştirmesi için verilen bir emirdir, yani belirli bir kritere ulaşıldığında belirli bir süre sonra bir işlemi gerçekleştirme emridir. ). Bir alım satım talebinin (siparişin) sonucu bir anlaşma olabilir (burada zaten DEAL_PROFIT kar parametresine sahiptir), bu ya bir pozisyonun oluşturulmasına ya da değişmesine veya kapanmasına yol açar (ve pozisyonun bir kar parametresi vardır, ancak yalnızca geçerli olanı - değişken POSITION_PROFIT).

Ve ayrıca bir piyasa emri (piyasa emri) vardır, bir alım satım emri gönderdiğinizde her zaman anlaşmadan önce görünür - bu sizin alım satım emrinizdir. Ve mevcut siparişler listesinde görünür. Yani, herhangi bir pozisyonun açılması bir zincir oluşturur: sipariş --> anlaşma --> pozisyon. Açık pozisyona sahip herhangi bir işlem bir zincir oluşturur: pozisyon --> emir --> anlaşma --> pozisyon yok veya daha küçük bir pozisyon hacmi veya daha büyük bir pozisyon hacmi (netleme) veya pozisyonun tersine çevrilmesi (netleme)

Yardımı okuyun .

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства сделок
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства сделок
  • www.mql5.com
Сделка является отражением факта совершения торговой операции на основании ордера, содержащего торговый приказ. Каждая сделка описывается свойствами, позволяющими получить информацию о ней. Для чтения значений свойств используются функции вида Идентификатор позиции, в открытии, изменении или закрытии которой участвовала эта сделка. Каждая...
 
Merhaba! MT5 için " hareketli ortalama " gösterge kodunda standart dışı periyotlar yapmak mümkün müdür? Örneğin, 1 mum için değil, 0,5 için mi? Anladığım kadarıyla, platformdaki fiyat verileri tam olarak orada ve gösterge onları bölüp yuvarlayacak.
 

Herkese teşekkürler. Özellikle Alexey Viktorov - açık ve spesifik. Zaten yeniden yapıldı ve kontrol edildi - şimdi son siparişin karı hakkında bilgi var ve danışman bunu kullanıyor. Bir pozisyon, düzen, anlaşma nedeniyle - çok karmaşık, gereksiz ve gereksiz kafa karışıklığı. Mevcut emirler (bekleyen, aktif / piyasa /) ve tarihe geçmiş, ancak hala emirler var. Kayısım yok, kayısım var - para transfer süreci kısa vadeli ve kesinlikle şart değil. Tartım devam ederken, satıcının artık sahip olmadığı, alıcının henüz olmadığı ortaya çıktı. Onlar. bu aralıkta karışıklık ve karışıklık var. Ne kadar basitse o kadar iyi.

Ama yine de hepinize teşekkür ederim, iyi şanslar.

 
Youri Lazurenko :

Herkese teşekkürler. Özellikle Alexey Viktorov - açık ve spesifik. Zaten yeniden yapıldı ve kontrol edildi - şimdi son siparişin karı hakkında bilgi var ve danışman bunu kullanıyor. Bir pozisyon, düzen, anlaşma nedeniyle - çok karmaşık, gereksiz ve gereksiz kafa karışıklığı. Mevcut emirler (bekleyen, aktif / piyasa /) ve tarihe geçmiş, ancak hala emirler var. Kayısım yok, kayısım var - para transfer süreci kısa vadeli ve kesinlikle şart değil. Tartım devam ederken, satıcının artık sahip olmadığı, alıcının henüz olmadığı ortaya çıktı. Onlar. bu aralıkta karışıklık ve karışıklık var. Ne kadar basitse o kadar iyi.

Ama yine de hepinize teşekkür ederim, iyi şanslar.

Bu, terminal geliştiricilerinin bir tuhaflığı değil. Tüm zinciri, dördünde tek bir "düzen" kavramına sığdırmak tuhaftı. Şimdi her şey gerçekte olanla uyumlu.

Ve kayısıları raftan sırt çantasına aktarmanın zamanı, bir ticaret emrinin yerine getirilmesinin zamanıdır. Ve şimdi, gerçekleşen olaylarla ilgili tüm verilere sahip olarak, emirlerin ne kadar hızlı yerine getirildiğini kolayca kontrol edebilirsiniz. Ve sadece bu değil. Genel olarak, artık herhangi bir istatistiksel veriyi herhangi bir sunucuya ve gereksinimlerinizi ne kadar iyi karşılayabileceklerine uygulamak için birçok fırsatınız var.

 
Artyom Trishkin :

Bu, terminal geliştiricilerinin bir tuhaflığı değil. Tüm zinciri, dördünde tek bir "düzen" kavramına sığdırmak tuhaftı. Şimdi her şey gerçekte olanla uyumlu.

Ve kayısıları raftan sırt çantasına aktarmanın zamanı, bir ticaret emrinin yerine getirilmesinin zamanıdır. Ve şimdi, gerçekleşen olaylarla ilgili tüm verilere sahip olarak, emirlerin ne kadar hızlı yerine getirildiğini kolayca kontrol edebilirsiniz. Ve sadece bu değil. Genel olarak, artık herhangi bir istatistiksel veriyi herhangi bir sunucuya ve gereksinimlerinizi ne kadar iyi karşılayabileceklerine uygulamak için birçok fırsatınız var.

Beni suçlama, tamamen tartışma doğrultusunda. Uzman Danışmanlarımla uzun süredir (satmıyorum), farklı brokerlerle ticaret yapıyorum ve güncel olaylarla ilgili mutlak verilerle ilgilenmiyorum. Nihai sonuçla ilgileniyorum - danışmanın talebi üzerine siparişlerin yüksek kalitede yürütülmesi. Emirler her seferinde açılırsa (mecazi olarak konuşursak), bu komisyoncu ile çalışmaya devam etmeyeceğim. Bir komisyoncunun açılışı diğerinden yarım saniye daha hızlıysa, benim için önemli değil (ayrıca fiyat tekliflerindeki fark).

mql4'te Expert Advisor yazmak ne kadar kolay ve mql5'te ne kadar, üzgünüm, bok. Neden mql5 hakkında hala sorular var? MT5 test cihazı hakkında iyi yorumlar duydum ve denemek için mql5 dilini tanımam gerekiyordu. Test eden kişi denedi - mutlu değil. Evet, tekliflerin çok daha hızlı indirilmesi uygundur, ancak MT4'te daha bilgilendiricidir. Örneğin, sadece emirlerin hangi fiyattan kapatıldığını değil, aynı zamanda hangi kârın (zararın) alındığını da bilmek benim için ilginç. İleri optimizasyon ile işlemci yüklenir, böylece bilgisayar kesilir. Aynı komisyoncudan aynı danışmanı çalıştırmayı bir kez denedim (bu kesinlikle bir gösterge değil). Sonuçlar farklıdır; MT5'te daha iyi - büyük bir kar, önemli ölçüde daha küçük bir düşüş, bu da can sıkıcı. Belki bu bunak bir homurdanma ama bugün olumludan çok eleştirim var. Henüz MT5'te işlem yapmayacağım, ancak yine de yüksek kaliteli, kompakt bir Uzman Danışman yazmakla ilgileniyorum. Sadece meraktan.

İyi şanlar.