Alex, wie kann ich m_rates[1].low mit m_rates[0].close vergleichen?
m_rates[1].low=m_rates[0].close ist das korrekt und im Allgemeinen ist m_rates[0].close der letzte Preis des Balkens, der noch nicht geschlossen ist?
und was ist generell der richtige Weg, um mit dem letzten Balken umzugehen, ohne Indikatoren zu verwenden? (CopyRates, CopyHigh)
Sie haben richtig geschrieben, dass Sie CopyRates oder CopyHigh/Low/Close usw. verwenden sollten, um mit Preisdaten außerhalb von Indikatoren zu arbeiten.
Beispiele finden Sie in der Hilfe oder in der Codebasis.
und bei der Verwendung der Funktion in der Expert Advisor, es funktioniert nicht mehr in der Tester, bitte sagen Sie mir den Grund, der Code ist aus dem Artikel https://www.mql5.com/ru/articles/22 genommen
//+------------------------------------------------------------------+//| CheckLastBar.mq5 |//| Copyright 2010, MetaQuotes Software Corp. |//| http://www.mql5.com |//+------------------------------------------------------------------+#property copyright "Copyright 2010, MetaQuotes Software Corp."#property link "http://www.mql5.com"#property version "1.00"//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
//---if(isNewBar())
{
PrintFormat("Новый бар: %s",TimeToString(TimeCurrent(),TIME_SECONDS));
}
}
//+------------------------------------------------------------------+//| Возвращает true, если появился новый бар для пары символ/период |//+------------------------------------------------------------------+bool isNewBar()
{
//--- в статической переменной будем помнить время открытия последнего бараstaticdatetime last_time=0;
//--- текущее времяdatetime lastbar_time=SeriesInfoInteger(Symbol(),Period(),SERIES_LASTBAR_DATE);
//--- если это первый вызов функцииif(last_time==0)
{
//--- установим время и выйдем
last_time=lastbar_time;
return(false);
}
//--- если время отличаетсяif(last_time!=lastbar_time)
{
//--- запомним время и вернем true
last_time=lastbar_time;
return(true);
}
//--- дошли до этого места - значит бар не новый, вернем falsereturn(false);
}
//+------------------------------------------------------------------+
Можно ли торговать этим инструментом в понедельник? Хватит ли денег на открытие позиции? Какой размер убытка мы получим, если сработает Stop Loss? Как ограничить количество отложенных ордеров? Была ли выполнена торговая операция на этом баре или это было на предыдущем? Если торговый робот не может сделать подобные проверки, то любая прибыльная торговая система может превратиться в проигрышную. В этой статье показаны примеры проверок, которые пригодятся в любом эксперте.
Beim Kompilieren des Codes erscheint eine Meldung: Möglicher Datenverlust durch Typumwandlung in der Zeile
und bei der Verwendung der Funktion in der Expert Advisor, es funktioniert nicht mehr in der Tester, bitte sagen Sie mir den Grund, der Code ist aus dem Artikelhttps://www.mql5.com/ru/articles/22 genommen
Ich bin mir bei dem Tester nicht sicher. Über "... Typ Konvertierung":
Interessant, aber ich habe auch ein ähnliches Problem, nämlich das Füllen eines Double-Arrays mit Double-Daten, das in dieser Zeile die gleiche Warnung ausgibt.
Vielleicht liegt es an der zweideutigen Interpretation der Konstanten (0,0,13). Der CopyBuffer kann in drei Varianten aufgerufen werden. Versuchen Sie, Variablen des benötigten Typs als Parameter zu ersetzen oder verwenden Sie eine explizite Typumwandlung für Konstanten.
Danke, ich werde es versuchen. Ich habe die Konvertierung schon ausprobiert, die explizite Konvertierung geht durch, wenn ich ein Maskenhandle mit (int) übersetze, aber das passt mir natürlich nicht :-)
Karlson: Danke, ich werde es ausprobieren. Ich habe die Konvertierung schon ausprobiert, die explizite Konvertierung geht durch, wenn ich ein Maskenhandle über (int) übersetze, aber das passt mir natürlich nicht :-)
Warten Sie eine Sekunde. Was ist der Typ Ihres Griffs?
intiMA(
string symbol, // имя символаENUM_TIMEFRAMES period, // периодint ma_period, // период усредненияint ma_shift, // смещение индикатора по горизонталиENUM_MA_METHOD ma_method, // тип сглаживанияENUM_APPLIED_PRICE applied_price // тип цены или handle
);
Ich habe auch ein paar Fragen. Wo befinden sich die Signalmodule für den gleitenden Durchschnittsübergang? Wo sind die Signale von alligatora? Noch eine Sache. Jeder Indikator hat mehrere Arten von Signalen. Wie kann man erreichen, dass der MACD nur Nulldurchgangssignale akzeptiert?
Alex, wie kann ich m_rates[1].low mit m_rates[0].close vergleichen?
m_rates[1].low=m_rates[0].close ist das korrekt und im Allgemeinen ist m_rates[0].close der letzte Preis des Balkens, der noch nicht geschlossen ist?
und was ist generell der richtige Weg, um mit dem letzten Balken umzugehen, ohne Indikatoren zu verwenden?(CopyRates, CopyHigh)
Alex, wie kann ich m_rates[1].low mit m_rates[0].close vergleichen?
m_rates[1].low=m_rates[0].close ist das korrekt und im Allgemeinen ist m_rates[0].close der letzte Preis des Balkens, der noch nicht geschlossen ist?
und was ist generell der richtige Weg, um mit dem letzten Balken umzugehen, ohne Indikatoren zu verwenden? (CopyRates, CopyHigh)
Sie haben richtig geschrieben, dass Sie CopyRates oder CopyHigh/Low/Close usw. verwenden sollten, um mit Preisdaten außerhalb von Indikatoren zu arbeiten.
Beispiele finden Sie in der Hilfe oder in der Codebasis.
Beim Kompilieren des Codes erscheint eine Meldung: Möglicher Datenverlust durch Typumwandlung in der Zeile
und bei der Verwendung der Funktion in der Expert Advisor, es funktioniert nicht mehr in der Tester, bitte sagen Sie mir den Grund, der Code ist aus dem Artikel https://www.mql5.com/ru/articles/22 genommen
Beim Kompilieren des Codes erscheint eine Meldung: Möglicher Datenverlust durch Typumwandlung in der Zeile
und bei der Verwendung der Funktion in der Expert Advisor, es funktioniert nicht mehr in der Tester, bitte sagen Sie mir den Grund, der Code ist aus dem Artikelhttps://www.mql5.com/ru/articles/22 genommen
Interessant, aber ich habe auch einen ähnlichen.Füllen eines Double-Arrays mit Double-Daten. In dieser Zeile wird die gleiche Warnung ausgegeben.
Interessant, aber ich habe auch ein ähnliches Problem, nämlich das Füllen eines Double-Arrays mit Double-Daten, das in dieser Zeile die gleiche Warnung ausgibt.
Danke, ich werde es ausprobieren. Ich habe die Konvertierung schon ausprobiert, die explizite Konvertierung geht durch, wenn ich ein Maskenhandle über (int) übersetze, aber das passt mir natürlich nicht :-)
Ich habe mich geirrt. Ich brauche ein Int.
Ich danke Ihnen.