Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Bu göstergede 4 haneli tırnak kullanılırken bazı sorunlar yaşanmaktadır. Ama kritik değil, sorun 4 haneli 100 seviyesine kadar ölçek, resimleri göstermeye çalıştı, doğru zamanda bakmak gözlerinizi çok yoruyor (birkaç gün sonra, ölçeği değiştirmek için bir iplik gibi olsun) 40 seviyesine kadar - mevcut değeri gösterecek olan metnin histogramlarını ve sağ köşesini görmek daha iyi olur mu?
Оставлю оригинальный текст на русском, тк возможны искажения при переводе(
э этого индикатора есть некоторые проблемы при использовании 4 значных котировок. Но это не критично, самая проблемы это масштабирование на 4 значном до уровня 100, постарался показать на картинках, разглядывать нужный момент весьма напрягает глаза( после нескольких дней, можно ли как нить поменять масштаб до уровня 40 - что бы лучше было видно гистограммы и в правом углу текстом что бы обозначалось текущее значение?
Mladen,
MT5 ile çalışıyorum.
"Adım ile takip" e dönüştürmem gereken bu "basit takip fonksiyonu "na sahibim, bir ipucu verebilir misiniz?
sahip olduğum EA'da
===================
"Sondaki" girişi (puanlara göre)
=> örnek:
sondaki: 4000 (4 puan)
(eski yöntem) fiyat hareket ettirilirse 4 puan hareket durdurma kaybı 4 puan
ama değiştirmem gerekiyor
===================
"Puan cinsinden Takip (Mesafe)" girişi
"Puan olarak takip (Adım)" girişi
=> örnek:
takip mesafesi: 4000 (4 puan)
son adım : 1500 (1,5 puan)
(yeni yöntem) fiyat hareket ettirilirse 4 puan hareket durdurma kaybı 1,5 puan
//| Simple Trailing function |
//+------------------------------------------------------------------+
void fSimpleTrailing(){
if (Trailing<= 0 ){
return ;
}
if (!Pos.Select( _Symbol )){
return ;
}
if (!Sym. RefreshRates ()){
return ;
}
double nsl,tmsl,psl;
switch (Pos.PositionType()){
case POSITION_TYPE_BUY :
nsl=Sym.NormalizePrice(Sym. Bid ()- _Point *Trailing);
if (nsl>=Sym.NormalizePrice(Pos.PriceOpen())){
if (nsl>Sym.NormalizePrice(Pos.StopLoss())){
tmsl=Sym.NormalizePrice(Sym. Bid ()- _Point *Sym.StopsLevel());
if (nsl<tmsl){
Trade.PositionModify( _Symbol ,nsl,Pos.TakeProfit());
}
}
}
break ;
case POSITION_TYPE_SELL :
nsl=Sym.NormalizePrice(Sym. Ask ()+ _Point *Trailing);
if (nsl<=Sym.NormalizePrice(Pos.PriceOpen())){
psl=Sym.NormalizePrice(Pos.StopLoss());
if (nsl<psl || psl== 0 ){
tmsl=Sym.NormalizePrice(Sym. Ask ()+ _Point *Sym.StopsLevel());
if (nsl>tmsl){
Trade.PositionModify( _Symbol ,nsl,Pos.TakeProfit());
}
}
}
break ;
}
}
Bu boyacı değil mi?
Mladen,
MT5 ile çalışıyorum.
"Adım ile takip" e dönüştürmem gereken bu "basit takip fonksiyonu"na sahibim, bir ipucu verebilir misiniz?
sahip olduğum EA'da
===================
"Sondaki" girişi (puanlara göre)
=> örnek:
sondaki: 4000 (4 puan)
(eski yöntem) fiyat hareket ettirilirse 4 puan hareket durdurma kaybı 4 puan
ama değiştirmem gerekiyor
===================
"Puan cinsinden Takip (Mesafe)" girişi
"Puan cinsinden takip (Adım)" girişi
=> örnek:
takip mesafesi: 4000 (4 puan)
son adım : 1500 (1,5 puan)
(yeni yöntem) fiyat hareket ettirilirse 4 puan hareket durdurma kaybı 1,5 puan
//| Simple Trailing function |
//+------------------------------------------------------------------+
void fSimpleTrailing(){
if (Trailing<= 0 ){
return ;
}
if (!Pos.Select( _Symbol )){
return ;
}
if (!Sym. RefreshRates ()){
return ;
}
double nsl,tmsl,psl;
switch (Pos.PositionType()){
case POSITION_TYPE_BUY :
nsl=Sym.NormalizePrice(Sym. Bid ()- _Point *Trailing);
if (nsl>=Sym.NormalizePrice(Pos.PriceOpen())){
if (nsl>Sym.NormalizePrice(Pos.StopLoss())){
tmsl=Sym.NormalizePrice(Sym. Bid ()- _Point *Sym.StopsLevel());
if (nsl<tmsl){
Trade.PositionModify( _Symbol ,nsl,Pos.TakeProfit());
}
}
}
break ;
case POSITION_TYPE_SELL :
nsl=Sym.NormalizePrice(Sym. Ask ()+ _Point *Trailing);
if (nsl<=Sym.NormalizePrice(Pos.PriceOpen())){
psl=Sym.NormalizePrice(Pos.StopLoss());
if (nsl<psl || psl== 0 ){
tmsl=Sym.NormalizePrice(Sym. Ask ()+ _Point *Sym.StopsLevel());
if (nsl>tmsl){
Trade.PositionModify( _Symbol ,nsl,Pos.TakeProfit());
}
}
}
break ;
}
}
Fiyat şuna göre değişirse: ne?
sahip olduğunuz işlevi çağırmadan önce
fiyat "artıyor" ise, "mesafeyi" puan olarak kontrol edersiniz.. "mesafe" ile eşleşiyorsa, adım (puan olarak) kullanarak stoploss hareket ettirirsiniz.
misal:
durma kaybı =8000
takip mesafesi = 4000
takip eden adım = 2000
10000 fiyatına satın alırsın
şimdi fiyat 14000 (sondaki mesafe hedefine ulaşıldı = 4000), şimdi stoploss'u 6000'e taşımanız gerekiyor (8000 - son adım)
şimdi fiyat 18000 (sondaki mesafe hedefine ulaşıldı=4000 ), şimdi stoploss'u 2000'e taşımanız gerekiyor (6000 - son adım)
şimdi fiyat 22000 (sondaki mesafe hedefine ulaşıldı=4000), şimdi stoploss'u "giriş" + 2000'e taşımanız gerekiyor (2000 - takip eden adım =-2000)
şimdi fiyat 24000 (sondaki mesafe hedefine ulaşıldı=4000), şimdi stoploss'u "giriş" + 6000'e taşımanız gerekiyor (-2000 - takip eden adım =-6000)
sahip olduğunuz işlevi çağırmadan önce
fiyat "artıyor" ise, "mesafeyi" puan olarak kontrol edersiniz.. "mesafe" ile eşleşiyorsa, adım (puan olarak) kullanarak stoploss hareket ettirirsiniz.
misal:
durma kaybı =8000
takip mesafesi = 4000
takip eden adım = 2000
10000 fiyatına satın alırsın
şimdi fiyat 14000 (sondaki mesafe hedefine ulaşıldı = 4000), şimdi stoploss'u 6000'e taşımanız gerekiyor (8000 - son adım)
şimdi fiyat 18000 (sondaki mesafe hedefine ulaşıldı=4000 ), şimdi stoploss'u 2000'e taşımanız gerekiyor (6000 - son adım)
şimdi fiyat 22000 (sondaki mesafe hedefine ulaşıldı=4000), şimdi stoploss'u "giriş" + 2000'e taşımanız gerekiyor (2000 - takip eden adım =-2000)
şimdi fiyat 24000 (sondaki mesafe hedefine ulaşıldı=4000), şimdi stoploss'u "giriş" + 6000'e taşımanız gerekiyor (-2000 - takip eden adım =-6000)
Merhaba,
Ok çizen bir fonksiyon yazmak istiyorum. Okun yüzmesini isterim . Herhangi bir fikir? :)
void DrawArrow(string name, int IdSymbol, int x, int y, int width, int corner, color clr)
{
ObjectCreate(0,name,OBJ_ARROW,0,0,0,0,0);
ObjectSetInteger(0,name,OBJPROP_ARROWCODE,IdSymbol);
ObjectSetInteger(0,name,OBJPROP_CORNER,corner);
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(0, name, OBJPROP_COLOR, clr);
ObjectSetInteger(0,name,OBJPROP_WIDTH,width);
ChartRedraw(0);
}
Evet, ama kaydettirmiyorsanız (genellikle zararı durdur veya kar al fiyatlarında olduğu gibi: değiştiklerinde başka bir değişiklik için kriter olmaya başlarlar) bunu değişkenlerde bulundurmak zorunda kalırsınız ve bu hata kanıtı dışında bir şey. Denediğiniz şey kod tarafından tekrarlanamaz veya her durum için bu durakları sabit kodlamanız gerekir, bu da sabit kodlanmış fiyatlar ile tam olarak aynı olmayan herhangi bir açık fiyat için kullanılamaz hale getirir.
merhaba mladen,
işte örnek-ea
Merhaba,
Ok çizen bir fonksiyon yazmak istiyorum. Okun yüzmesini isterim . Herhangi bir fikir? :)
void DrawArrow(string name, int IdSymbol, int x, int y, int width, int corner, color clr)
{
ObjectCreate(0,name,OBJ_ARROW,0,0,0,0,0);
ObjectSetInteger(0,name,OBJPROP_ARROWCODE,IdSymbol);
ObjectSetInteger(0,name,OBJPROP_CORNER,corner);
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(0, name, OBJPROP_COLOR, clr);
ObjectSetInteger(0,name,OBJPROP_WIDTH,width);
ChartRedraw(0);
}
"Yüzer" ok ne anlama geliyor?
Not: ok nesneleri x ve y koordinatlarını veya köşeyi kullanmıyor. Zamanı ve fiyatı kullanıyorlar
merhaba bay mladen
lütfen MTF yap
saygınlık