Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1486

 
MakarFX:
Sbagliato, ha bisogno del tempo della candela precedente

Beh, puoi anche telepatizzare la candela zero :) perché è l'ultima, non la precedente.

Se facciamo l'analisi psichica possiamo supporre che stiamo cercando il valore all'interno di una candela di un'ora, il che ci riporta al mio post precedente su iLowest e iHighest.

 
ANDREY:

Grazie.

PapaYozh aveva ragione, perché secondo la tua condizione

if (Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030)

Non stai cercando un minimo, stai cercando un pullback da un minimo.

 
PapaYozh:

Sì, non stavo prestando attenzione.

Non stavo prestando attenzione...

 
Vladislav Andruschenko:


lasciar perdere e basta?


Ho appena controllato, non viene eseguito in mt5. build flatt 2940

O avete rimosso OnCalculate?



aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa :-) creato uno script e messo nella cartella indicators

Unico.

Più che altro un'eccezione, hai semplicemente infilato lo script nella cartella degli indicatori e il terminale l'ha trangugiato.

Sì, questo è il trucco/problema... Cartelle confuse all'inizio, poi l'ha preso come una caratteristica... Una buona caratteristica, un'esecuzione unica dopo oninit.

 
Valeriy Yastremskiy:

Sì, questo è il trucco/problema... All'inizio ho confuso le cartelle, poi l'ho presa come una caratteristica... Una buona caratteristica, un'esecuzione unica dopo oninit.

Quindi è solo uno script che viene eseguito nel thread del grafico.

 

Makar, hai dato un link a un indicatore con una risposta alla mia domanda. Non funziona niente (l'ho fatto per istinto, non ho il cervello per farlo. Ho bisogno del vostro aiuto!

https://www.mql5.com/ru/forum/160683/page1465#comment_22167585

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2021.05.03
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
ifitstrue:

Makar, hai dato un link a un indicatore con una risposta alla mia domanda. Non funziona niente (l'ho fatto per istinto, non ho il cervello per farlo. Ho bisogno del vostro aiuto!

https://www.mql5.com/ru/forum/160683/page1465#comment_22167585

//+------------------------------------------------------------------+
//|                                                   MTF_Moving.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                             https://www.mql5.com/ru/users/melnik |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com/ru/users/melnik"
#property version   "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_width1 2
#property indicator_width2 2
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_type1 DRAW_LINE
#property indicator_type2 DRAW_LINE

double ma_buffer_high[];
double ma_buffer_low[];

//--- input parameters
input int                     PeriodMaHigh   =1;            //Period High Ma
input int                     PeriodMaLow    =1;            //Period Low Ma
input ENUM_APPLIED_PRICE      PriceMaH       =PRICE_HIGH;   //Applied price
input ENUM_APPLIED_PRICE      PriceMaL       =PRICE_LOW;    //Applied price
input ENUM_MA_METHOD          MethodMa       =MODE_SMA;     //Method Ma
input ENUM_TIMEFRAMES         Timeframe      =PERIOD_D1;    //Timeframe for calculate

ENUM_TIMEFRAMES prd;

int index=-1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0, ma_buffer_high, INDICATOR_DATA);
   SetIndexBuffer(1, ma_buffer_low, INDICATOR_DATA);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   if((rates_total-prev_calculated-PeriodMaHigh)<=0)return(0);
  
   if(Period()>Timeframe) prd=PERIOD_CURRENT;
   if(Period()<=Timeframe) prd=prd=Timeframe;
  
   for(int i=rates_total-prev_calculated-PeriodMaHigh-1;i>=0;i--)
   {
      if(TimeMinute(time[i])==0)index=iBarShift(Symbol(), prd, time[i], false);
      
      ma_buffer_high[i]=iMA(Symbol(), prd, PeriodMaHigh, 0, MethodMa, PriceMaH, index+1);
      ma_buffer_low[i] =iMA(Symbol(), prd, PeriodMaLow, 0, MethodMa, PriceMaL, index+1);
   }
  
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
MakarFX:

Ho cercato di fare una foto come quella.

File:
2.png  31 kb
 

Si scopre così.

File:
3.png  26 kb
 
ifitstrue:

Funziona così.

Se vuoi il giorno precedente, vedi il post precedente,

e se è il giorno corrente, correggilo.

      ma_buffer_high[i]=iMA(Symbol(), prd, PeriodMaHigh, 0, MethodMa, PriceMaH, index);
      ma_buffer_low[i] =iMA(Symbol(), prd, PeriodMaLow, 0, MethodMa, PriceMaL, index);