Kodlama yardımı - sayfa 405

 
Tomcat98:
Merhaba Mladen,

Multi_Indic_00'ün bir osilatör ve Up_Prime_00'ın bir tanımlama seviyesi olduğu bekleyen emirler için döngünün söylediği şudur.

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

//---- Emir Tipi Limit ise ve Trend Değişmişse Kontrol Et Kapat.

if(OrderType()==OP_BUYLIMIT)

if(( Multi_Indic_00 ) <= (Up_Prime_00 ))

{

_OrderDelete=OrderDelete(OrderTicket());

}

if(OrderType()==OP_SELLLIMIT)

if(( Multi_Indic_00 ) >= ( Down_Prime_00 ))

{

_OrderDelete=OrderDelete(OrderTicket());

}

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

Peki özel bir şey yok....

Mutlu ticaret.

Samimi olarak.

Tomcat98

Tomcat98

Benim görmek istediğim for() döngü ifadesi. Bunun gibi bir for ifadeniz varsa:

for (int i = 0; i < OrdersTotal(); i++)

bu durumda bazı siparişler kapatılır veya silinirse bazı siparişler kaçırılacaktır. Öte yandan, for() döngüsü şöyle giderse:

for (int i = OrdersTotal()-1; i >= 0; i--)

o zaman tüm siparişleri işleyecek

 

Mladen ,

Ah anlıyorum:

İşte yakın süreç için:

"

for(int i=0;i<OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==yanlış) ara;

if(OrderMagicNumber()!=MAGIC || OrderSymbol()!=Symbol()) devam ediyor;

"

Tomcat98

 
Tomcat98:
Mladen ,

Ah anlıyorum:

İşte yakın süreç için:

"

for(int i=0;i<OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==yanlış) ara;

if(OrderMagicNumber()!=MAGIC || OrderSymbol()!=Symbol()) devam ediyor;

"

Tomcat98

Tomcat98

Döngüyü şununla değiştir:

for(int i=OrdersTotal()-1;i>=0;i--)

ve iyi olmalı

 

Mladen,

Bingo!

Şimdi tam olarak ihtiyacım olanı yapıyor.

Büyük yardımın için çok teşekkürler.

"İnsanlar ne kadar umursadığını bilene kadar ne kadar bildiğini umursamazlar"

- Theodore Roosevelt

Samimi olarak.

Tomcat98

 
Tomcat98:
Mladen,

Bingo!

Şimdi tam olarak ihtiyacım olanı yapıyor.

Büyük yardımın için çok teşekkürler.

"İnsanlar ne kadar umursadığını bilene kadar ne kadar bildiğini umursamazlar"

- Theodore Roosevelt

Samimi olarak.

Tomcat98

mutlu kodlama

 

Merhaba Mladen, her şey için teşekkürler, şimdi orada iyi çalışıyor...

şimdi yeniden yüklenmeyen bir gösterge ile sıkışıp kaldım, bu yüzden her mum kapandığında göstergeyi yeniden yüklemem gerekiyor, bunu düzeltmeme yardım edebilir misin? işte kodun bir parçası (boşluklara dayalı bir trend göstergesidir basit fikir, teşekkür ederim:

#özellik telif hakkı "Telif hakkı © 2014 Daniel Luchinger"

#özellik bağlantısı

#mülkiyet katı

#mülkiyet katı

#özellik göstergesi_chart_window

#özellik göstergesi_tamponları 4

#özellik göstergesi_renk1 clrLime

#özellik göstergesi_renk2 clrRed

#özellik göstergesi_renk3 clrMagenta

#özellik göstergesi_renk4 clrCyan

#define 1 SATIN AL

#define SAT 2

çift Satın Al[],

Satmak[],

İlk Satın Al[],

İlk Satış[];

int OnInit() {

SetIndexBuffer(0,FirstBuy);

SetIndexBuffer(1,İlk Satış);

SetIndexBuffer(2,Satın Al);

SetIndexBuffer(3,Sat);

for(int i=0; i<4; i++) {

SetIndexStyle (i,DRAW_OK,STYLE_SOLID,2;}

SetIndexArrow (0,233);

SetIndexArrow (1,234);

SetIndexArrow (2.233);

SetIndexArrow (3.234);

dönüş(INIT_SUCCEEDED);}

geçersiz OnDeinit(const int nedeni) {}

int OnCalculate(const int oranları_toplam, const int önceki_hesaplanmış, const tarihsaat vesaat[],

const double &open[], const double &high[], const double &düşük[],

const double &kapat[], const uzun &tick_volume[], const uzun &hacim[],

const int &spread[]) {

statik int lastSignal=0;

for(int i=MathMin(oranlar_toplam-önceki_hesaplanmış, oranlar_toplam-1); i>=0; i--) {

FirstBuy=FirstSell=Satın=Sat=BOŞ_DEĞER;

tarihsaat ne zaman=Saat;

if((Yüksek-Kapat)<0) {

if(lastSignal==SAT) {

FirstBuy=Kapat;

SoundAlert(ne zaman,"Satın Al");}

lastSignal=SATIN AL;}

if((Düşük-Kapat)>0){

if(lastSignal==SATIN AL) {

FirstSell=Kapat;

SoundAlert(ne zaman,"Sat");}

lastSignal=SAT;}

}

dönüş(oranlar_toplam);}

void SoundAlert(datetime i, string dir) {

statik tarihsaat lastAlert=0;

if(lastAlert!=i) {

Alert(StringFormat("%s'de %s'de %s sinyali",dir,Symbol(),TimeToStr(i)));

 
daniel1983:
Merhaba Mladen, her şey için teşekkürler, şimdi orada iyi çalışıyor...

şimdi yeniden yüklenmeyen bir gösterge ile sıkışıp kaldım, bu yüzden her mum kapandığında göstergeyi yeniden yüklemem gerekiyor, bunu düzeltmeme yardım edebilir misin? işte kodun bir parçası (boşluklara dayalı bir trend göstergesidir basit fikir, teşekkür ederim:

#özellik telif hakkı "Telif hakkı © 2014 Daniel Luchinger"

#özellik bağlantısı

#mülkiyet katı

#mülkiyet katı

#özellik göstergesi_chart_window

#özellik göstergesi_tamponları 4

#özellik göstergesi_renk1 clrLime

#özellik göstergesi_renk2 clrRed

#özellik göstergesi_renk3 clrMagenta

#özellik göstergesi_renk4 clrCyan

#define 1 SATIN AL

#define SAT 2

çift Satın Al[],

Satmak[],

İlk Satın Al[],

İlk Satış[];

int OnInit() {

SetIndexBuffer(0,FirstBuy);

SetIndexBuffer(1,İlk Satış);

SetIndexBuffer(2,Satın Al);

SetIndexBuffer(3,Sat);

for(int i=0; i<4; i++) {

SetIndexStyle (i,DRAW_OK,STYLE_SOLID,2;}

SetIndexArrow (0,233);

SetIndexArrow (1,234);

SetIndexArrow (2.233);

SetIndexArrow (3.234);

dönüş(INIT_SUCCEEDED);}

geçersiz OnDeinit(const int nedeni) {}

int OnCalculate(const int oranları_toplam, const int önceki_hesaplanmış, const tarihsaat vesaat[],

const double &open[], const double &high[], const double &düşük[],

const double &kapat[], const uzun &tick_volume[], const uzun &hacim[],

const int &spread[]) {

statik int lastSignal=0;

for(int i=MathMin(oranlar_toplam-önceki_hesaplanmış, oranlar_toplam-1); i>=0; i--) {

FirstBuy=FirstSell=Satın=Sat=BOŞ_DEĞER;

tarihsaat ne zaman=Saat;

if((Yüksek-Kapat)<0) {

if(lastSignal==SAT) {

FirstBuy=Kapat;

SoundAlert(ne zaman,"Satın Al");}

lastSignal=SATIN AL;}

if((Düşük-Kapat)>0){

if(lastSignal==SATIN AL) {

FirstSell=Kapat;

SoundAlert(ne zaman,"Sat");}

lastSignal=SAT;}

}

dönüş(oranlar_toplam);}

void SoundAlert(datetime i, string dir) {

statik tarihsaat lastAlert=0;

if(lastAlert!=i) {

Alert(StringFormat("%s'de %s'de %s sinyali",dir,Symbol(),TimeToStr(i)));

daniel1983

Şu şekilde deneyin:

#property copyright "Copyright © 2014 Daniel Luchinger"

#property link ""

#property strict

#property strict

#property indicator_chart_window

#property indicator_buffers 4

#property indicator_color1 clrLime

#property indicator_color2 clrRed

#property indicator_color3 clrMagenta

#property indicator_color4 clrCyan

#define BUY 1

#define SELL 2

double Buy[],

Sell[],

FirstBuy[],

FirstSell[];

int OnInit() {

SetIndexBuffer(0,FirstBuy);

SetIndexBuffer(1,FirstSell);

SetIndexBuffer(2,Buy);

SetIndexBuffer(3,Sell);

for(int i=0; i<4; i++) {

SetIndexStyle (i,DRAW_ARROW,STYLE_SOLID,2);}

SetIndexArrow (0,233);

SetIndexArrow (1,234);

SetIndexArrow (2,233);

SetIndexArrow (3,234);

return(INIT_SUCCEEDED);}

void OnDeinit(const int reason) {}

int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[],

const double &open[], const double &high[], const double &low[],

const double &close[], const long &tick_volume[], const long &volume[],

const int &spread[]) {

static int lastSignal=0;

for(int i=MathMin(rates_total-prev_calculated, rates_total-2); i>=0; i--)

{

FirstBuy=FirstSell=Buy=Sell=EMPTY_VALUE;

datetime when=Time;

if((High-Close)<0) {

if(lastSignal==SELL) {

FirstBuy=Close;

SoundAlert(when,"Buy");}

lastSignal=BUY;}

if((Low-Close)>0){

if(lastSignal==BUY) {

FirstSell=Close;

SoundAlert(when,"Sell");}

lastSignal=SELL;}

}

return(rates_total);

}

void SoundAlert(datetime i, string dir) {

static datetime lastAlert=0;

if(lastAlert!=i) {

Alert(StringFormat("%s signal on %s at %s",dir,Symbol(),TimeToStr(i)));

}

}

 

Merhaba Mladen, teşekkür ederim ama kodu bu şekilde yazarsanız, eksik sinyaller var, lütfen bir bakın, bunları günlük grafik USDJPY'de karşılaştırarak bir resim yaptım:

Bu ne olabilir?

Dosyalar:
 
daniel1983:
Merhaba Mladen, teşekkür ederim ama kodu bu şekilde yazarsanız, eksik sinyaller var, lütfen bir bakın, günlük grafik USDJPY'de bunları karşılaştıran bir resim yaptım:

Bu ne olabilir?

daniel1983

Kodunuzda gelecekteki değerleri kullandınız (bunlar:

Yüksek- Kapat

Düşük- Kapat

Normal bir önceki değer olan Kapat'ı kullandım. Olarak değiştirin ama sonra yeniden boyayacak

 

Sevgili mrtools ve mladen

Herhangi biri yardımcı olabilir mi? Tom Demark Hareketli Ortalama, stratejimdeki önemli bir göstergedir, ancak yeni bir raf belirtildiğinde bir alarm çok faydalı olacaktır; Göstergeye bir alarm kodlanabilirse çok minnettar olurum. Nazik yardımlarınızı bekliyorum.

Çok teşekkürler