Et en général, tu ignores l'aide. Je ne suis plus dans le dialogue. Je vous ai donné toutes les données pour que le code fonctionne correctement, mais vous ne voulez pas les entendre, alors vous faites les choses à votre façon. C'est dommage pour l'heure.
Artyom Trishkin: De toute façon, vous ignorez l'aide. Je ne suis plus dans le dialogue. Je vous ai donné toutes les données pour que le code fonctionne correctement, mais vous ne voulez pas les entendre et faites les choses à votre façon. C'est dommage pour l'heure.
Merci pour votre attention et votre temps.... Je suppose que je n'ai pas encore compris... Pour les roues et le moteur, je suis d'accord.
Je vais probablement renoncer à l'ordinateur de poche et calculer la moyenne iClose pour la période moyenne.
Merci pour votre attention et votre temps.... Je suppose que je n'ai pas encore compris... Pour les roues et le moteur, je suis d'accord.
Je vais probablement renoncer à l'ordinateur de poche et calculer la moyenne iClose pour la période moyenne.
//+------------------------------------------------------------------+//| 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);
}
//+------------------------------------------------------------------+
J'ai enlevé tout ce qui était inutile.
N'oubliez pas qu'il n'y a pas de ticks le week-end et que la ligne ne sera produite qu'aux mêmes horizons temporels - celui du travail et celui des paramètres.
Si vous l'exécutez sur un cadre temporel autre que celui spécifié dans les paramètres, alors sans ticks le week-end, vous devez forcer le rafraîchissement du graphique avec le bouton droit de la souris : Rafraîchir, pour que la ligne soit tracée.
N'oubliez pas qu'il n'y a pas de ticks le week-end et que la ligne ne sera affichée que sur les périodes correspondantes - celle de travail et celle des paramètres.
Si vous l'exécutez sur un cadre temporel autre que celui spécifié dans les paramètres, alors sans ticks le week-end, vous devez forcer le rafraîchissement du graphique avec le bouton droit de la souris : Rafraîchir, pour que la ligne soit tracée.
Merci beaucoup !1 Je me suis amusé toute la journée.... mes yeux sont cousus. Merci encore.
Bon après-midi à tous. Confronté à un problème de décalage horaire, merci de nous aider à le résoudre. J'essaie de comprendre pourquoi les ordres sont en retard, j'enregistre des informations de débogage dans mon EA, c'est tout à fait correct, vous pouvez le voir dans la capture d'écran. Je constate que l'heure du message est supérieure de 4,5 heures à l'heure de début des barres (TF=M30) et c'est ce décalage qui provoque le retard des ordres. C'est-à-dire que, selon les informations de débogage, je vois que la condition d'entrée sur le marché a été remplie, par exemple, l'heure sur la barre est 10:00 mais l'ordre est placé sur la barre avec l'heure 14:30. C'est la première fois que je rencontre une telle situation. Que faire ?
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
pour le moment
autre délai (non-natif)
De toute façon, vous ignorez l'aide. Je ne suis plus dans le dialogue. Je vous ai donné toutes les données pour que le code fonctionne correctement, mais vous ne voulez pas les entendre et faites les choses à votre façon. C'est dommage pour l'heure.
Merci pour votre attention et votre temps.... Je suppose que je n'ai pas encore compris... Pour les roues et le moteur, je suis d'accord.
Je vais probablement renoncer à l'ordinateur de poche et calculer la moyenne iClose pour la période moyenne.
Merci pour votre attention et votre temps.... Je suppose que je n'ai pas encore compris... Pour les roues et le moteur, je suis d'accord.
Je vais probablement renoncer à l'ordinateur de poche et calculer la moyenne iClose pour la période moyenne.
J'ai enlevé tout ce qui était inutile.
N'oubliez pas qu'il n'y a pas de ticks le week-end et que la ligne ne sera produite qu'aux mêmes horizons temporels - celui du travail et celui des paramètres.
Si vous l'exécutez sur un cadre temporel autre que celui spécifié dans les paramètres, alors sans ticks le week-end, vous devez forcer le rafraîchissement du graphique avec le bouton droit de la souris : Rafraîchir, pour que la ligne soit tracée.
J'ai enlevé tout ce qui était inutile.
N'oubliez pas qu'il n'y a pas de ticks le week-end et que la ligne ne sera affichée que sur les périodes correspondantes - celle de travail et celle des paramètres.
Si vous l'exécutez sur un cadre temporel autre que celui spécifié dans les paramètres, alors sans ticks le week-end, vous devez forcer le rafraîchissement du graphique avec le bouton droit de la souris : Rafraîchir, pour que la ligne soit tracée.
Bonjour à tous.
Confronté à un problème de décalage horaire, merci de nous aider à le résoudre.
J'essaie de comprendre pourquoi les ordres sont en retard, j'enregistre des informations de débogage dans mon EA, c'est tout à fait correct, vous pouvez le voir dans la capture d'écran. Je constate que l'heure du message est supérieure de 4,5 heures à l'heure de début des barres (TF=M30) et c'est ce décalage qui provoque le retard des ordres. C'est-à-dire que, selon les informations de débogage, je vois que la condition d'entrée sur le marché a été remplie, par exemple, l'heure sur la barre est 10:00 mais l'ordre est placé sur la barre avec l'heure 14:30. C'est la première fois que je rencontre une telle situation. Que faire ?
J'ai trouvé un code de trailing stop sur youtube, comment l'utiliser ?
J'ai trouvé un code de trailing stop sur youtube, comment l'utiliser ?
Ce chalut est uniquement destiné à l'achat et est mal implémenté, il ne peut pas être utilisé.
ce chalut est uniquement destiné à l'achat et est mal implémenté, il ne peut pas être utilisé.