初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 654

 
pako:

下段のフラクタルのバーナンバーは既知である

そこから、既知のフラクタルの低域に対応する最初の高域をループで探索する

これは可能ですが、私ならその逆をやりますね。すなわち、まず直前の(形成された)ローソクの高値を見つけ、次に最後のフラクタルの下降を見つける。同じであれば、ポイントをつける。
 
Alexey Kozitsyn:
そうすることもできますが、私ならその逆をやりますね。すなわち、まず直前の(形成された)ローソクの高値を見つけ、次に最後のフラクタルの下降を見つける。それらが一致すれば、ポイントを置く。

理解できない。コンディションを整えることだと思いました。

if( High[i+1]==Low[isFractalDn()])//максимум первой свечи равен первому фракталу Dn
どのように書けばいいのか?
 
Vladimir Karputov:
MQL5.communityからLOGINとPASSWORDを入力します。
具体的にどこに一行があるのか
ファイル:
 
Ласло Подобедов:
具体的にどこに一本線があるのでしょうか?
すみません、端末と混同してしまいました。もちろん、MQL5.communityからLOGINを入力するだけでいいのです。
 
Vladimir Karputov:
すみません、端末と混同してしまいました。もちろん、MQL5.communityからLOGINを入力するだけでいいのです。
ありがとうございます。しかし、何の兆候もありません。何か間違ったことをしたのでしょうか?
ファイル:
 
mila.com:

理解できない。コンディションを整えることだと思いました。

if( High[i+1]==Low[isFractalDn()])//максимум первой свечи равен первому фракталу Dn
どうやって書き出すの?

落ち着け...こうする

#property copyright "Tapochun"
#property link      "https://www.mql5.com/ru/users/tapochun"
#property version   "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots 2
//---
#property indicator_type1 DRAW_ARROW
#property indicator_width1 5
#property indicator_color1 clrAqua
#property indicator_type2 DRAW_ARROW
#property indicator_width2 5
#property indicator_color2 clrRed
//+------------------------------------------------------------------+
//| Глобальные переменные                                                                                                                       |
//+------------------------------------------------------------------+
double bufSell[];
double bufBuy[];
//+------------------------------------------------------------------+
//| Входные параметры                                                                                                                           |
//+------------------------------------------------------------------+
input int inpNum=50;    // Количество свечей для поиска последнего фрактала
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   SetIndexBuffer(0,bufBuy);
   SetIndexBuffer(1,bufSell);
   SetIndexEmptyValue(0,EMPTY_VALUE);
   SetIndexEmptyValue(1,EMPTY_VALUE);
   SetIndexArrow(0,225);
   SetIndexArrow(1,226);
   IndicatorDigits(_Digits);
//---
   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<=0 || prev_calculated<0)
      return( 0 );
//---
   if(prev_calculated>0) // Если не первый расчет индикатора
     {

     }
   else                         // Если первый расчет индикатора
     {
      ArrayInitialize(bufBuy,EMPTY_VALUE);
      ArrayInitialize(bufSell,EMPTY_VALUE);
      //---
      for(int i=1; i<rates_total-7; i++)
        {
         CheckBuyArrow(low[i],i,i+4,rates_total-3,time);
         CheckSellArrow(high[i],i,i+4,rates_total-3,time);
        }
     }
//---
   return(rates_total);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CheckBuyArrow(const double price,
                   const int index,
                   const int first,
                   int last,
                   const datetime &time[]
                   )
  {
   last=(first+inpNum-1<last) ? first+inpNum-1 : last;
   double iPrice;
//---
   for(int i=first; i<=last; i++)
     {
      iPrice=iFractals(_Symbol,_Period,MODE_UPPER,i);
      if(iPrice!=EMPTY_VALUE)
        {
         if(price==iPrice)
           {
            bufBuy[index]=iPrice-10*_Point;
            Print(__FUNCTION__,": "+TimeToString(time[index])+" - "+TimeToString(time[i]));
           }
         return;
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CheckSellArrow(const double price,
                    const int index,
                    const int first,
                    int last,
                    const datetime &time[]
                    )
  {
   last=(first+inpNum-1<last) ? first+inpNum-1 : last;
   double iPrice;
//---
   for(int i=first; i<=last; i++)
     {
      iPrice=iFractals(_Symbol,_Period,MODE_LOWER,i);
      if(iPrice!=EMPTY_VALUE)
        {
         if(price==iPrice)
           {
            bufSell[index]=iPrice+10*_Point;
            Print(__FUNCTION__,": "+TimeToString(time[index])+" - "+TimeToString(time[i]));
           }
         return;
        }
     }
  }
//+------------------------------------------------------------------+
ただ、ストーリーを頼りにしている。
 
Ласло Подобедов:
ありがとうございます。しかし、何の兆候もありません。何か間違ったことをしたのでしょうか?
いくつかの可能性が考えられます。
  1. 32ビットのOSをお持ちの方。その場合、あなたは行くことができません。
  2. クラウドへの参加は2分程度と、長くはありません。
  3. ファイアウォールでポートが閉じられている可能性があります - エージェントのログを見る必要があります。
 
Vladimir Karputov:
いくつかのオプションが可能です。
  1. 32ビットのOSをお持ちの方。その場合、あなたは行くことができません。
  2. 時間も短く、2分もあればクラウドに参加できます。
  3. ファイアウォールによってポートがブロックされている可能性があります - エージェントのログを見る必要があります。
RAMが8GBでOSがwin10なので、システムはx64です。OKありがとうございます。
 
Ласло Подобедов:
私は8GBのRAMを持っているので、システムはx64であり、システムは勝利10、大丈夫感謝はファイアウォールを切断し、今再試行してください!............................。
TCPポートの調べ方をご存知ですか? metatesterを別途ダウンロードしたのですが.
 
mila.com:

理解できない。コンディションを整えることだと思いました。

if( High[i+1]==Low[isFractalDn()])//максимум первой свечи равен первому фракталу Dn
どうやって書き出すの?
箱の中を見てください。
理由: