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

 
MrBrooklin :

Herkese iyi akşamlar!

Yaşlılığımda MQL5'in temellerini öğrenmeye çalışıyorum. Merak paramparça oldu - gerçekten bir kişi 60 yaşın altındaysa programlama artık mümkün değil mi? Elli dolara basit HTML diliyle arkadaşlık kurmayı başarsam da, üzerine web siteleri bile yazdım. Basit, doğru, ama yine de… Sorularım tahrişe neden oluyorsa, hemen söyle , o zaman artık saf sorular sormayacağım ve insanları tedirgin etmeyeceğim.

Böylece gözüme çarpan ilk kodu açtım. Google çevirmeni ve MQL5 referansı yardımıyla bu kodun bir satırının anlamını yorumladım. Topluluktan ne istiyorum? Yorumlara bakın ve doğru değilse, lütfen düşünce trenimi düzeltin:

Bazıları için bu açık bir kitap, ama benim için aynı Çince karakterler. Lütfen çok fazla gülme.

Bunu neden yapıyorum? Bu nedenle, programlamada ne kadar umutsuz olduğumu kendim anlamak istiyorum.

Saygılarımla, Vladimir.

ME'deki yardımı kullanmanızı öneririm - dilin tüm operatörlerinin ve işlevlerinin amacı burada açıklanmıştır.

https://www.mql5.com/ru/docs/trading/positionselect

Документация по MQL5: Торговые функции / PositionSelect
Документация по MQL5: Торговые функции / PositionSelect
  • www.mql5.com
Выбирает открытую позицию для дальнейшей работы с ней. Возвращает true при успешном завершении функции. Возвращает false при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError(). При независимом представлении позиций (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) по каждому символу одновременно...
 
MrBrooklin :

Herkese iyi akşamlar!

Yaşlılığımda MQL5'in temellerini öğrenmeye çalışıyorum. Merak paramparça oldu - gerçekten bir kişi 60 yaşın altındaysa programlama artık mümkün değil mi ? Elli dolara basit HTML diliyle arkadaşlık kurmayı başarsam da, üzerine web siteleri bile yazdım. Basit, doğru, ama yine de… Sorularım tahrişe neden oluyorsa, hemen söyle , o zaman artık saf sorular sormayacağım ve insanları tedirgin etmeyeceğim.

Böylece gözüme çarpan ilk kodu açtım. Google çevirmeni ve MQL5 referansı yardımıyla bu kodun bir satırının anlamını yorumladım. Topluluktan ne istiyorum? Yorumlara bakın ve doğru değilse, lütfen düşünce trenimi düzeltin:

Bazıları için bu açık bir kitap, ama benim için aynı Çince karakterler. Lütfen çok fazla gülme.

Bunu neden yapıyorum? Bu nedenle, programlama konusunda ne kadar umutsuz olduğumu kendim anlamak istiyorum.

Saygılarımla, Vladimir.

Bu bir arzu olurdu, beyin için bulmaca çözmekten daha iyidir. Hadge hesapları için Netting hesaplarından farklı yazılanları hemen anlamaya çalışın. Bu kod satırı

 if ( PositionSelect ( _Symbol )) // если выбираем открытую позицию на графике текущего символа

Netleştirme için kullanılır, ancak Hadge için birden fazla pozisyon açıksa hata verebilir.

 
Aleksey Vyazmikin :

ME'deki yardımı kullanmanızı öneririm - dilin tüm operatörlerinin ve işlevlerinin amacı burada açıklanmıştır.

https://www.mql5.com/ru/docs/trading/positionselect

Merhaba Alexey!

Cevabınız için teşekkürler. Yardımı MetaEditor'da kullanıyorum. Şimdiye kadarki ana sorun , operatörlerin ve fonksiyonların amacının yanı sıra program kodunda belirli bir yerde şu veya bu operatör ve fonksiyona neden ihtiyaç duyulduğunu anlamaktır. Yardımın içinde her şey yazıyor gibi görünüyor, ancak anladığım kadarıyla bu bilgi, onu sıfırdan araştırmaya başlayan biri için değil, diğer dillerde zaten biraz programlama deneyimi olan biri için.

Saygılarımla, Vladimir.

 
Alexey Viktorov :

Bu bir arzu olurdu, beyin için bulmaca çözmekten daha iyidir. Hadge hesapları için Netting hesaplarından farklı yazılanları hemen anlamaya çalışın. Bu kod satırı

Netleştirme için kullanılır, ancak Hadge için birden fazla pozisyon açıksa hata verebilir.

Merhaba Alexey!

Hadge ve Netting hesaplarıyla ilgili ipucu ve destek için teşekkürler.

Kod satırına yapılan yorumda herhangi bir ayar yoksa, bunun zaten iyi olduğunu anlıyorum. Böylece bu kod satırının özünü olabildiğince yakından anladım. MQL5 dilinde programlamayı araştırmaya devam edeceğim ve yorumlarımla periyodik olarak kodlar göndereceğim. Belki daha sonra, kendi kendine çalışmanın bir aşamasında, basit bir danışmanın kodunu bağımsız olarak geliştirebileceksiniz.

Saygılarımla, Vladimir.

Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
  • www.mql5.com
MetaQuotes Language 5 (MQL5) - язык программирования технических индикаторов, торговых роботов и вспомогательных приложений для автоматизации торговли на финансовых рынках. MQL5 является современным языком высокого уровня и разработан MetaQuotes Software Corp. для собственной торгово-информационной платформы. Синтаксис языка максимально близок...
 

Merhaba!

MQL5 dilini çalışmaya devam ediyorum ve işte yardım ve Google çevirisi ile çalıştıktan sonra bile net olmayan yeni bir kod satırı .

 FileSeek (FileHandle, 0 , SEEK_SET ); // перемещаем положение указателеля в файле с уникальным указателем на "0" байт в начале файла

Yorum benim tarafımdan yapılmıştır, ancak anlamı tam olarak açık değildir. FileHandle'ın ne olduğunu zar zor anladım. Dosya ve Tutamaç olmak üzere iki kelimeye bölündü. Google, bir dosya tanımlayıcı olarak tercüme edildi. Tanımlayıcı nedir, ne ile yenir? Burada https://www.mql5.com/en/articles/496 makalenin yazarının yeni başlayanlar için Russian Handle'da bir şeye (bir dosyaya, göstergeye vb.) benzersiz bir işaretçi olduğunu açıklaması iyi.

Şimdi tüm kodun anlamını anlamak için kalır. Topluluktan yardım istiyorum, çünkü Sabah saat 3'e kadar bu kodu analiz ederek oturdum ve kafam hiç anlamıyor.

Saygılarımla, Vladimir.

Быстрый старт или краткий курс для начинающих
Быстрый старт или краткий курс для начинающих
  • www.mql5.com
Здравствуй дорогой читатель. В данной статье я попробую рассказать и покажу как можно просто и быстро освоить принципы построения торговых советников, работу с индикаторами и т.д. Эта статья ориентирована на новичков, в ней не будет сложных и трудных для понимания примеров. Скорей всего, она не будет интересной и познавательной для тех, кто уже...
 
MrBrooklin :

Merhaba!

MQL5 dilini çalışmaya devam ediyorum ve işte yardım ve Google çevirisi ile çalıştıktan sonra bile net olmayan yeni bir kod satırı .

Yorum benim tarafımdan yapılmıştır, ancak anlamı tam olarak açık değildir. FileHandle'ın ne olduğunu zar zor anladım. Dosya ve Tutamaç olmak üzere iki kelimeye bölündü. Google, bir dosya tanımlayıcı olarak tercüme edildi. Tanımlayıcı nedir, ne ile yenir? Burada https://www.mql5.com/en/articles/496 makalenin yazarının yeni başlayanlar için Russian Handle'da bir şeye (bir dosyaya, göstergeye vb.) benzersiz bir işaretçi olduğunu açıklaması iyi.

Şimdi tüm kodun anlamını anlamak için kalır. Topluluktan yardım istiyorum, çünkü Sabah saat 3'e kadar bu kodu analiz ederek oturdum ve kafam hiç anlamıyor.

Saygılarımla, Vladimir.

Belgelerde her şey Rusça yazılmışsa neden bir şeyi Google ile çevirelim?

Dosya işaretçisinin konumunu, belirtilen konuma göre belirtilen bayt sayısı kadar hareket ettirir.

Ve yorumunuzu şu şekilde çevirirdim: “Dosya işaretçisini baştan 0 bayta taşır. Başka bir deyişle, dosyanın başına"

Ofset için referans noktası. ENUM_FILE_POSITION numaralandırma değerlerinden birini alabilir

tanımlayıcı

Tanım

SEEK_SET

Dosyanın başlangıcı

SEEK_CUR

Geçerli dosya işaretçisi konumu

SEEK_END

Dosyanın sonu

Документация по MQL5: Файловые операции / FileSeek
Документация по MQL5: Файловые операции / FileSeek
  • www.mql5.com
//|                                                Demo_FileSeek.mq5 | //|                        Copyright 2013, MetaQuotes Software Corp. | //|                                              https://www.mql5.com | //| Script program start function                                    |...
 
Alexey Viktorov :

Belgelerde her şey Rusça yazılmışsa neden bir şeyi Google ile çevirelim?

Ve yorumunuzu şu şekilde çevirirdim: “Dosya işaretçisini baştan 0 bayta taşır. Başka bir deyişle, dosyanın başına"

tanımlayıcı

Tanım

SEEK_SET

Dosyanın başlangıcı

SEEK_CUR

Geçerli dosya işaretçisi konumu

SEEK_END

Dosyanın sonu

Merhaba Alexey!

Google, FileHandle ifadesinin anlamını tercüme etti. Ne olduğunu ve nereden geldiğini anlamak istedim. Yardım yardımcı olmadı, bu yüzden Google'a dönmek zorunda kaldım. Bunu çözdüğümde , dosyayı benzersiz bir işaretçiyle depolamak için değişkeni oluşturan kodun yazarı olduğu ortaya çıktı. FileSeek ve SEEK_SET açısından yardım yardımcı oldu, ancak tüm satırın anlamı net değildi. Şimdi, ipucunuzun yardımıyla, bunun neden benzersiz bir işaretçiye sahip bir dosyada yapıldığı anlaşıldı.

yardım ettiğiniz için çok teşekkür ederim!!!

Saygılarımla, Vladimir.

Документация по MQL5: Константы, перечисления и структуры / Константы ввода/вывода / Позиционирование внутри файла
Документация по MQL5: Константы, перечисления и структуры / Константы ввода/вывода / Позиционирование внутри файла
  • www.mql5.com
Большая часть файловых функций связана с операциями чтения/записи информации. При этом с помощью функции FileSeek() можно указывать положение файлового указателя на позицию внутри файла, с которой будет...
 
MrBrooklin :

Merhaba Alexey!

Google, FileHandle ifadesinin anlamını tercüme etti. Ne olduğunu ve nereden geldiğini anlamak istedim. Yardım yardımcı olmadı, bu yüzden Google'a dönmek zorunda kaldım. FileSeek ve SEEK_SET açısından yardım yardımcı oldu, ancak tüm satırın anlamı net değildi. Şimdi, ipucunuzun yardımıyla, bunun neden benzersiz bir işaretçiye sahip bir dosyada yapıldığı anlaşıldı.

yardım ettiğiniz için çok teşekkür ederim!!!

Saygılarımla, Vladimir.

İşaretçi benzersiz değildir, yalnızca yazma veya okuma işleminin başladığı konumdur. Nasıl bir açıklama yazdığımız gibi. Başlık sayfanın ikinci yarısından başlar, metnin geri kalanı sayfanın sol kenarından başlar. Ya da satırın kenarından biraz geri adım atarak yeni bir paragraf yazmaya başlarız. İşte satırın başlangıcı ve bir işaretçi var. Bizim durumumuzda, kaydın başlangıcını mevcut metinde herhangi bir yere taşıyabilir ve oraya yazabilir veya bu yerden okuyabiliriz.

Dosyanın tanıtıcısı benzersiz olarak kabul edilir. Ayrıca tanımlayıcı olarak da adlandırılabilir. Ve aslında normal bir değişkendir. En azından abrakadabra diyebilir ve ona bir dosya tanıtıcısı atayabilirsiniz.

 
Sergey :

Tünaydın!

Gösterge kodunu ayrıştırma. Tek satırda takılıp kaldı.

Son satır ne anlama geliyor ve daha basit (daha net) bir şekilde nasıl yeniden yazılabilir?

Diğer tasarımlardan çok daha basit bir şekilde yazılmıştır. Adı: üçlü operatör

cancl[i] = (acD== 1 && aoD== 1 ) ? 0 : (acD== 2 && aoD== 2 ) ? 1 : (acD== 1 && aoD== 2 )? 2 : 3 ;
cancl[i] = if (acD== 1 && aoD== 1 ) { 0 } else { if (acD== 2 && aoD== 2 ) { 1 else { (acD== 1 && aoD== 2 )? 2 : 3 ;
Kod şartlı olarak gösterildi, umarım daha fazla anlarsınız
Документация по MQL5: Основы языка / Операторы / Условный оператор ?:
Документация по MQL5: Основы языка / Операторы / Условный оператор ?:
  • www.mql5.com
В качестве первого операнда – "выражение1" – может быть использовано любое выражение, результатом которого является значение типа bool. Если результат равен , то выполняется третий операнд – "выражениеЗ". Второй и третий операнды, то есть "выражение2" и "выражениеЗ", должны возвращать значения одного типа и не должны иметь тип void. Результатом...
 
Sergey :

Tünaydın!

Gösterge kodunu ayrıştırma. Tek satırda takılıp kaldı.

Son satır ne anlama geliyor ve daha basit (daha net) bir şekilde nasıl yeniden yazılabilir?

//  cancl[i] = (acD== 1 && aoD== 1 ) ? 0 : (acD== 2 && aoD== 2 ) ? 1 : (acD== 1 && aoD== 2 )? 2 : 3 ;

if       (acD== 1  && aoD== 1 )   { cancl[i]=0; }
else if ( acD== 2  && aoD== 2)   {  cancl[i]=1; }
else if  (acD== 1  && aoD== 2 )   {  cancl[i]=2; }
else                         {  cancl[i]=3; }

ama bu, bence, daha basit ve daha net değil. Ama neredeyse MT tarzında :-) tamamen stile girmek için - daha fazla satır olmalı ve "merdiven" gitmeliler :-)