açmadan önce verileri güncelleyin, fiyatı normalleştirin
şarap :
Hemen böyle bir kapatmanın tavsiye edilmediğini yazdım. Belgelenmemiş bir özellik kullanılıyor. Ancak herhangi bir açık pozisyon için kapanış zamanı sıfırdır ve kapanış fiyatı mevcut kapanış fiyatına eşit olacaktır.
Basit bir takip eden durdurmanın durdurma seviyesini değil, fiyatı takip eden bekleyen bir emri hareket ettirmesini sağlayan var mı? Bunu yapmak mümkün mü? Hatta denedim, kıvrandım, sadece ertelemenin bir hasta gibi fiyatın arkasında ileri geri hareket etmesini sağladım ...
Belki de en basit takip işlevini, duraklar yerine siparişlerle ilgilenmesi için yeniden yapmak mümkün mü? Örneğin bu:
//+----------------------------------------------------------------------------+//| Сопровождение позиции простым тралом |//| Параметры: |//| sy - наименование инструмента ("" - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+void TrailingPositionsSimplTR( string sy= "" , int op=- 1 , int mn=- 1 ) {
double p, pp;
int i, k= OrdersTotal ();
if (sy== "" || sy== "0" ) sy= Symbol ();
p=MarketInfo(sy, MODE_POINT);
for (i= 0 ; i<k; i++) {
if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy && (op< 0 || OrderType()==op)) {
if (mn< 0 || OrderMagicNumber()==mn) {
if (OrderType()==OP_BUY) {
pp=MarketInfo(sy, MODE_BID);
if (!ProfitTrailing || (pp-OrderOpenPrice())>TrailingStopBuy*p) {
if (OrderStopLoss()<pp-(TrailingStopBuy+TrailingStepSimplTR- 1 )*p) {
ModifyOrder(sy, - 1 , pp-TrailingStopBuy*p, 0 , clModifyBuy); //
}
}
}
if (OrderType()==OP_SELL) {
pp=MarketInfo(sy, MODE_ASK);
if (!ProfitTrailing || OrderOpenPrice()-pp>TrailingStopSell*p) {
if (OrderStopLoss()>pp+(TrailingStopSell+TrailingStepSimplTR- 1 )*p || OrderStopLoss()== 0 ) {
ModifyOrder(sy, - 1 , pp+TrailingStopSell*p, 0 , clModifySell);
}
}
}
}
}
}
}
}
Print(), 4 ondalık basamağa kadar yuvarlar, çift türü konsola doğru şekilde yazdırmak için ( bu,iOpen()bu durumda 5 ondalık basamak doğruluğuyla döndürür), DoubleToStr() işlevini kullanmanız gerekir.
stringDoubleToStr ( çift değer, int basamak) Sayısal bir değeri, belirtilen duyarlık biçiminde sayının karakter temsilini içeren bir metin dizesine dönüştürür.
Seçenekler:
value-Величина с плавающей точкой.
digits-Формат точности, число цифр после десятичной точки (громное спасибо.
artmedia70 : Basit bir takip eden durdurmanın durdurma seviyesini değil, fiyatı takip eden bekleyen bir emri hareket ettirmesini sağlayan var mı? Bunu yapmak mümkün mü? Hatta denedim, kıvrandım, sadece ertelemenin bir hasta gibi fiyat için ileri geri hareket etmesini sağladım ...
Belki de en basit takip işlevini, duraklar yerine siparişlerle ilgilenmesi için yeniden yapmak mümkün mü? Örneğin bu:
Senin için çok karışık :) İşte kodum
//+------------------------------------------------------------------+void trailingOrder( int magic, int trailing){
int index = 0 ;
while (trailing > 0 && OrdersTotal () != 0 && OrderSelect (index, SELECT_BY_POS)){
if (OrderMagicNumber() == magic){
if (OrderType() == OP_BUYSTOP){
if (OrderOpenPrice() - Ask > Point *trailing){
if ((Ask+ Point *trailing)-Ask >= MarketInfo( Symbol (), MODE_STOPLEVEL)* Point && (Ask+ Point *trailing)-Ask > MarketInfo( Symbol (), MODE_FREEZELEVEL)* Point ){
if (!OrderModify(OrderTicket(),Ask+ Point *trailing,OrderStopLoss(),OrderTakeProfit(), 0 )) Print ( ">>> ERROR " , GetLastError ());
} else {
Print ( ">>> Слишком близко к рынку!" );
}
}
return ;
}
if (OrderType() == OP_SELLSTOP){
if (Bid - OrderOpenPrice() > Point *trailing){
if (Bid-(Bid- Point *trailing) >= MarketInfo( Symbol (), MODE_STOPLEVEL)* Point && Bid-(Bid- Point *trailing) > MarketInfo( Symbol (), MODE_FREEZELEVEL)* Point ){
if (!OrderModify(OrderTicket(),Bid- Point *trailing,OrderStopLoss(),OrderTakeProfit(), 0 )) Print ( ">>> ERROR " , GetLastError ());
} else {
Print ( ">>> Слишком близко к рынку!" );
}
}
return ;
}
}
index++;
}
}
//+------------------------------------------------------------------+
Ertelenen sihirbaz ve istenen esaret parametresi olarak yönteme geçersiniz.
Ve bu konuda ne yapılabilir?
açmadan önce verileri güncelleyin, fiyatı normalleştirin
Hemen böyle bir kapatmanın tavsiye edilmediğini yazdım. Belgelenmemiş bir özellik kullanılıyor. Ancak herhangi bir açık pozisyon için kapanış zamanı sıfırdır ve kapanış fiyatı mevcut kapanış fiyatına eşit olacaktır.
tüm bu deneylerden sonra zaten açıktır)
Ve bu konuda ne yapılabilir?
Pozisyon açarken belirlediğiniz fiyatlara dikkatlice bakın. Mutlaka vardır... Sor ile Bid'i karıştırmadınız mı?
ve orada. Teşekkür ederim.
ve orada. Teşekkür ederim.
Hatta denedim, kıvrandım, sadece ertelemenin bir hasta gibi fiyatın arkasında ileri geri hareket etmesini sağladım ...
Belki de en basit takip işlevini, duraklar yerine siparişlerle ilgilenmesi için yeniden yapmak mümkün mü? Örneğin bu:
Print(), 4 ondalık basamağa kadar yuvarlar, çift türü konsola doğru şekilde yazdırmak için ( bu, iOpen() bu durumda 5 ondalık basamak doğruluğuyla döndürür), DoubleToStr() işlevini kullanmanız gerekir.
string DoubleToStr ( çift değer, int basamak)
Sayısal bir değeri, belirtilen duyarlık biçiminde sayının karakter temsilini içeren bir metin dizesine dönüştürür.
Seçenekler:
value - Величина с плавающей точкой.
digits - Формат точности, число цифр после десятичной точки (громное спасибо.
Çok teşekkürler .
Şu Expert Advisor'a bakın, orada uyguladım.
http://www.rogersignals.com/ru/experts.php?a=Support_Resistance
Basit bir takip eden durdurmanın durdurma seviyesini değil, fiyatı takip eden bekleyen bir emri hareket ettirmesini sağlayan var mı? Bunu yapmak mümkün mü?
Hatta denedim, kıvrandım, sadece ertelemenin bir hasta gibi fiyat için ileri geri hareket etmesini sağladım ...
Belki de en basit takip işlevini, duraklar yerine siparişlerle ilgilenmesi için yeniden yapmak mümkün mü? Örneğin bu:
Senin için çok karışık :)
Ertelenen sihirbaz ve istenen esaret parametresi olarak yönteme geçersiniz.İşte kodum
Senin için çok karışık :)
Ertelenen sihirbaz ve istenen esaret parametresi olarak yönteme geçersiniz.İşte kodum