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

 
double MarketInfo ( string symbol, int type) 

Bu yardımdan geliyor, ancak yalnızca danışmanın üzerinde çalıştığı sembolü "izlemek" için NULL'u bir sembol olarak kullanmak mümkün mü?

Sadece aynı türden birkaç Uzman Danışman farklı çiftler için planlanmıştır.

Bunun gibi, örneğin:

 MarketInfo ( NULL ,MODE_ASK)
 
moskitman :

Bu yardımdan geliyor, ancak yalnızca danışmanın üzerinde çalıştığı sembolü "izlemek" için NULL'u bir sembol olarak kullanmak mümkün mü?

Bunun gibi, örneğin:

NULL gibi geçmez.

Ama Symbol() çalışacak =)

 

Güzel gün. Soru şu. MQL4'te bulunan MQL 4 kitabında . "Basit MQL Programları" bölümünde topluluk , "Basit Uzman Danışmanı" bölümünde, tradeexpert.mq4 Uzman Danışman örneği var aşağıdaki içerik (ekteki dosyaya bakın). 1-2 bloğunda, harici değişkenler harici çift StopLoss bildirilir = 200 ve dış çift kar almak = 39 . 8-9 bloğunda, SL ve TP parametrelerini hesaplamak için New _ Stop ( StopLoss ) ve New _ Stop ( TakeProfit ) fonksiyon çağrısı kullanılır. 11-12 bloğunda işlevin bir açıklaması vardır.

Soru : Yeni _ Durdur işlevinin biçimsel parametresi int ( int Parametre ), işlev çağrısında parametreler geçerken Yeni _ Stop ( StopLoss ) ( New _ Stop ( TakeProfit ) ) double tipindedir… MQL4'te yer alan MQL 4 ile ilgili kitapta. " Functions of the Language" bölümünde "Functions of the Language" bölümünde, "Properties of Functions" alt bölümünde şöyle yazıyor: " İşlev çağrısında iletilen parametrelerin sayısı, türü ve sırası, sayı, tür ve işlev açıklamasında belirtilen resmi parametrelerin sırası ( istisna, varsayılan parametrelere sahip bir işlev çağrısıdır - bkz . , StopLoss ve TakeProfit değişkenlerini bildirirken double değil int türünü belirtmek gerekiyordu ( derleyici herhangi bir hata vermiyor)

Forumu kirletmemek adına cevabınız için şimdiden teşekkür ederim.

Dosyalar:
 

merhaba, söyle bana ... İnternetin zeminini kürekledi ve bilgiler farklı

Bir danışmanın özü, farklı enstrümanlarda pozisyonların açılmasıdır. "Gerçek hayatta" çalışır ve mevcut fiyatları gösterir, ancak bunu geçmişte çalıştıramam... işlev sıfır döndürür.

Gerekli olan, ancak örneğin EURUSD ve EURCHF olmak üzere iki para birimi için geçerli teklifi göstermek gereklidir.

Geçerli teklifi bir işlevle çağırıyorum (geçmişi EURUSD grafiği etkinken çalıştırıyorum):

MarketInfo("EURUSD",MODE_BID) ---> güncel fiyatı alın

MarketInfo("EURCHF ",MODE_BID) ---> null döndürür

Bu forumda MarketInfo'nun geçmiş üzerinde çalışmadığına dair bilgi buldum, "iClose" kullanın

ama aynı zamanda alıntı işlevini çağırdığımda

iClose("EURUSD",PERIOD_M1,0) ---> mevcut fiyatı al

iClose("EURCHF",PERIOD_M1,0) ---> sıfır döndürür

Strateji test cihazında farklı enstrümanlar için güncel fiyatları başka nasıl alabilirsiniz? teşekkürler

 
faton :

MT4 test cihazı çoklu para birimi değildir. Başka bir deyişle, yalnızca tek para birimi Uzman Danışmanlar test edilebilir.

 
moskitman :

MT4 test cihazı çoklu para birimi değildir. Başka bir deyişle, yalnızca tek para birimi Uzman Danışmanlar test edilebilir.


Teşekkür ederim
 
faton :

Teşekkür ederim

Daha doğrusu, bir araç üzerinde test edin ve analiz için diğer araçları kullanabilirsiniz.
 
sergeev :


yardım için teşekkürler!))
 
DhP :

Veya bunun gibi bir şey:

cevap için teşekkürler!! çok yardımcı oldu!
 
7777877 :

Güzel gün. Soru şu. MQL4'te bulunan MQL 4 kitabında . "Basit MQL Programları" bölümünde topluluk , "Basit Uzman Danışmanı" bölümünde, tradeexpert.mq4 Uzman Danışman örneği var aşağıdaki içerik (ekteki dosyaya bakın). 1-2 bloğunda, harici değişkenler harici çift StopLoss bildirilir = 200 ve dış çift kar almak = 39 . 8-9 bloğunda, SL ve TP parametrelerini hesaplamak için New _ Stop ( StopLoss ) ve New _ Stop ( TakeProfit ) fonksiyon çağrısı kullanılır. 11-12 bloğunda işlevin bir açıklaması vardır.

Soru : Yeni _ Durdur işlevinin biçimsel parametresi int ( int Parametre ), işlev çağrısında parametreler geçerken Yeni _ Stop ( StopLoss ) ( New _ Stop ( TakeProfit ) ) double tipindedir… MQL4'te yer alan MQL 4 kitabında. " Functions of the Language" bölümünde "Functions of the Language" bölümünde, "Properties of Functions" alt bölümünde şöyle yazıyor: " Fonksiyon çağrısında iletilen parametrelerin sayısı, türü ve sırası, sayı, tür ve işlev açıklamasında belirtilen resmi parametrelerin sırası ( istisna, varsayılan parametrelere sahip bir işlev çağrısıdır - bkz . , StopLoss ve TakeProfit değişkenlerini bildirirken double değil int türünü belirtmek gerekiyordu ( derleyici herhangi bir hata vermiyor)

Forumu kirletmemek adına cevabınız için şimdiden teşekkür ederim.

Harici parametreler (harici çift StopLoss =200; harici çift TakeProfit =39; ), prensipte tamsayı türünde olmalıdır (daha doğrusu, yazarın fikrine göre, bu puan cinsinden değerdir). Bir işlevi çağırırken, örtük bir tür dönüşümü kullanılır. Kayan nokta türü tamsayıya indirilir . Bu durumda, önemli değil: durdurma ve kârın boyutu, her zaman tamsayı olan pip cinsinden belirlenir.

IMHO, örnek kod çirkin yazılmış.

Anımsatıcı isimler varken sabitlerin mutlak değerini kullanmak çok kötü ve yanlış bir tarzdır.

         if ( OrderType ()> 1 )                     // Попался отложенный
           {
 

Sıralama düzeni uygulamalarının en kötü çeşidi: Daha "yavaş" bir tane düşünmek zor. Sanki bilerek fren ekliyorlarmış gibi: ekstra hesaplamalar, gereksiz işlev çağrıları - en çok zaman alan işlem ve hatta döngünün her yinelemesinde. Ve bu, sipariş sayısının döngü içinde değişmemesine rağmen.

   for ( int i= 1 ; i<= OrdersTotal (); i++)           // Цикл перебора ордер
     {
       if ( OrderSelect (i- 1 ,SELECT_BY_POS)==true) // Если есть следующий
        {                                       // Анализ ордеров: