"Bir ürün Market’te nasıl yayınlanır" makalesi için tartışma - sayfa 46

 
Evgenii Sidorov:

#property indicator_separate_window

#property indicator_chart_window

ve farklı tamponlar için 2 farklı ekran nasıl belirtilir?

Yapamazsınız. ObjectCreate yardımcı olabilir. Nesnelerle çizim yapın.

 
Artyom Trishkin:

FreezeLevel'i kontrol etmezsiniz - fiyat örneğin StopLoss seviyesine çok yakınsa, StopLoss değiştirilemez. Donma mesafesi sadece FreezeLevel seviyesi tarafından belirlenir

Burada değiştirilen durak değil, kapatılan anlaşmadır, yoksa yanılıyor muyum?

 
Vladimir Khlystov:

Değiştirilen durak değil, işlemin kapatılmasıdır, yoksa yanılıyor muyum?

İşlemler dondurulmuşsa, onları kapatamazsınız.
 

Selam millet!

Umarım her şey yolundadır.

Yeni bir EA oluşturdum, mql pazarı için lisanslamanın en iyi yolu nedir? Bu EA'yı piyasada satmak için göndermek istiyorum, ancak zorunda değilsem yanlış lisanslama türünü eklemek istemiyorum. Siz ne önerirsiniz?

 
MOTIONCAPITAL:

Hey çocuklar!

Umarım her şey yolundadır.

Yeni bir EA oluşturdum, mql pazarı için lisanslamanın en iyi yolu nedir? Bu EA'yı piyasada satmak için göndermek istiyorum, ancak zorunda değilsem yanlış lisanslama türünü eklemek istemiyorum. Siz ne önerirsiniz?

MQL5 Piyasasında teklif vermenin/lisanslamanın tek bir yolu vardır, kuralları okuyun:

https://www.mql5.com/tr/market/rules

 
Aleksei Andarzhanov:
MQL4'te bir Uzman Danışman yazdım. Bunu Pazara koymak istiyorum. Uzman Danışman, terminalde bulunmayan iki özel gösterge gerektirir. Test için göndermeden önce bunları Uzman Danışmana nasıl ekleyeceğimi anlamıyorum. Ve başka bir şey. Kurallar, Uzman Danışmanın ex5 olması gerektiğini söylüyor. MQL4'te yazılmışsa, ex5 ' te nasıl yapılır?

Bu tür sorular sorarsanız, pazara gitmeniz için henüz çok erken.

 
Evgeniy Zhdan:

Böyle sorular soruyorsanız piyasada olmak için çok gençsiniz.

Ben çözdüm. Göstergeleri #resource aracılığıyla Uzman Danışmana ekledim. Bir şey var. Bundan önce, Uzman Danışman hızlıydı, Test Cihazında hızla uçtu, ancak şimdi hız on kat azaldı. Kılavuzda yazıldığı gibi her şeyi kurallara göre yaptım, GetRelativeProgramPath() göstergesinin yolunu bulmak için bir işlev ekledim - ancak hız kaplumbağa, bir gün 5 dakika test ediyor....

 
Aleksei Andarzhanov:

Anladım. Göstergeleri #resource aracılığıyla Uzman Danışmana ekledim. Ama bir şey var... Bundan önce, Uzman Danışman hızlıydı, Test Cihazında hızla uçtu, ancak şimdi hız on kat azaldı. Kılavuzda yazıldığı gibi her şeyi kurallara göre yaptım, GetRelativeProgramPath() göstergesinin yolunu bulmak için bir işlev ekledim - ancak hız kaplumbağa, bir gün 5 dakika test ediyor....

Gösterge verileri her tikte sorgulanıyor mu?

 
Denis Nikolaev:

gösterge verileri her tikte sorgulanıyor mu?

Evet. Kodda her şey eskisi gibi kalıyor. Sadece göstergenin konumu değişti. Daha önce terminalden \\Indicators'dan isteniyordu ve şimdi ex4 programının kendisinden isteniyor.

#resource "\\Indicators\\\\##Contrast.ex4"

///////////

string path=GetRelativeProgramPath();

path=path+"::Indicators\\##Contrast.ex4";

ContrastMain_15 =NormalizeDouble(iCustom(NULL,15,path,coeff_1,0,0),Digits);

ContrastSignal_15 =NormalizeDouble(iCustom(NULL,15,path,coeff_1,1,0),Digits);

//////////

string GetRelativeProgramPath()

{

int pos2;

//--- programın mutlak yolunu al

string path=MQLInfoString(MQL_PROGRAM_PATH);

//--- "\MQL4\" alt dizesinin konumunu bul

int pos =StringFind(path,"\\MQL4\\\\");

//--- alt dize bulunamadı - hata

if(pos<0)

return(NULL);

//--- "\MQL4" kataloğunu atlayın

pos+=5;

//--- gereksiz '\'yi atlayın

while(StringGetCharacter(path,pos+1)=='\\\')

pos++;

//--- eğer bir kaynak ise, MQL4 kataloğuna göre yolu döndür

if(StringFind(path,"::",pos)>=0)

return(StringSubstr(path,pos));

//--- MQL4'teki ilk alt dizin için bir sınırlayıcı bulun (örneğin, MQL4\Indicators)

//--- eğer yoksa, MQL4 kataloğuna göre yolu döndür

if((pos2=StringFind(path,"\\\",pos+1))<0)

return(StringSubstr(path,pos));

//--- alt dizine göre yolu döndürür (örneğin, MQL4\Indicators)

return(StringSubstr(yol,pos2+1))

}

 
Aleksei Andarzhanov:

Evet. Kodda her şey daha önce olduğu gibi aynı. Sadece göstergenin konumu değişti. Daha önce terminalden \\\Indicators'dan ve şimdi de ex4 programının kendisinden talep ediliyordu.

#resource "\\Indicators\\\\##Contrast.ex4"

///////////

string path=GetRelativeProgramPath();

path=path+"::Indicators\\##Contrast.ex4";

ContrastMain_15 =NormalizeDouble(iCustom(NULL,15,path,coeff_1,0,0),Digits);

ContrastSignal_15 =NormalizeDouble(iCustom(NULL,15,path,coeff_1,1,0),Digits);

//////////

string GetRelativeProgramPath()

{

int pos2;

//--- programın mutlak yolunu al

string path=MQLInfoString(MQL_PROGRAM_PATH);

//--- "\MQL4\" alt dizesinin konumunu bul

int pos =StringFind(path,"\\MQL4\\");

//--- alt dize bulunamadı - hata

if(pos<0)

return(NULL);

//--- "\MQL4" kataloğunu atlayın

pos+=5;

//--- gereksiz '\'yi atlayın

while(StringGetCharacter(path,pos+1)=='\\\')

pos++;

//--- eğer bir kaynak ise, MQL4 kataloğuna göre yolu döndür

if(StringFind(path,"::",pos)>=0)

return(StringSubstr(path,pos));

//--- MQL4'teki ilk alt dizin için ayırıcıyı bulun (örneğin, MQL4\Indicators)

//--- böyle bir sınırlayıcı yoksa, MQL4 kataloğuna göre yolu döndür

if((pos2=StringFind(path,"\\\",pos+1))<0)

return(StringSubstr(path,pos));

//--- alt dizine göre yolu döndürür (örneğin, MQL4/Indicators)

return(StringSubstr(yol,pos2+1));

}

Ne karmaşa ama...
iCustom() içinde böyle bir yolu değiştirmelisiniz:
"::Indicators\\\\##Contrast.ex4".