Şimdi benim görevim, OpenSend'den hemen sonra OrderModify aracılığıyla bir durak belirlemek ve bu durağın varlığını kontrol etmek.
İşe yaramadıysa, artık izlemiyoruz, değilse, hata nedir ve yüklemeye devam etmeye çalışın ... kurun ... ve kurun ...)
RefreshRates();double SLS =Ask+ Stop *Point;//стоп на продажу
Modify =OrderModify(OrderTicket(),OrderOpenPrice(), SLS ,OrderTakeProfit(),0,Red);if( Modify ==false){Print("Ошибка при попытке установить стоп для SEL, код ошибки ="+GetLastError());for(int j =0;; j ++)//пытаемся пока ДЦ не умрет){
SLS = SLS + j *Point;//увеличиваем стоп на 1 пп RefreshRates();
Modify =OrderModify(OrderTicket(),OrderOpenPrice(), SLS ,OrderTakeProfit(),0,Red);if( Modify ==true)break;elsePrint("Ошибка при попытке установить стоп для SEL, код ошибки ="+GetLastError());}}
1. neden bir değişkenin tipini bir kez daha tanımlayın - bu hata derleme sırasında ortaya çıkmalı
2. devam etmek yerine - yeni bir yinelemeye geçiş (yani, yeni bir değişiklik girişimine), döngüden kesme - çıkışı kullanın (ayrıca, sonsuz, bu iyi değil)
açık #1 satış 0.01 EURUSD tamam 1'i değiştir 0,01 EURUSD sat tamam SEL için durdurma ayarlamaya çalışırken hata, hata kodu =0 kaybı durdur #1 açık #2 0.01 EURUSD sat tamam 2'yi değiştir 0,01 EURUSD sat tamam SEL için durdurma ayarlamaya çalışırken hata, hata kodu =0 kaybı durdur #2 açık #3 0.01 EURUSD sat tamam #3'ü değiştir 0.01 EURUSD sat tamam SEL için durdurma ayarlamaya çalışırken hata, hata kodu =0
SATMAK için giriş yap
RefreshRates();if((OrdersTotal()==0)&&(Bid== Enter ))//бъем до упора эту цену{if(IsTradeContextBusy()==false){OrderSend(Symbol(),OP_SELL, Lot , Enter , Slippage ,0, ldTake , lsComm , MAGIC ,0, clOpenSell );if(OrdersTotal()>0){
ModifySL ();//ставим стоп
SLBU =OrderOpenPrice()- BU ;//цена БУ}elsePrint("Ошибка при попытке установить ордер на SELL, ",OrderOpenPrice()," код ошибки ="+GetLastError());}}
Değiştir SATIŞ
void ModifySL (){if(OrderSelect(0, SELECT_BY_POS )==true)// Если есть открытый ордер{if(OrderType()==OP_BUY){RefreshRates();OrderModify(OrderTicket(),OrderOpenPrice(),Bid- StopL *Point,OrderTakeProfit(),0,Red);if(OrderStopLoss()==0)Print("Ошибка при попытке установить стоп для BUY, ",OrderStopLoss()," код ошибки ="+GetLastError());}elseRefreshRates();OrderModify(OrderTicket(),OrderOpenPrice(),Ask+ StopL *Point,OrderTakeProfit(),0,Red);if(OrderStopLoss()==0)Print("Ошибка при попытке установить стоп для SEL, ",OrderStopLoss()," код ошибки ="+GetLastError());}
}
}
İşte eleştiri için pozun açılış ve modifikasyonunun son hali.
Bu seçeneğin "+" ve "-"?
açılış satmak
RefreshRates();if((OrdersTotal()==0)&&(Bid== Enter ))//бъем до упора эту цену{if(IsTradeContextBusy()==false){OrderSend(Symbol(),OP_SELL, Lot , Enter , Slippage ,0, ldTake , lsComm , MAGIC ,0, clOpenSell );if(OrdersTotal()>0){
ModifySL ();//ставим стоп
SLBU =OrderOpenPrice()- BU ;//цена БУ}elsePrint("Ошибка при попытке установить ордер на SELL, ",OrderOpenPrice()," код ошибки ="+GetLastError());}}
modifikasyonu durdur
void ModifySL (){if(OrderSelect(0, SELECT_BY_POS )==true)// Если есть открытый ордер{if(OrderType()==OP_BUY){RefreshRates();bool Modify =OrderModify(OrderTicket(),OrderOpenPrice(),Bid- StopL *Point,OrderTakeProfit(),0,Red);if( Modify ==false)Print("Ошибка при попытке установить стоп для BUY, ",OrderStopLoss()," код ошибки ="+GetLastError());}else{RefreshRates();
Modify =OrderModify(OrderTicket(),OrderOpenPrice(),Ask+ StopL *Point,OrderTakeProfit(),0,Red);if( Modify ==false)Print("Ошибка при попытке установить стоп для SEL, ",OrderStopLoss()," код ошибки ="+GetLastError());}}}
Konuyu dikkatlice okuyunuz!
orada seçenek hakkında yazıyorum
girişi ihlal ediyor! ARACI yeniden alıntı yapsa bile...
'hata kodu 138 ve gerçek hesap'
Bu seçenekten bahsediyorsanız ve OrderModify'a atıfta bulunuyorsa
YuraZ писал(а) >>
izin verilen
alınan sinyal -
bir kene üzerinde, giriş hacmi kez 5
kırmadı! ortaya çıktı
sinyalden sonraki ikinci tikte, içeri girip daha fazla çekiçliyoruz!
..o zaman henüz kenelere dönüşmedim)) 1. tik, 2. tik nasıl dikkate alınır?
uyku(2000); // bir hatadan sonra 2 saniye beklemek
Yeni bir kene için ne kadar beklemek gerekir?
Böyle deneyin.
Şimdi benim görevim, OpenSend'den hemen sonra OrderModify aracılığıyla bir durak belirlemek ve bu durağın varlığını kontrol etmek.
İşe yaramadıysa, artık izlemiyoruz, değilse, hata nedir ve yüklemeye devam etmeye çalışın ... kurun ... ve kurun ...)
bununla değiştirin:
burada:
1. neden bir değişkenin tipini bir kez daha tanımlayın - bu hata derleme sırasında ortaya çıkmalı
2. devam etmek yerine - yeni bir yinelemeye geçiş (yani, yeni bir değişiklik girişimine), döngüden kesme - çıkışı kullanın (ayrıca, sonsuz, bu iyi değil)
1. neden bir değişkenin tipini bir kez daha tanımlayın - bu hata derleme sırasında ortaya çıkmalı
Sabit)
2. devam etmek yerine - yeni bir yinelemeye geçiş (yani yeni bir değişiklik girişimine), döngüden ara - çıkış kullanın
Teşekkür ederim!
..ve sonsuz, ki bu iyi değil ..
Sonsuz olduğu için mutlaka stop ayarı yapılmalıdır..
Ve bir iki girişimde bulunursam ve bir nedenden dolayı ret olursa ve bu süre zarfında fiyat pozisyonun çok üzerine çıkarsa.. O zaman ne yapmalıyım?
Günlükteki hatalar:
açık #1 satış 0.01 EURUSD tamam
1'i değiştir 0,01 EURUSD sat tamam
SEL için durdurma ayarlamaya çalışırken hata, hata kodu =0
kaybı durdur #1
açık #2 0.01 EURUSD sat tamam
2'yi değiştir 0,01 EURUSD sat tamam
SEL için durdurma ayarlamaya çalışırken hata, hata kodu =0
kaybı durdur #2
açık #3 0.01 EURUSD sat tamam
#3'ü değiştir 0.01 EURUSD sat tamam
SEL için durdurma ayarlamaya çalışırken hata, hata kodu =0
SATMAK için giriş yap
Değiştir SATIŞ
Bu seçenekten bahsediyorsanız ve OrderModify'a atıfta bulunuyorsa
..o zaman henüz kenelere dönüşmedim)) 1. tik, 2. tik nasıl dikkate alınır?
uyku(2000); // bir hatadan sonra 2 saniye beklemek
Yeni bir kene için ne kadar beklemek gerekir?
her tikte
isminde
BAŞLAT()
{
}
---
uzun bir süre BAŞLAT işlevindeyseniz,
bir veya daha fazla keneyi kaçırabilirsiniz
mesela BAŞLAT fonksiyonuna girdiniz ve 10 dakika oturdunuz, mantıklı keneler gelecek ama yakalayamayacaksınız.
geceleri tikler yeterince uzun süre gelmeyebilir
---
çünkü BAŞLANGIÇ'ta uzun süre kalmanın keneleri yakalama üzerinde kötü bir etkisi vardır (eğer sizin için önemliyse)
minimum döngü ve gecikmeyle yalın programlar yazın
---
...uzun bir süre BAŞLAT işlevindeyseniz, unutmayın
bir veya daha fazla keneyi kaçırabilirsiniz
mesela BAŞLAT fonksiyonuna girdiniz ve 10 dakika oturdunuz, mantıklı keneler gelecek ama yakalayamayacaksınız.
geceleri tikler yeterince uzun süre gelmeyebilir
---
çünkü BAŞLANGIÇ'ta uzun süre kalmanın keneleri yakalama üzerinde kötü bir etkisi vardır (eğer sizin için önemliyse)
minimum döngü ve gecikmeyle yalın programlar yazın
---
Bir siparişi değiştirmeden veya yerleştirmeden önce RefreshRates() işlevini kullanırsanız, Start() dışındaki durum güncellenir, yani. keneler?
Doğru şekilde anladım?
İşte eleştiri için pozun açılış ve modifikasyonunun son hali.
Bu seçeneğin "+" ve "-"?
açılış satmak
modifikasyonu durdur