MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1486

 
MakarFX:
間違っている、それは前のローソクの時間を必要とする

まあ、ゼロキャンドルもテレパシーできるんですけどね :) 前のキャンドルではなく、最後のキャンドルですから。

サイキック分析を行う場合、1時間足のローソク足の内側の値を探していると考えることができ、前回のiLowestとiHighestの 記事に戻ります。

 
ANDREY:

ありがとうございます。

PapaYozhの 言う通り、あなたの条件によれば

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

安値を探すのではなく、安値からの値戻しを探しているのです。

 
PapaYozh:

そうですね、注意力が足りませんでした。

注意してなかった...。

 
Vladislav Andruschenko:


ほったらかし?


今確認したところ、mt5では実行されていないようです。

それともOnCalculateを削除したのでしょうか?



aaaaaaaaaaaaaaaaaa :-) スクリプトを作成し、indicators フォルダに置く。

ユニークです。

例外というか、indicatorsフォルダにスクリプトを突っ込んだだけで、ターミナルがガブリとやってくれましたね。

ああ、それがコツ・問題なんだ...。最初はフォルダーを混乱させ、その後、機能として受け止めました...。oninitの後に1回だけ実行する、良い機能です。

 
Valeriy Yastremskiy:

そう、それがコツ・問題なんです...。最初はフォルダを混同してしまい、機能として捉えてしまった...。oninitの後に1回だけ実行する、良い機能です。

つまり、チャートスレッドで実行されるスクリプトに過ぎないのです。

 

マカーさん、私の質問に対する答えとして、インジケーターへのリンクを貼っていただきました。何をやってもうまくいかない( 直感でやったので、頭脳がない。あなたの力が必要なんです!

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

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

マカーさん、私の質問に対する答えとして、インジケーターへのリンクを貼っていただきました。何をやってもうまくいかない( 直感でやったので、頭脳がない。あなたの力が必要なんです!

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:

そんな写真を撮ってみました。

ファイル:
2.png  31 kb
 

こんなふうになるんです。

ファイル:
3.png  26 kb
 
ifitstrue:

こんな感じです。

前日をご希望の方は、前回の記事をご覧ください。

で、現在日であれば修正する。

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