Nasıl kodlanır? - sayfa 100

 

sadece al sat yok

karlı bir ea yaratmak, ancak iki kat daha iyi olabilir (belki) şu an için sadece satın alımlar yapılıyor, asla satıcı siparişi yok.

Nedenini bilen var mı?

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

//| Sinyal Başlıyor |

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

double sig_buy = iCustom(NULL, 0, "Eğim Yön Çizgisi",40, 2, 0, 0, 0);

double sig_sell = iCustom(NULL, 0, "Eğim Yön Çizgisi",40, 2, 0, 1, 0);

double Sg=iCustom(NULL,0,"RSIFilter_v1",5,5,0,1);

if (sig_buy>0 && Sg>0) Sipariş = SIGNAL_BUY;

if (sig_sell>0 && Sg<0 ) Sipariş = SIGNAL_SELL;

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

//| Sinyal Sonu |

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

 

toplam kodu yayınlayın, yanlış olan başka bir şey var ...

ikinci adım, belki de iCustom() işlevlerinizdir .

panteraschoice:
karlı bir ea yaratmak, ancak iki kat daha iyi olabilir (belki) şu an için sadece satın alımlar yapılıyor, asla satıcı siparişi yok.

Nedenini bilen var mı?

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

//| Sinyal Başlıyor |

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

double sig_buy = iCustom(NULL, 0, "Eğim Yön Çizgisi",40, 2, 0, 0, 0);

double sig_sell = iCustom(NULL, 0, "Eğim Yön Çizgisi",40, 2, 0, 1, 0);

double Sg=iCustom(NULL,0,"RSIFilter_v1",5,5,0,1);

if (sig_buy>0 && Sg>0) Sipariş = SIGNAL_BUY;

if (sig_sell>0 && Sg<0 ) Sipariş = SIGNAL_SELL;

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

//| Sinyal Sonu |

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

Nesneleri Gelecek Tarihlere Yerleştirme ve Görüntüleme?

Merhaba, MQL4'ün geleceğe bir gösterge nesnesi yerleştirmeyi ve gelecekteki nesneyi görüntülemeyi destekleyip desteklemediğini bilen var mı? ObjectMove'u gelecekteki bir tarihe denedim (hata dönüşü yok), ancak ekran son onay tarihinde duruyor. teşekkürler

 

MA'ların kaydırma özelliği var... demek istediğin buysa. +2, 2 TF çubuğu ileri kaydırır. -2 2 geri kayar.

 
IN10TION:
toplam kodu yayınlayın, yanlış olan başka bir şey daha var... ikinci adım belki de iCustom() işlevlerinizdir.

#özellik bağlantısı "https://www.forex-tsd.com"

harici int SihirliSayı = 1001;

extern bool EachTickMode = False;

dış çift Lot = 0,01;

extern int Kayma = 4;

extern bool StopLossMode = True;

harici int StopLoss = 70;

extern bool TakeProfitMode = True;

harici int TakeProfit = 300;

extern bool TrailingStopMode = True;

extern int TrailingStop = 25;

harici çift MaximumRisk =0;//0.15

dış çift Azaltma Faktörü =3;

harici int MaksOrders = 3000;

extern bool UseHourTrade = False;

extern int FromHourTrade = 8;

harici int ToHourTrade = 18;

#define SIGNAL_NONE 0

#define SIGNAL_BUY 1

#define SIGNAL_SELL 2

#define SIGNAL_CLOSEBUY 3

#define SIGNAL_CLOSESEL 4

int BarCount;

int Akım;

bool TickCheck = Yanlış;

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

//| uzman başlatma işlevi |

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

int init() {

BarCount = Barlar;

if (EachTickMode) Akım = 0; başka Akım = 1;

dönüş(0);

}

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

//| uzman sıfırlama işlevi |

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

int tanım() {

dönüş(0);

}

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

//| uzman başlatma işlevi |

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

int start() {

if (UseHourTrade){

if (!(Hour()>=FromHourTrade && Hour()<=ToHourTrade)) {

Comment("Ticaret zamanı daha gelmedi!");

dönüş(0);

}

}

int Sıra = SIGNAL_NONE;

int Toplam, Bilet;

çift StopLossLevel, TakeProfitLevel;

int basamak = MarketInfo(Symbol(),MODE_DIGITS);

if (EachTickMode && Çubuklar != BarCount) EveryTickMode = False;

Toplam = SiparişlerToplam();

Sıra = SIGNAL_NONE;

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

//| Sinyal Başlıyor |

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

double sig_buy = iCustom(NULL, 0, "Eğim Yön Çizgisi",40, 2, 0, 0, 0);

double sig_sell = iCustom(NULL, 0, "Eğim Yön Çizgisi",40, 2, 0, 1, 0);

double Sg=iCustom(NULL,0,"RSIFilter_v1",5,5,0,1);

if (sig_buy>0 && Sg>0) Sipariş = SIGNAL_BUY;

if (sig_sell>0 && Sg<0 ) Sipariş = SIGNAL_SELL;

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

//| Sinyal Sonu |

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

//Satın almak

if (Sipariş == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Barlar != BarCount)))) {

if(ScanTrades() < MaxOrders) {

// Serbest marjı kontrol et

if (AccountFreeMargin() < (1000 * Lot)) {

Print("Paramız yok. Serbest Marj = ", AccountFreeMargin());

dönüş(0);

}

StopLossLevel = Sor - StopLoss * Puan;

TakeProfitLevel = Sor + TakeProfit * Puan;

Bilet = OrderSend(Symbol(), OP_BUY, LotsOptimized(),

NormalizeDouble(Sor,rakam),

kayma,

NormalizeDouble(StopLossLevel,hane),

NormalizeDouble(TakeProfitLevel,rakam),

"Satın al(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);

if(Bilet > 0) {

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) Print("SİPARİŞ açıldı : ", OrderOpenPrice()); else Print("SATIN AL emri açılırken hata oluştu : ", GetLastError());

}

if (EachTickMode) TickCheck = Doğru;

if (!EachTickMode) BarCount = Çubuklar;

dönüş(0);

}

}

//Satmak

if (Sipariş == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Barlar != BarCount)))) {

if(ScanTrades() < MaxOrders) {

// Serbest marjı kontrol et

if (AccountFreeMargin() < (1000 * Lot)) {

Print("Paramız yok. Serbest Marj = ", AccountFreeMargin());

dönüş(0);

}

StopLossLevel = Teklif + StopLoss * Puan;

TakeProfitLevel = Teklif - TakeProfit * Puan;

Bilet = OrderSend(Symbol(), OP_SELL, LotsOptimized(),

NormalizeDouble(Teklif,hane),

kayma,

NormalizeDouble(StopLossLevel,hane),

NormalizeDouble(TakeProfitLevel,rakam),

"Sat(#" + MagicNumber + ")", MagicNumber, 0, DeepPink);

if(Bilet > 0) {

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) Print(" SAT emri açıldı : ", OrderOpenPrice()); else Print("SATIŞ emrini açarken hata: ", GetLastError());

}

if (EachTickMode) TickCheck = Doğru;

if (!EachTickMode) BarCount = Çubuklar;

dönüş(0);

}

}

//Konumu kontrol et

for (int i = 0; i < Toplam; ben ++) {

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {

if(OrderType() == OP_BUY && OrderMagicNumber()==MagicNumber ) {

//Kapat

if (Sipariş == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Barlar != BarCount)))) {

OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen);

if (EachTickMode) TickCheck = Doğru;

if (!EachTickMode) BarCount = Çubuklar;

dönüş(0);

}

//Sondaki durdurma

if(TrailingStopMode && TrailingStop > 0) {

if(Bid - OrderOpenPrice() > Nokta * TrailingStop) {

if(OrderStopLoss() < Teklif - Nokta * TrailingStop) {

OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);

if (!EachTickMode) BarCount = Çubuklar;

dönüş(0);

}

}

}

} başka {

if(OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber)

{

//Kapat

if (Sipariş == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Barlar != BarCount))))

{

OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange);

if (EachTickMode) TickCheck = Doğru;

if (!EachTickMode) BarCount = Çubuklar;

dönüş(0);

}

//Sondaki durdurma

if (TrailingStopMode && TrailingStop > 0)

{

if((OrderOpenPrice() - Sor) > (Nokta * TrailingStop)) {

if((OrderStopLoss() > (Sor + Nokta * TrailingStop)) || (OrderStopLoss() == 0)) {

OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange);

if (!EachTickMode) BarCount = Çubuklar;

dönüş(0);

}

}

}

}}

}

}

if (!EachTickMode) BarCount = Çubuklar;

dönüş(0);

}

int ScanTrades()

{

int toplam = SiparişlerToplam();

int sayılar = 0;

for(int cnt=0; cnt<toplam; cnt++)

{

OrderSelect(cnt, SELECT_BY_POS);

if(OrderSymbol() == Symbol() && OrderType()<=OP_SELLSTOP && OrderMagicNumber() == MagicNumber)

sayılar++;

}

dönüş(sayılar);

}

//bool ExistPositions() {

// for (int i=0; i<SiparişToplam(); i++) {

// if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

// if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) {

// dönüş(Doğru);

// }

// }

// }

// dönüş(yanlış);

//}

çift LotOptimize Edilmiş()

{

double lot=Lot;

int siparişler=TarihToplam(); // geçmiş sipariş toplamı

int kayıplar=0; // Kesintisiz siparişlerin sayısı

//---- parti boyutunu seç

if(MaximumRisk>0)lot=NormalizeDouble(Lot*AccountFreeMargin()*MaximumRisk/1000.0,1);

//---- Kesintisiz siparişlerin kayıp sayısını hesapla

if(DecreaseFactor>0)

{

for(int i=sipariş-1;i>=0;i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Geçmişte hata!"); kırmak; }

if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) devam ediyor;

//----

if(OrderProfit()>0) kırılması;

if(OrderProfit()<0) kayıpları++;

}

if(kayıplar>1) lot=NormalizeÇift(lot-lot*kayıplar/AzalışFaktörü,1);

}

//---- parti boyutunu iade et

if(lot<0.1) lot=0.1;

dönüş(lot);

}

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

 

Size neyin yanlış gittiğine dair bir ipucu veren herhangi bir hata kodu veya başka bir şey (geri testte) alıyor musunuz?

panteraschoice:
#özellik bağlantısı "https://www.forex-tsd.com"

harici int SihirliSayı = 1001;

extern bool EachTickMode = False;

dış çift Lot = 0,01;

extern int Kayma = 4;

extern bool StopLossMode = True;

harici int StopLoss = 70;

extern bool TakeProfitMode = True;

harici int TakeProfit = 300;

extern bool TrailingStopMode = True;

extern int TrailingStop = 25;

harici çift MaximumRisk =0;//0.15

dış çift Azaltma Faktörü =3;

harici int MaksOrders = 3000;

extern bool UseHourTrade = False;

extern int FromHourTrade = 8;

harici int ToHourTrade = 18;

#define SIGNAL_NONE 0

#define SIGNAL_BUY 1

#define SIGNAL_SELL 2

#define SIGNAL_CLOSEBUY 3

#define SIGNAL_CLOSESEL 4

int BarCount;

int Akım;

bool TickCheck = Yanlış;

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

//| uzman başlatma işlevi |

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

int init() {

BarCount = Barlar;

if (EachTickMode) Akım = 0; başka Akım = 1;

dönüş(0);

}

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

//| uzman sıfırlama işlevi |

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

int tanım() {

dönüş(0);

}

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

//| uzman başlatma işlevi |

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

int start() {

if (UseHourTrade){

if (!(Hour()>=FromHourTrade && Hour()<=ToHourTrade)) {

Comment("Ticaret zamanı daha gelmedi!");

dönüş(0);

}

}

int Sıra = SIGNAL_NONE;

int Toplam, Bilet;

çift StopLossLevel, TakeProfitLevel;

int basamak = MarketInfo(Symbol(),MODE_DIGITS);

if (EachTickMode && Çubuklar != BarCount) EveryTickMode = False;

Toplam = SiparişlerToplam();

Sıra = SIGNAL_NONE;

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

//| Sinyal Başlıyor |

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

double sig_buy = iCustom(NULL, 0, "Eğim Yön Çizgisi",40, 2, 0, 0, 0);

double sig_sell = iCustom(NULL, 0, "Eğim Yön Çizgisi",40, 2, 0, 1, 0);

double Sg=iCustom(NULL,0,"RSIFilter_v1",5,5,0,1);

if (sig_buy>0 && Sg>0) Sipariş = SIGNAL_BUY;

if (sig_sell>0 && Sg<0 ) Sipariş = SIGNAL_SELL;

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

//| Sinyal Sonu |

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

//Satın almak

if (Sipariş == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Barlar != BarCount)))) {

if(ScanTrades() < MaxOrders) {

// Serbest marjı kontrol et

if (AccountFreeMargin() < (1000 * Lot)) {

Print("Paramız yok. Serbest Marj = ", AccountFreeMargin());

dönüş(0);

}

StopLossLevel = Sor - StopLoss * Puan;

TakeProfitLevel = Sor + TakeProfit * Puan;

Bilet = OrderSend(Symbol(), OP_BUY, LotsOptimized(),

NormalizeDouble(Sor,rakam),

kayma,

NormalizeDouble(StopLossLevel,hane),

NormalizeDouble(TakeProfitLevel,rakam),

"Satın al(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);

if(Bilet > 0) {

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) Print("SİPARİŞ açıldı : ", OrderOpenPrice()); else Print("SATIN AL emri açılırken hata oluştu : ", GetLastError());

}

if (EachTickMode) TickCheck = Doğru;

if (!EachTickMode) BarCount = Çubuklar;

dönüş(0);

}

}

//Satmak

if (Sipariş == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Barlar != BarCount)))) {

if(ScanTrades() < MaxOrders) {

// Serbest marjı kontrol et

if (AccountFreeMargin() < (1000 * Lot)) {

Print("Paramız yok. Serbest Marj = ", AccountFreeMargin());

dönüş(0);

}

StopLossLevel = Teklif + StopLoss * Puan;

TakeProfitLevel = Teklif - TakeProfit * Puan;

Bilet = OrderSend(Symbol(), OP_SELL, LotsOptimized(),

NormalizeDouble(Teklif,hane),

kayma,

NormalizeDouble(StopLossLevel,hane),

NormalizeDouble(TakeProfitLevel,rakam),

"Sat(#" + MagicNumber + ")", MagicNumber, 0, DeepPink);

if(Bilet > 0) {

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) Print("Sipariş açıldı : ", OrderOpenPrice()); else Print("SATIŞ emrini açarken hata: ", GetLastError());

}

if (EachTickMode) TickCheck = Doğru;

if (!EachTickMode) BarCount = Çubuklar;

dönüş(0);

}

}

//Konumu kontrol et

for (int i = 0; i < Toplam; ben ++) {

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {

if(OrderType() == OP_BUY && OrderMagicNumber()==MagicNumber ) {

//Kapat

if (Sipariş == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Barlar != BarCount)))) {

OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen);

if (EachTickMode) TickCheck = Doğru;

if (!EachTickMode) BarCount = Çubuklar;

dönüş(0);

}

//Sondaki durdurma

if(TrailingStopMode && TrailingStop > 0) {

if(Bid - OrderOpenPrice() > Nokta * TrailingStop) {

if(OrderStopLoss() < Teklif - Nokta * TrailingStop) {

OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);

if (!EachTickMode) BarCount = Çubuklar;

dönüş(0);

}

}

}

} başka {

if(OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber)

{

//Kapat

if (Sipariş == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Barlar != BarCount))))

{

OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange);

if (EachTickMode) TickCheck = Doğru;

if (!EachTickMode) BarCount = Çubuklar;

dönüş(0);

}

//Sondaki durdurma

if (TrailingStopMode && TrailingStop > 0)

{

if((OrderOpenPrice() - Sor) > (Nokta * TrailingStop)) {

if((OrderStopLoss() > (Sor + Nokta * TrailingStop)) || (OrderStopLoss() == 0)) {

OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange);

if (!EachTickMode) BarCount = Çubuklar;

dönüş(0);

}

}

}

}}

}

}

if (!EachTickMode) BarCount = Çubuklar;

dönüş(0);

}

int ScanTrades()

{

int toplam = SiparişlerToplam();

int sayılar = 0;

for(int cnt=0; cnt<toplam; cnt++)

{

OrderSelect(cnt, SELECT_BY_POS);

if(OrderSymbol() == Symbol() && OrderType()<=OP_SELLSTOP && OrderMagicNumber() == MagicNumber)

sayılar++;

}

dönüş(sayılar);

}

//bool ExistPositions() {

// for (int i=0; i<SiparişToplam(); i++) {

// if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

// if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) {

// dönüş(Doğru);

// }

// }

// }

// dönüş(yanlış);

//}

çift LotOptimize Edilmiş()

{

double lot=Lot;

int siparişler=TarihToplam(); // geçmiş sipariş toplamı

int kayıplar=0; // Kesintisiz siparişlerin sayısı

//---- parti boyutunu seç

if(MaximumRisk>0)lot=NormalizeDouble(Lot*AccountFreeMargin()*MaximumRisk/1000.0,1);

//---- Kesintisiz siparişlerin kayıp sayısını hesapla

if(DecreaseFactor>0)

{

for(int i=sipariş-1;i>=0;i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Geçmişte hata!"); kırmak; }

if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) devam ediyor;

//----

if(OrderProfit()>0) kırılması;

if(OrderProfit()<0) kayıpları++;

}

if(kayıplar>1) lot=NormalizeÇift(lot-lot*kayıplar/AzalışFaktörü,1);

}

//---- parti boyutunu iade et

if(lot<0.1) lot=0.1;

dönüş(lot);

}

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

Şimdi sadece RSIFilter ile bir backtest yapıyorum, bu başlıkta birkaç mesaj önce RSIMixFilter kullanıyorum, bu göstergeyi yayınladım ve AL ve SAT alıyorum, bu yüzden AL ve SAT emirlerini yapma mantığı tamam, sorun iCustom sinyallerinizle ilgili...

RSIMixFilter, bu başlıkta yok, üzgünüm, burada SOR

panteraschoice:
karlı bir ea yaratmak, ancak iki kat daha iyi olabilir (belki) şu an için sadece satın alımlar yapılıyor, asla satıcı siparişi yok.

Nedenini bilen var mı?

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

//| Sinyal Başlıyor |

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

double sig_buy = iCustom(NULL, 0, "Eğim Yön Çizgisi",40, 2, 0, 0, 0);

double sig_sell = iCustom(NULL, 0, "Eğim Yön Çizgisi",40, 2, 0, 1, 0);

double Sg=iCustom(NULL,0,"RSIFilter_v1",5,5,0,1);

if (sig_buy>0 && Sg>0) Sipariş = SIGNAL_BUY;

if (sig_sell>0 && Sg<0 ) Sipariş = SIGNAL_SELL;

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

//| Sinyal Sonu |

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

Sadece bu RSIMixFilter ile Nisan 2007'den bu yana EURUSD H1'de bazı geriye dönük testler yaptım...

Modelleme kalitesi %90 olmalı, neden göstermiyor bilmiyorum.

panteraschoice:
karlı bir ea yaratmak, ancak iki kat daha iyi olabilir (belki) şu an için sadece satın alımlar yapılıyor, asla satıcı siparişi yok.

Nedenini bilen var mı?

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

//| Sinyal Başlıyor |

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

double sig_buy = iCustom(NULL, 0, "Eğim Yön Çizgisi",40, 2, 0, 0, 0);

double sig_sell = iCustom(NULL, 0, "Eğim Yön Çizgisi",40, 2, 0, 1, 0);

double Sg=iCustom(NULL,0,"RSIFilter_v1",5,5,0,1);

if (sig_buy>0 && Sg>0) Sipariş = SIGNAL_BUY;

if (sig_sell>0 && Sg<0 ) Sipariş = SIGNAL_SELL;

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

//| Sinyal Sonu |

//+------------------------------------------- -------------------+
Dosyalar:
 

Bu geriye dönük test , alım-satım mı verdi yoksa sadece bir tanesi mi? Benimle sadece alım var (veya sadece kodu değiştirdiğimde satıyorum).

Gerçekten bir hata gösteren hiçbir şey görmedim.

 
IN10TION:
Şimdi sadece RSIFilter ile bir backtest yapıyorum, bu başlıkta birkaç mesaj önce RSIMixFilter kullanıyorum, bu göstergeyi yayınladım ve AL ve SAT alıyorum, bu yüzden AL ve SAT emirlerini yapma mantığı tamam, sorun iCustom sinyallerinizle ilgili...

Yani bu tamam mı?

double Sg=iCustom(NULL,0,"RSIFilter_v1",5,5,0,1);

if ( Sg>0) Sıra = SIGNAL_BUY;

if (Sg<0 ) Sıra = SIGNAL_SELL;

Neden: