Hata Kodları - sayfa 4

 
 

MT4 - Ordersend() ile Hata #130

Merhaba. MT4'te OrderSend() kullanarak bir sipariş oluşturmaya çalışıyorum ancak Hata #130'u almaya devam ediyorum. Hata #130'un, mevcut piyasa fiyatına çok yakın ayarlanmış zararı durdur veya kar al seviyeleri ile ilgili olduğunu anlıyorum. Onları başarılı olmadan değiştirdim. Hem göreli hem de gerçek değerleri kullandım.

1. Bir satın alma için göreli kar al ve zararı durdur değerlerinin kullanılması:

bilet=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-50*Puan,Ask+50*Point,"Uzun Breakout",16384,0,Yeşil);

2.Satın alma için Stoploss ve TakeProfit için Gerçek değerleri kullanma:

bilet=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss,TakeProfit,"Uzun Ara",16384,0,Yeşil);

nerede:

double StopLoss = NormalizeDouble(StopLoss, Digits);

double TakeProfit = NormalizeDouble(TakeProfit, Digits);

ve bu değerler harici değerler olarak ayarlanır (örn. harici çift StopLoss=1.5000, harici double=TakeProfit=1.6000)

Brokerim FXCM. StoplLoss ve TakeProfit değerlerini 10 ile çarpmayı denedim. Tüm döviz çiftleri için aynı sonucu alıyorum.

Her durumda Hata #130 alıyorum. Herhangi bir fikir?

Şerefe

 

Bir satın alma pozisyonu için kar al ayarını yaparken. TP

Bid+(50*Point)

Ask+'ın aksine...

Chris

 

Üzgünüm, evet, yazmak benim hatam. Yine de sorun devam ediyor korkarım

 

Zarar durdurma ve kâr alma seviyelerini yazdırmak için sipariş gönderme işlevinden hemen önce bir yorum yapmayı veya yazdırmayı deneyin. Ayrıca, stoploss/tp'nin minimum mesafeden daha fazla olduğundan emin olun.

Bunu sipariş göndermeden önce yerleştirin:

if(StopLoss!=0 && StopLoss<(MarketInfo(Symbol(),MODE_STOPLEVEL)))

{

StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL);

}

if(TakeProfit!=0 && TakeProfit<(MarketInfo(Symbol(),MODE_STOPLEVEL)))

{

TakeProfit=MarketInfo(Symbol(),MODE_STOPLEVEL);

}

Chris

 
kvhutch:
Merhaba. MT4'te OrderSend() kullanarak bir sipariş oluşturmaya çalışıyorum ancak Hata #130'u almaya devam ediyorum. Hata #130'un, mevcut piyasa fiyatına çok yakın ayarlanmış zararı durdur veya kar al seviyeleri ile ilgili olduğunu anlıyorum. Onları başarılı olmadan değiştirdim. Hem göreli hem de gerçek değerleri kullandım.

1. Bir satın alma için göreli kar al ve zararı durdur değerlerinin kullanılması:

bilet=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-50*Puan,Ask+50*Point,"Uzun Breakout",16384,0,Yeşil);

2.Satın alma için Stoploss ve TakeProfit için Gerçek değerleri kullanma:

bilet=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss,TakeProfit,"Uzun Ara",16384,0,Yeşil);

nerede:

double StopLoss = NormalizeDouble(StopLoss, Digits);

double TakeProfit = NormalizeDouble(TakeProfit, Digits);

ve bu değerler harici değerler olarak ayarlanır (örn. harici çift StopLoss=1.5000, harici double=TakeProfit=1.6000)

Brokerim FXCM. StoplLoss ve TakeProfit değerlerini 10 ile çarpmayı denedim. Tüm döviz çiftleri için aynı sonucu alıyorum.

Her durumda Hata #130 alıyorum. Herhangi bir fikir?

Şerefe

5 basamaklı FXCM.. veya hangi ülkeden FXCM kullanıyorsunuz?

 

Cevaplarınız için teşekkürler. Evet, Stop Loss ve Take Profit değerlerini kontrol etmek için print deyimlerini kullandım. Çıktıda iyi görünüyordu.

İngiltere'de FXCM kullanıyorum. Yen olmayan para birimlerinde ondalık basamaktan sonra 5 basamak bulunur (örn. GBPUSD: 1.55125). Yen çaprazlarının üç hanesi vardır (örneğin GBPJPY: 132.393). Bu durumda değerlerin muhtemelen 10 ile çarpılması gerektiğini düşündüm.

Şerefe

 
kvhutch:
Bu durumda değerlerin muhtemelen 10 ile çarpılması gerektiğini düşündüm. Şerefe

init işlevinde böyle bir şey var mı?

if (Digits == 3 || Digits == 5)

{

Factor = 10;

StopLoss *= 10;

TakeProfit *= 10;

MaxSpread *= 10;

Slippage *=10;

}
 

Hayır, OrderSend() ifadesinde Take Profit ve StopLoss değerlerini 10 ile çarpıyorum. Bu değerlerin kullanımını biraz daha detaylandırabilir misiniz? Çok teşekkürler

 

Onlar sadece on ile çarpılan dış değişkenlerdir. Bunları değişkenlerinizi içerecek şekilde ayarlarsınız. Ancak yalnızca Stoploss gibi kesirli pip brokerlerinde farklılık gösteren değişkenler yaparsınız.

Bu, giriş listesinde stoploss 20 pip olarak girilirse, broker kesirli ise otomatik olarak 200'e ayarlayacaktır.

Neden: