Nasıl kodlanır? - sayfa 81

 

Yardıma ihtiyaç var

Tüm kodlayıcılara merhaba,

Lütfen bana kodu söyle, mumlara göre fiyatı nasıl kontrol edebilirim. Yani mevcut mumun MA çizgisine temas edip etmediğini nasıl kontrol edebilirim? ve mevcut mumun MA çizgisinin altında açık, yüksek, düşük ve kapalı olduğunu nasıl kodlayabilirim. Yardımınız çok takdir edilecektir.

Saygılarımla.......!

 
arsenic786:
Tüm kodlayıcılara merhaba,

Lütfen bana kodu söyle, mumlara göre fiyatı nasıl kontrol edebilirim. Yani mevcut mumun MA çizgisine temas edip etmediğini nasıl kontrol edebilirim? ve mevcut mumun MA çizgisinin altında açık, yüksek, düşük ve kapalı olduğunu nasıl kodlayabilirim. Yardımınız çok takdir edilecektir.

Saygılarımla.......!

Haçı kontrol etmek için önceki kapanış fiyatı , mevcut kapanış ve hareketli ortalama değeri (yani iMa, Kapat[1] ve Kapat[0]) karşılaştırmanız gerekir.

Ancak mumun hareketli ortalamanın altında mı yoksa altında mı olduğunu kontrol etmek için DÜŞÜK ve YÜKSEK fiyatı ve iMa değerini karşılaştırmanız gerekir.

 

Kene Zaman Göstergesi

Bir unsuru keneler arasındaki süre olan bir gösterge oluşturmak istiyorum. Bu işlevin dahil edilmesi mümkün olup olmayacağını kimse bana tavsiye edebilir mi?

teşekkürler

 

Çiftler/zaman çerçevesi üzerinden tarama

Merhaba,

ADX gibi göstergeleri kullanarak mevcut ortamı (eğilim, aralık sınırı vb.) tespit etmek için bazı çiftleri ve çiftlerin bazı zaman çerçevelerini taramak isterim. Bu, kriterlerime göre işlem yapmak için en iyi çifti/zaman dilimini seçmeme yardımcı olmak içindir.

Berbat bir çıkış yolu, TÜM çizelgelere EA tespit eden bir ortam eklemek, sonuçları bir dosyaya yazmalarını ve sonra dosya üzerinde kendi karşılaştırmamı yapmalarını sağlamaktır. Ancak bu çok sıkıcı ve manuel olacak!

EA'mı yalnızca 1 grafiğe eklemek ve bu EA'nın iClose, iOpen vb. Gibi Zaman Serisi işlevlerini kullanarak tüm çiftlerden ve zaman diliminden verileri almasını ve ardından fiyatı göstergelerime beslemesini sağlamak mümkün mü?

2. yöntemle ilgili herhangi bir sorun öngören var mı? Çok fazla CPU işleme içeriyor mu? Kontrolü çalıştırmak için geçen süre çok uzun olacak mı? 5 dakikadan daha ince bir zaman çerçevesine ihtiyacım yok.

EA'da yeniyim ve bu nedenle performansını bilmiyorum. Herhangi bir yardım çok takdir edilecektir. Şerefe!!

 

Grafiğe programlı olarak bir EA ekleyin

Merhaba,

o programlı bir çizelgeye bir EA eklemek mümkün mü? Diyelim ki şu anda EA1 kullanıyorum ve belirli kriterlerin yerine getirilmesi konusunda EA2'yi başka bir çizelgeye eklemesini istiyorum. Mümkün mü?

 
meokoken:
Merhaba,

ADX gibi göstergeleri kullanarak mevcut ortamı (eğilim, aralık sınırı vb.) tespit etmek için bazı çiftleri ve çiftlerin bazı zaman çerçevelerini taramak isterim. Bu, kriterlerime göre işlem yapmak için en iyi çifti/zaman dilimini seçmeme yardımcı olmak içindir.

Berbat bir çıkış yolu, TÜM çizelgelere EA tespit eden bir ortam eklemek, sonuçları bir dosyaya yazmalarını ve sonra dosya üzerinde kendi karşılaştırmamı yapmalarını sağlamaktır. Ancak bu çok sıkıcı ve manuel olacak!

EA'mı yalnızca 1 grafiğe eklemek ve bu EA'nın iClose, iOpen vb. Gibi Zaman Serisi işlevlerini kullanarak tüm çiftlerden ve zaman diliminden verileri almasını ve ardından fiyatı göstergelerime beslemesini sağlamak mümkün mü?

2. yöntemle ilgili herhangi bir sorun öngören var mı? Çok fazla CPU işleme içeriyor mu? Kontrolü çalıştırmak için geçen süre çok uzun olacak mı? 5 dakikadan daha ince bir zaman çerçevesine ihtiyacım yok.

EA'da yeniyim ve bu nedenle performansını bilmiyorum. Herhangi bir yardım çok takdir edilecektir. Şerefe!!

Bunun için sembol fonksiyonunu kullanabilirsiniz. Örneğin. 10 grafikte hareketli ortalama ve kapanış fiyatının değerini kontrol etmek isterseniz, örneğin farklı zaman dilimlerinden 10 kesişme ancak mevcut çubukta, o zaman şöyle görünecektir:

double eurudMa = iMa("EURUSD", blablabla,PERIOD_X,0);

double eurusdClose = iClose("EURUSD",PERIOD_X);

ve isterseniz bu değerleri karşılaştırın.

Diğer göstergelerle aynı. Belirtilen çaprazın teklifini almak ve fiyat sormak istiyorsanız, MarketInfo işlevini aynı şekilde kullanın.

Saygılarımızla

kara lahana

 

Sinyal hattı ile OsMA

Kodlayıcılar, yardımınıza ihtiyacım var. Birisi ekli OsMA göstergesine bir sinyal hattı ekleyebilir mi? Çok teşekkürler!

Dosyalar:
osma.mq4  3 kb
 

Bunun Dijital Versiyonu Nasıl Oluşturulur?

Merhaba millet,

Ben burada acemiyim.

Wolfe, benim değiştirdiğim aşağıdaki kod için bir şablon oluşturma nezaketini gösterdi. Mükemmel bir şekilde çalışıyor ve ne yapmak istiyorsam onu yapıyorum.

Ama şimdi,

DIGISTOCH göstergesine benzer şekilde bunun dijital versiyonunu oluşturmayı düşünüyorum.

Bilmek istediğim şey:

- Tamponlar nasıl "temizlenir" veya "temizlenir"? Tamponların bağlantısını "silip" yenilerini oluşturamıyorum.

- Bu, arabellekleri İÇERMEZ olarak nasıl değiştirilir? Sanırım biraz hafıza kurtaracak, değil mi? SetIndexBuffer'ı silmeye çalıştım ama sonra MT4'e yüklediğimde uzman terminal penceresinde " sıfır bölme " hatası veriyor.

- Aşağıdaki her iki etiket de yalnızca 1 değeri, H1 değerini gösterir. H1 ve H4 numarasından sayıyı göstermesi gerekiyor. Yani burada çalışmıyor.

- Temel olarak bunun, farklı zaman dilimlerinden (M1'den MN1'e) Oran numarasını, tıpkı DIGIStoch göstergesi gibi tek bir ekranda görüntülemesini istiyorum.

Herhangi bir yardım takdir edilecektir.

Saygılarımızla,

//+------------------------------------------------------------------+

//| 2MA_RSI.mq4 |

//+------------------------------------------------------------------+

#property copyright "Wolfe"

#property link "xxxxwolfe@gmail.com"

#property indicator_separate_window

#property indicator_level1 100

#property indicator_level2 80

#property indicator_level3 50

#property indicator_level4 20

#property indicator_buffers 4

#property indicator_color1 Black //RSI

#property indicator_color2 Blue //MA1

#property indicator_color3 Red //MA2

#property indicator_color4 Green //Ratio

int RSI_Timeframe=0;//0=current chart,1=m1,5=m5,15=m15,30=m30,60=h1,240=h4,etc...

int RSI_Period = 10;

int RSI_Applied_Price = 0;//0=close, 1=open, 2=high, 3=low, 4=(high+low)/2, 5=(high+low+close)/3, 6=(high+low+close+close)/4

int MA1_Period = 10;

int MA1_Method = 1;// 0=SMA, 1=EMA, 2=SMMA, 3=LWMA

int MA2_Period = 30;

int MA2_Method = 1;// 0=SMA, 1=EMA, 2=SMMA, 3=LWMA

double RSI[],MA1_Array[],MA2_Array[],MR_Ratio[];

double _RSI[],_MA1_Array[],_MA2_Array[],_MR_Ratio[];

string ShortName="MoR";

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators setting

SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1); //RSI

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1); //EMA10

SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,1); //EMA30

SetIndexStyle(3,DRAW_LINE,STYLE_SOLID,2); //Ratio

SetIndexBuffer(0,RSI);

SetIndexLabel(0,"RSI");

SetIndexBuffer(1,MA1_Array);

SetIndexLabel(1,"MA1");

SetIndexBuffer(2,MA2_Array);

SetIndexLabel(2,"MA2");

SetIndexBuffer(3,MR_Ratio);

SetIndexLabel(3,"Ratio");

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));

IndicatorShortName(ShortName);

return(0);

}

int start()

{

int i,limit = Bars - IndicatorCounted() - 1;

for(i=limit; i>=0; i--){

RSI= iRSI(NULL,60,RSI_Period,RSI_Applied_Price,i);

}

for(i=limit; i>=0; i--){

MA1_Array = iMAOnArray(RSI,0,MA1_Period,0,MA1_Method,i);

MA2_Array = iMAOnArray(RSI,0,MA2_Period,0,MA2_Method,i);

}

for (i=0; i<=limit; i++){

MR_Ratio = MA1_Array / MA2_Array * 100;

}

double tmp1=MR_Ratio[0];

SetText("Label1",DoubleToStr(tmp1,1),Black,55,20);

//+------------------------------------------------------------------+

//| Trying to set new buffers |

//+------------------------------------------------------------------+

IndicatorBuffers(4);

SetIndexBuffer(0,_RSI);

SetIndexBuffer(1,_MA1_Array);

SetIndexBuffer(2,_MA2_Array);

SetIndexBuffer(3,_MR_Ratio);

for(i=limit; i>=0; i--){

_RSI= iRSI(NULL,240,RSI_Period,RSI_Applied_Price,i);

}

for(i=limit; i>=0; i--){

_MA1_Array = iMAOnArray(_RSI,0,MA1_Period,0,MA1_Method,i);

_MA2_Array = iMAOnArray(_RSI,0,MA2_Period,0,MA2_Method,i);

}

for (i=0; i<=limit; i++){

_MR_Ratio = _MA1_Array / _MA2_Array * 100;

}

double tmp2=_MR_Ratio[0];

SetText("Label2",DoubleToStr(tmp2,1),Black,95,20);

//----

return(0);

}

void SetText(string ObjName,string ObjText,color clr,int xpos,int ypos){

ObjectCreate(ObjName,OBJ_LABEL,WindowFind(ShortName),0,0);

ObjectSetText(ObjName,ObjText,9,"Arial Bold",clr);

ObjectSet(ObjName,OBJPROP_CORNER,0);

ObjectSet(ObjName,OBJPROP_XDISTANCE,xpos);

ObjectSet(ObjName,OBJPROP_YDISTANCE,ypos);

}

 
SolomonZhang:
Merhaba millet,

Ben burada acemiyim.

Wolfe, benim değiştirdiğim aşağıdaki kod için bir şablon oluşturma nezaketini gösterdi. Mükemmel bir şekilde çalışıyor ve ne yapmak istiyorsam onu yapıyorum.

Ama şimdi,

DIGISTOCH göstergesine benzer şekilde bunun dijital versiyonunu oluşturmayı düşünüyorum.

Bilmek istediğim şey:

- Tamponlar nasıl "temizlenir" veya "temizlenir"? Tamponların bağlantısını "silip" yenilerini oluşturamıyorum.

- Bu, arabellekleri İÇERMEZ olarak nasıl değiştirilir? Sanırım biraz hafıza kurtaracak, değil mi? SetIndexBuffer'ı silmeye çalıştım ama sonra MT4'e yüklediğimde uzman terminal penceresinde "sıfır bölme" hatası veriyor.

- Aşağıdaki her iki etiket de yalnızca 1 değeri, H1 değerini gösterir. H1 ve H4 numarasından sayıyı göstermesi gerekiyor. Yani burada çalışmıyor.

- Temel olarak bunun, farklı zaman dilimlerinden (M1'den MN1'e) Oran numarasını, tıpkı DIGIStoch göstergesi gibi tek bir ekranda görüntülemesini istiyorum.

Herhangi bir yardım takdir edilecektir.

Saygılarımızla,

Her döngü için init'ten sonra arabellekler için boş bir değer tanımlamanız yeterlidir.

Yaklaşık sıfır bölme , hesaplamadan önce sadece bir "if" koşulu oluşturun.

 

Çoklu zaman sinyal kodu

Merhaba Programcılar

Nasıl programlanacağını öğrenen bir acemiyim ve temel bir EA oluşturdum ve aşağıdaki konularda bana yardımcı olacak kadar nazik biri varsa minnettarım:

Fikir, temel olarak daha yüksek TF sinyali aramak ve daha düşük TF'de geri çekilmeyi beklemek ve ardından aşağıdaki gibi siparişi yürütmektir:

4 HR aşağıdaki durumlarda bir sinyal üretirse:

if(MacdCurrentSignalCurrent)MacdPrevious<SignalPrevious)=LongSignalActivated

yukarıdaki sinyalin nasıl tutulacağı ve 1 HR (veya başka bir zaman dilimi) geri çekilmesinin nasıl bekleneceği, örneğin

if (MacdCurrentSignalCurrent && MacdPrevious<SignalPrevious) Order=SignalBuy

VEYA

Başka bir strateji..

Farklı zaman dilimleri için değişkenlerde tanımlanmış tüm göstergelere zaten sahibim ...

Eğer birisi yardım etmeye istekliyse EA gönderebilirim ... ayrıca herhangi bir deneyimli programcı benim stratejimle çalışmak isterse, bunu telafi etmeye hazırım (maalesef fazla para ödeyemem).

Herhangi bir yardım için teşekkür ederiz

Mo Seyit

e-posta: moi.syed@gmail.com

Neden: