Böyle bir sorunla karşılaşacağımı düşünmemiştim, çünkü ilk bakışta, grafiği programdan yeniden çizmek için kabul edilmelidir. Bu ışıkta, ChartRedraw() işlevinin amacı belirsizdir ...
Bu, göstergeler için değil, grafik nesnelerin özelliklerinde yapılan değişiklikleri görüntülemek içindir.
Göstergeye bir onay işareti göndermeniz gerekir - ardından gösterge yeniden çizilecektir. Eh.., yani, yapması gerekeni yeni bir kene üzerinde yapacak.
Ve yeni bir onay işareti göndermek için, bir seçenek olmayan onu beklemeniz veya yine bir seçenek olmayan RMB grafiği --> Yenile'yi güncellemeniz veya aşağıdaki parametrelerle ChartSetSymbolPeriod() işlevini kullanmanız gerekir. mevcut grafik:
Меняет значения символа и периода указанного графика. Функция работает асинхронно, то есть отдает команду и не ждет окончания ее выполнения. Отданная команда поступает в очередь сообщений графика и выполняется только после обработки всех предыдущих команд. Возвращает true в случае удачного помещения команды в очередь графика, иначе false. Чтобы...
merhaba, çözmeme yardım et, limit emri açan bir senaryo yazdım ama piyasa fiyatından. Her şey çalışıyor, limiti piyasanın altına / üstüne ayarlamak için değiştirmeye karar verdim, iade kodu teklif vermesine rağmen hiçbir şey olmuyor. server 10009 ve GetLastError() 0 döndürür. Kod:
voidOnStart ()
{ MqlTradeRequest request={ 0 };
MqlTradeResult result={ 0 };
double Bid= SymbolInfoDouble ( Symbol (), SYMBOL_BID );
double Ask= SymbolInfoDouble ( Symbol (), SYMBOL_ASK );
int digits= SymbolInfoInteger ( _Symbol , SYMBOL_DIGITS );
double p= NormalizeDouble ( ChartPriceOnDropped (),digits);
if ( SymbolInfoDouble ( _Symbol , SYMBOL_TRADE_TICK_SIZE )== 10 )
{p= NormalizeDouble ( ChartPriceOnDropped ()* 0.1 ,digits)/ 0.1 ;
}
int V= 75 ;
if (p<Ask)
{
request.action = TRADE_ACTION_PENDING ; // тип торговой операции
request.symbol = Symbol (); // символ
request.volume = MathFloor ( AccountInfoDouble ( ACCOUNT_BALANCE )/V/((Ask-p)/
SymbolInfoDouble ( _Symbol , SYMBOL_TRADE_TICK_SIZE )* SymbolInfoDouble ( _Symbol , SYMBOL_TRADE_TICK_VALUE )));
if (request.volume> AccountInfoDouble ( ACCOUNT_BALANCE )/ SymbolInfoDouble ( _Symbol , SYMBOL_MARGIN_INITIAL ))
{ request.volume= MathFloor ( AccountInfoDouble ( ACCOUNT_BALANCE )/ SymbolInfoDouble ( _Symbol , SYMBOL_MARGIN_INITIAL ));
}
request.type = ORDER_TYPE_BUY_LIMIT ; // тип ордера
request.price =Ask; // цена для открытия
request.deviation= 50 ; // допустимое отклонение от цены
request.sl =p; // Stop Loss позиции
request.tp = NormalizeDouble (Ask+(Ask-p)* 3 ,digits); // Take Profit позиции
request.type_filling= ORDER_FILLING_IOC ;
request.type_time= ORDER_TIME_DAY ;
request.stoplimit=Ask;
OrderSend (request,result);
}
request.price ayarlanırsa, örneğin: Ask-Point()*30 ayarlanmaz, fiyat normalizasyonu da hiçbir şey vermez
Bu, göstergeler için değil, grafik nesnelerin özelliklerinde yapılan değişiklikleri görüntülemek içindir.
Göstergeye bir onay işareti göndermeniz gerekir - ardından gösterge yeniden çizilecektir. Eh.., yani, yapması gerekeni yeni bir kene üzerinde yapacak.
Ve yeni bir onay işareti göndermek için, bir seçenek olmayan onu beklemeniz veya yine bir seçenek olmayan RMB grafiği --> Yenile'yi güncellemeniz veya aşağıdaki parametrelerle ChartSetSymbolPeriod() işlevini kullanmanız gerekir. mevcut grafik:
Сергей Таболин : Belki birisi, grafikte görsel testler sırasında danışmanda kullanılan tüm göstergelerin görüntülenmesini nasıl devre dışı bırakacağını biliyordur?
Bir göstergenin farklı bir zaman diliminde çalışmaya hazır olup olmadığı nasıl belirlenir?
Geçmiş, bitişik zaman dilimleri için pompalanmaz (oluşturulmaz). Gösterge M15'te çalışır, ancak H1'e (M15 grafiğinin üstünde) bakmanız gerekir, geçiş yaparsınız - ve grafik boştur. Birkaç saniye içinde güncellersiniz - güzellik, tüm tamponlar çizilir.
göstergenin kendisinin farklı bir zaman diliminde tarihin varlığını kontrol etmesini ve hesaplamayı görünene kadar tutmasını nasıl sağlayabilirim?
MQL5.com web sitesine giriş yapmak için çerezlerin kullanımına izin vermelisiniz.
Lütfen tarayıcınızda gerekli ayarı etkinleştirin, aksi takdirde giriş yapamazsınız.
Hesabınıza giriş yaptınız. İki faktörlü kimlik doğrulama devre dışı bırakıldı. Yeniden kurup yeni bir QR kodu tarayın veya iki faktörlü kimlik doğrulama devre dışıyken devam edin.
Böyle bir sorunla karşılaşacağımı düşünmemiştim, çünkü ilk bakışta, grafiği programdan yeniden çizmek için kabul edilmelidir. Bu ışıkta, ChartRedraw() işlevinin amacı belirsizdir ...
Bu, göstergeler için değil, grafik nesnelerin özelliklerinde yapılan değişiklikleri görüntülemek içindir.
Göstergeye bir onay işareti göndermeniz gerekir - ardından gösterge yeniden çizilecektir. Eh.., yani, yapması gerekeni yeni bir kene üzerinde yapacak.
Ve yeni bir onay işareti göndermek için, bir seçenek olmayan onu beklemeniz veya yine bir seçenek olmayan RMB grafiği --> Yenile'yi güncellemeniz veya aşağıdaki parametrelerle ChartSetSymbolPeriod() işlevini kullanmanız gerekir. mevcut grafik:
request.price ayarlanırsa, örneğin: Ask-Point()*30 ayarlanmaz, fiyat normalizasyonu da hiçbir şey vermezmerhaba, çözmeme yardım et, limit emri açan bir senaryo yazdım ama piyasa fiyatından. Her şey çalışıyor, limiti piyasanın altına / üstüne ayarlamak için değiştirmeye karar verdim, iade kodu teklif vermesine rağmen hiçbir şey olmuyor. server 10009 ve GetLastError () 0 döndürür. Kod:
Bu, göstergeler için değil, grafik nesnelerin özelliklerinde yapılan değişiklikleri görüntülemek içindir.
Göstergeye bir onay işareti göndermeniz gerekir - ardından gösterge yeniden çizilecektir. Eh.., yani, yapması gerekeni yeni bir kene üzerinde yapacak.
Ve yeni bir onay işareti göndermek için, bir seçenek olmayan onu beklemeniz veya yine bir seçenek olmayan RMB grafiği --> Yenile'yi güncellemeniz veya aşağıdaki parametrelerle ChartSetSymbolPeriod() işlevini kullanmanız gerekir. mevcut grafik:
Artyom, teşekkürler.
Her şey çalıştı. :)
Belki birisi, grafikte görsel testler sırasında danışmanda kullanılan tüm göstergelerin görüntülenmesini nasıl devre dışı bırakacağını biliyordur?
TesterHideIndicators(true);
Bir göstergenin farklı bir zaman diliminde çalışmaya hazır olup olmadığı nasıl belirlenir?
Geçmiş, bitişik zaman dilimleri için pompalanmaz (oluşturulmaz). Gösterge M15'te çalışır, ancak H1'e (M15 grafiğinin üstünde) bakmanız gerekir, geçiş yaparsınız - ve grafik boştur. Birkaç saniye içinde güncellersiniz - güzellik, tüm tamponlar çizilir.
göstergenin kendisinin farklı bir zaman diliminde tarihin varlığını kontrol etmesini ve hesaplamayı görünene kadar tutmasını nasıl sağlayabilirim?
TesterHideIndicators(true);
Çok teşekkürler )))
başka bir zaman diliminden ATP değerleri alınamıyor:
akımdan - çalışır. yaşlılardan - her zaman 0
Vadeli işlemlerde kalıcı bir sözleşme nasıl oluşturulur? teknik tablo analizi için?