Und im Allgemeinen ignorieren Sie die Hilfe. Ich bin aus dem Dialog ausgestiegen. Ich habe Ihnen alle Daten gegeben, damit der Code richtig funktioniert, aber Sie wollen das nicht hören und machen alles auf Ihre Weise. Es ist schade um die Zeit.
Artyom Trishkin: Jedenfalls ignorieren Sie die Hilfe. Ich bin aus dem Dialog ausgestiegen. Ich habe Ihnen alle Daten gegeben, damit der Code richtig funktioniert, aber Sie wollen sie nicht hören und machen die Dinge auf Ihre eigene Weise. Es ist schade um die Zeit.
Vielen Dank für Ihre Aufmerksamkeit und Ihre Zeit.... Ich schätze, ich habe es noch nicht herausgefunden... Was die Räder und den Motor betrifft, stimme ich zu.
Ich werde wahrscheinlich auf den Handheld verzichten und den iClose-Durchschnitt für den Durchschnittszeitraum berechnen.
Vielen Dank für Ihre Aufmerksamkeit und Ihre Zeit.... Ich schätze, ich habe es noch nicht herausgefunden... Was die Räder und den Motor betrifft, stimme ich zu.
Ich werde wahrscheinlich auf den Handheld verzichten und den iClose-Durchschnitt für den Durchschnittszeitraum berechnen.
//+------------------------------------------------------------------+//| TestMA.mq5 |//| Copyright 2018, MetaQuotes Software Corp. |//| https://mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2018, MetaQuotes Software Corp."#property link"https://mql5.com"#property version"1.00"#property description"Выводит данные скользящей средней с заданного таймфрейма на любом текущем"#property indicator_chart_window#property indicator_buffers1#property indicator_plots1//--- plot LWMA#property indicator_label1"MA"#property indicator_type1DRAW_LINE#property indicator_color1clrBlue#property indicator_style1STYLE_SOLID#property indicator_width11//--- input parametersinputuint InpPeriod = 14; // MA periodinputint InpShift = 0; // MA shiftinputENUM_MA_METHOD InpMethod = MODE_SMA; // MA methodinputENUM_APPLIED_PRICE InpApplierPrice = PRICE_CLOSE; // MA applied priceinputENUM_TIMEFRAMES InpTimeframe = PERIOD_H1; // LRMA timeframe//--- indicator buffersdouble BufferMA[];
//--- global variables//ENUM_TIMEFRAMES timeframe1;int period_ma;
int shift_ma;
int handle_ma;
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- timerEventSetTimer(90);
//--- set global variables
period_ma=int(InpPeriod<1 ? 1 : InpPeriod);
shift_ma=InpShift;
//timeframe1=(InpTimeframe>Period() ? InpTimeframe : Period());//--- indicator buffers mappingSetIndexBuffer(0,BufferMA,INDICATOR_DATA);
//--- setting indicator parametersIndicatorSetString(INDICATOR_SHORTNAME,"Any TF MA on current");
IndicatorSetInteger(INDICATOR_DIGITS,Digits());
//--- setting plot buffer parametersstring label=TimeframeToString(InpTimeframe)+" "+MethodToString(InpMethod)+"("+(string)period_ma+")";
PlotIndexSetString(0,PLOT_LABEL,label);
//--- setting buffer arrays as timeseriesArraySetAsSeries(BufferMA,true);
//--- create handlesResetLastError();
handle_ma=iMA(NULL,InpTimeframe,period_ma,shift_ma,InpMethod,InpApplierPrice);
if(handle_ma==INVALID_HANDLE)
{
Print("The ",TimeframeToString(InpTimeframe)," iMA(",(string)period_ma,") object was not created: Error ",GetLastError());
returnINIT_FAILED;
}
//--- get timeframeTime(NULL,InpTimeframe,1);
//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
//--- Проверка количества доступных баровif(rates_total<fmax(period_ma,4)) return0;
//--- Проверка и расчёт количества просчитываемых баровint limit=rates_total-prev_calculated;
if(limit>1)
{
limit=rates_total-1;
ArrayInitialize(BufferMA,EMPTY_VALUE);
}
//--- Подготовка данныхif(Time(NULL,InpTimeframe,1)==0)
return0;
int bars=(InpTimeframe==PERIOD_CURRENT ? rates_total : Bars(NULL,InpTimeframe));
int count=(limit>1 ? fmin(bars,rates_total) : 1),copied=0;
copied=CopyBuffer(handle_ma,0,0,count,BufferMA);
Comment(TimeframeToString(InpTimeframe)," ",MethodToString(InpMethod),": copied=",copied,", count=",count,", bars=",bars,", rates_total=",rates_total);
if(copied!=count) return0;
//--- Расчёт индикатора//for(int i=limit; i>=0 && !IsStopped(); i--)// {// // }//--- return value of prev_calculated for next callreturn(rates_total);
}
//+------------------------------------------------------------------+//| Custom indicator timer function |//+------------------------------------------------------------------+voidOnTimer()
{
Time(NULL,InpTimeframe,1);
}
//+------------------------------------------------------------------+//| Возвращает Time |//+------------------------------------------------------------------+datetimeTime(conststring symbol_name,constENUM_TIMEFRAMES timeframe,constint shift)
{
datetime array[];
ArraySetAsSeries(array,true);
return(CopyTime(symbol_name,timeframe,shift,1,array)==1 ? array[0] : 0);
}
//+------------------------------------------------------------------+//| Возвращает наименование таймфрейма |//+------------------------------------------------------------------+string TimeframeToString(constENUM_TIMEFRAMES timeframe)
{
returnStringSubstr(EnumToString(timeframe),7);
}
//+------------------------------------------------------------------+//| Возвращает наименование метода МА |//+------------------------------------------------------------------+string MethodToString(ENUM_MA_METHOD method)
{
returnStringSubstr(EnumToString(method),5);
}
//+------------------------------------------------------------------+
Alles Unnötige wurde entfernt.
Vergessen Sie nicht, dass es am Wochenende keine Ticks gibt und die Linie nur in denselben Zeitrahmen ausgegeben wird - dem Arbeits- und dem Einstellungszeitrahmen.
Wenn Sie es auf einem anderen als dem in den Einstellungen angegebenen Zeitrahmen laufen lassen, dann müssen Sie ohne Ticks am Wochenende das Diagramm mit der rechten Maustaste zwangsweise aktualisieren: Aktualisieren, damit die Linie gezeichnet wird.
Vergessen Sie nicht, dass es am Wochenende keine Häkchen gibt und die Linie nur in den passenden Zeitrahmen angezeigt wird - dem Arbeits- und dem Einstellungszeitrahmen.
Wenn Sie es auf einem anderen als dem in den Einstellungen angegebenen Zeitrahmen laufen lassen, dann müssen Sie ohne Ticks am Wochenende das Diagramm mit der rechten Maustaste zwangsweise aktualisieren: Aktualisieren, damit die Linie gezeichnet wird.
Vielen Dank!!1 Ich habe den ganzen Tag herumgepfuscht.... meine Augen sind zugenäht. Nochmals vielen Dank
Guten Tag zusammen. Ich bin mit dem Problem der Zeitverschiebung konfrontiert und bitte um Hilfe bei der Lösung dieses Problems. Ich versuche zu verstehen, warum Aufträge zu spät laufen, ich bin Debugging-Informationen in meinem EA protokolliert, es ist absolut korrekt, können Sie es im Screenshot zu sehen. Ich stelle fest, dass die Zeit der Nachricht 4,5 Stunden über der Anfangszeit der Balken liegt (TF=M30), und diese Verzögerung führt dazu, dass die Aufträge zu spät kommen. D.h., nach den Debugging-Informationen sehe ich, dass die Bedingung für den Markteintritt erfüllt ist, z.B. die Zeit auf dem Balken ist 10:00, aber der Auftrag wird auf dem Balken mit der Zeit 14:30 platziert. Das ist das erste Mal, dass ich eine solche Situation erlebe. Was ist zu tun?
vorläufig
anderer (nicht einheimischer) Zeitrahmen
Jedenfalls ignorieren Sie die Hilfe. Ich bin aus dem Dialog ausgestiegen. Ich habe Ihnen alle Daten gegeben, damit der Code richtig funktioniert, aber Sie wollen sie nicht hören und machen die Dinge auf Ihre eigene Weise. Es ist schade um die Zeit.
Vielen Dank für Ihre Aufmerksamkeit und Ihre Zeit.... Ich schätze, ich habe es noch nicht herausgefunden... Was die Räder und den Motor betrifft, stimme ich zu.
Ich werde wahrscheinlich auf den Handheld verzichten und den iClose-Durchschnitt für den Durchschnittszeitraum berechnen.
Vielen Dank für Ihre Aufmerksamkeit und Ihre Zeit.... Ich schätze, ich habe es noch nicht herausgefunden... Was die Räder und den Motor betrifft, stimme ich zu.
Ich werde wahrscheinlich auf den Handheld verzichten und den iClose-Durchschnitt für den Durchschnittszeitraum berechnen.
Alles Unnötige wurde entfernt.
Vergessen Sie nicht, dass es am Wochenende keine Ticks gibt und die Linie nur in denselben Zeitrahmen ausgegeben wird - dem Arbeits- und dem Einstellungszeitrahmen.
Wenn Sie es auf einem anderen als dem in den Einstellungen angegebenen Zeitrahmen laufen lassen, dann müssen Sie ohne Ticks am Wochenende das Diagramm mit der rechten Maustaste zwangsweise aktualisieren: Aktualisieren, damit die Linie gezeichnet wird.
Alles Unnötige wurde entfernt.
Vergessen Sie nicht, dass es am Wochenende keine Häkchen gibt und die Linie nur in den passenden Zeitrahmen angezeigt wird - dem Arbeits- und dem Einstellungszeitrahmen.
Wenn Sie es auf einem anderen als dem in den Einstellungen angegebenen Zeitrahmen laufen lassen, dann müssen Sie ohne Ticks am Wochenende das Diagramm mit der rechten Maustaste zwangsweise aktualisieren: Aktualisieren, damit die Linie gezeichnet wird.
Guten Tag, liebe Kolleginnen und Kollegen.
Ich bin mit dem Problem der Zeitverschiebung konfrontiert und bitte um Hilfe bei der Lösung dieses Problems.
Ich versuche zu verstehen, warum Aufträge zu spät laufen, ich bin Debugging-Informationen in meinem EA protokolliert, es ist absolut korrekt, können Sie es im Screenshot zu sehen. Ich stelle fest, dass die Zeit der Nachricht 4,5 Stunden über der Anfangszeit der Balken liegt (TF=M30), und diese Verzögerung führt dazu, dass die Aufträge zu spät kommen. D.h., nach den Debugging-Informationen sehe ich, dass die Bedingung für den Markteintritt erfüllt ist, z.B. die Zeit auf dem Balken ist 10:00, aber der Auftrag wird auf dem Balken mit der Zeit 14:30 platziert. Das ist das erste Mal, dass ich eine solche Situation erlebe. Was ist zu tun?
Trailing-Stop-Code auf Youtube gefunden, wie kann er verwendet werden?
Trailing-Stop-Code auf Youtube gefunden, wie kann er verwendet werden?
Dieses Schleppnetz ist nur für den Kauf gedacht und ist schlecht implementiert, es kann nicht verwendet werden.
dieses Schleppnetz ist nur für den Kauf gedacht und ist schlecht implementiert, es kann nicht verwendet werden.