どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 553

 
splxgf:
バグではなく、機能です。こちらからどうぞhttps://www.mql5.com/ru/articles/1388

YOOOOO ありがとうございます!やばいな。ワンクリックで解決しました。
 
AlexeyVik:

数学でいうところの「0」は「0」であり、あなたの場合は「0」がすべての出発点となる何らかの価格です。

splxgf 氏が提案したように始値が1.3926であれば、0は1.3926/123*100=1.1322または1.3926/1.23=1.1322になります。

この値動きの1%は、(1.3926-1.1322)/100=0.0026となります。

さらに言えば、自分で考えてほしい。


親愛なる皆様、これはナンセンスです。フィボは2つのポイントで成り立っている、先に書いたことを読んでください。1.3926の一点から何かを計算することはできない。ユーロが1.13になったときを見よ :)

基準価格はフィボの0レベル(4Hの最小/最大、日、週、月、年・・・)であり、数学的な0ではなく、完全に具体的な価格である。ゼロフィボと100%フィボは、期間中の価格の最小値と最大値です。それから、0レベルからのエントリーポイントとして23%も理解できるし、TPを38%にするなど。

 
splxgf:


この場合は別問題で、パーセントを使った初歩的な数学のレベルで解決することができます。

PercentStep=(OrderTakeProfit-OrderOpenPrice)/(138-23) - これはパロットで1%となります。正直なところ、順序型やモジュロによってオペランドを入れ替えなければならないこともある。

その後

StoplossLevel = OrderOpenPrice + PercentStep*(51-23) //キムさんの言い方ではLevelWLossですが、これは各注文ごとに計算する必要があります。

MoveStoplossLevel = OrderOpenPrice + PercentStep*(76-23) //LevelProfit - 上記を参照してください。


ご返信と計算式、どうもありがとうございました。試してみようと思います。
 

4番目のバッファの値が取得できない。私は何を間違えているのだろう?

#property indicator_separate_window
#property indicator_buffers 4
#property  indicator_color1 Lime
#property  indicator_color2 Yellow
#property  indicator_color3 Red
#property  indicator_color4 Aqua
//--- input parameters
extern int       Period_MA_1=14;
extern int       p2          =7;
//--- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexStyle(2,DRAW_LINE);
   SetIndexBuffer(2,ExtMapBuffer3);
   SetIndexStyle(3,DRAW_LINE);
   SetIndexBuffer(3,ExtMapBuffer4);
   IndicatorDigits(Digits+1);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int counted_bars=IndicatorCounted(),                      
    limit;
    double MA_1_t,MA_2_t;
    if(counted_bars>0)
    counted_bars--;
    limit=Bars-counted_bars;
    
   for(int i=0;i<limit;i++)
   {
   ExtMapBuffer1[i]=Close[i]-Close[i+Period_MA_1];
   ExtMapBuffer2[i]=MathAbs(ExtMapBuffer1[i]);
   ExtMapBuffer3[i]=ExtMapBuffer1[i]/ExtMapBuffer2[i];
   ExtMapBuffer4[i]=iMAOnArray(ExtMapBuffer3, 0, p2, 0, MODE_SMA,i);
   }
   
   return(0);
  }
 
Forexman77:

4番目のバッファの値が取得できない。私は何を間違えているのだろう?


私の例では、いくつかのループがありました。不要なものを処分した?
 

こんにちは。

EAの設定画面で「DLLの呼び出しを許可する」にチェックを入れられないのはなぜか、教えてください。

端末の 設定でも有効になっています。他のEAではOKです。

私自身、このEAを書こうとしています。iCustomのインジケータを使用しており、iCustomはDLLにアクセスする必要があります。

ありがとうございました。

 
Vinin:

私の例では、いくつかのループがありました。不要なものは処分したのでしょうか?
いろいろ試したけど、こうしたら。
#property indicator_separate_window
#property indicator_buffers 4
#property  indicator_color1 Lime
#property  indicator_color2 Yellow
#property  indicator_color3 Red
#property  indicator_color4 Aqua

//--- input parameters
extern int       Period_MA_1=14;
extern int       p2          =7;
extern int       p3          =5;
extern int       p4          =3;
//--- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_NONE);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexStyle(2,DRAW_LINE);
   SetIndexBuffer(2,ExtMapBuffer3);
   SetIndexStyle(3,DRAW_LINE);
   SetIndexBuffer(3,ExtMapBuffer4);
   IndicatorDigits(Digits+1);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int counted_bars=IndicatorCounted(),
   i,limit1,limit2,limit3,limit4;
   limit1=Bars-counted_bars-1;
   limit2=limit1;
   limit3=limit2;
   limit4=limit3;
   if(limit1>0) 
     {
      limit1=Bars-Period_MA_1-1;
      limit2=limit1-p2;
      limit3=limit2-p3;
      limit4=limit3-p4;
     }

   for(i=limit1;i>=0;i--) ExtMapBuffer1[i]=Close[i]-Close[i+Period_MA_1];
   for(i=limit2;i>=0;i--) ExtMapBuffer2[i]=MathAbs(ExtMapBuffer1[i]);
   for(i=limit3;i>=0;i--) ExtMapBuffer3[i]=ExtMapBuffer1[i]/ExtMapBuffer2[i];
   for(i=limit4;i>=0;i--) ExtMapBuffer4[i]=iMAOnArray(ExtMapBuffer3, 0, p2, 0, MODE_SMA,i);

   return(0);
  }

3番目と4番目のバッファはカウントされません。どこがエラーなのかわからない。このあたりの知識は、私の力不足です。

全部を別のバッファに入れずに、メインの部分をこうやって計算するといいんじゃないでしょうか。

 ExtMapBuffer1[i]=(Close[i]-Close[i+Period_MA_1])/MathAbs(Close[i]-Close[i+Period_MA_1]);
が、この場合は全くありません。
 
Forexman77:
いろいろな方法を試しましたが、これをやると

3番目と4番目のバッファはカウントされません。どこがエラーなのかわからない。このあたりの知識は、私の力不足です。

全部を別のバッファで型取りして、こうやってメインの部分を計算するのはやめといた方がいいと思うんです。

が、この場合は全くありません。


あなたの計算式によると、結果は1または-1になります。これは本当でしょうか、それとも違う結果を期待しているのでしょうか?
 
Vinin:

あなたの計算式によると、結果は1または-1になります。これは本当でしょうか、それとも違う結果を期待しているのでしょうか?

はい、3番目のバッファには1または-1が入ります。そして、4番目のバッファは、これらのパラメーターの移動平均を 計算する。

3つ目のバッファでは、割り算する値が100倍になっていますが、これは問題ではありません。

 
Forexman77:

はい、3番目のバッファには1または-1が入ります。そして、4番目のバッファは、これらのパラメーターの移動平均を計算する。

3つ目のバッファでは、割り算する値が100倍になっていますが、これは問題ではありません。


//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_buffers 2
#property  indicator_color1 Lime
#property  indicator_color2 Yellow

//--- input parameters
extern int       Period_MA_1=14;
extern int       p2=7;
//--- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,ExtMapBuffer2);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int counted_bars=IndicatorCounted(),
   i,limit1,limit2;
   limit1=Bars-counted_bars-1;
   limit2=limit1;
   if(limit1>0)
     {
      limit1=Bars-Period_MA_1-1;
      limit2=limit1-p2;
     }

   for(i=limit1;i>=0;i--) 
     {
      ExtMapBuffer1[i]=1;
      if(Close[i]<Close[i+Period_MA_1])
         ExtMapBuffer1[i]=-1;
     }
   for(i=limit2;i>=0;i--) ExtMapBuffer2[i]=iMAOnArray(ExtMapBuffer1,0,p2,0,MODE_SMA,i);

   return(0);
  }
//+------------------------------------------------------------------+