[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 197

 

説明する。理解できない。なぜこの条件なのか

int Takeprofit = 62;

pp =MarketInfo(OrderSymbol(), MODE_POINT);

if(OrderTakeProfit() - OrderOpenPrice() < Takeprofit*pp )

というのは、本当ですか?両者はイコールであるが!!!下記をご覧の通りです。

2009.08.22 18:50:31 1999.10.11 23:43 Delta EURUSD,M1: OrderTakeProfit() - OrderOpenPrice() = 0.0062 Takeprofit*pp = 0.0062

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

 

実数を扱うのだから、0.0062が実際には0.0061999や0.0062001になりうることは知っているはずだ。

正規化を使用する。

 
OneDepo писал(а)>>

実数を扱うのだから、0.0062が実際には0.0061999や0.0062001になりうることは知っているはずだ。

正規化を使用する。

Takeprofit*ppのノーマライズを試したが、何も効果がなかった。両辺を正規化した方がいいのでは?

 
001 >> :

Takeprofit*ppのノーマライズを試しましたが、何も効果がありませんでした。 (不等式)の両辺を正規化する必要があるのでは?

はい。

第二の選択肢は、例えばint型を扱うことである。

int temp = 0.5 + (OrderTakeProfit() - OrderOpenPrice())/ pp;
if ( temp < Takeprofit)
 
OneDepo писал(а)>>

はい。

第二の選択肢は、例えばint型を扱うことである。

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

 

こんにちは。

条件によってインジケーターの線の色を変えるにはどうしたらいいですか?例えば、バーの範囲によって色を変えるなど。

これを行うはずのSetIndexStyle 関数は、色や線の太さを設定しても機能 しません- 図参照

以下のコード例を参照してください。

それぞれの棒は色も太さも違うはずなのに、どれもただの赤色で太さも2本です。

//+------------------------------------------------------------------+
//|                                                       MinMax.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Gray

//---- buffers
double ExtMapBuffer1[];
double Val;
int ExtCountedBars=0;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2,Brown);
   SetIndexBuffer(0, ExtMapBuffer1);
   Val=Close[Bars-1];
  
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   

   if(Bars<=100) return(0);
   ExtCountedBars=IndicatorCounted();

   //---- check for possible errors
   if ( ExtCountedBars<0) return(-1);
   if ( ExtCountedBars>0) ExtCountedBars--;
   int    i, pos=Bars- ExtCountedBars-1; 
   Comment(Bars," ", ExtCountedBars, " ", pos); 
//---- last counted bar will be recounted
   
//----

   while( pos>=0) {
        
         if ( pos<100 && pos>0)   { SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2,Red); Val=1.45; }
         if ( pos<200 && pos>100) { SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,3,Blue); Val=1.44; }
         if ( pos<300 && pos>200) { SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,4,Yellow); Val=1.43; }
         if ( pos<400 && pos>300) { SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,5,Magenta); Val=1.42; }
             
      ExtMapBuffer1[ pos]= Val;
    
    pos--;
     }
  return(0);
  }
//+------------------------------------------------------------------+
 
stera писал(а)>>

こんにちは。

条件によってインジケーターの線の色を変えるにはどうしたらいいですか?例えば、バーの範囲によって色を変えるなど。

これを行うはずのSetIndexStyle 関数は、色や線の太さを設定しても機能 しません- 図参照

以下のコード例を参照してください。

ステップごとに色や太さが違うはずなのに、すべて赤色で太さ2だけになっています。

それぞれのスタイルとカラーを持つ追加のバッファーを使用します。

 
Vinin >> :

それぞれのスタイルとカラーを持つ追加のバッファーを使用します。

一度、同じような質問を されたことがあり、クリアすべきことを一緒に考えました :)))

SetIndexStyleを 開始時に使用すると、正直に色を変更しますが、バッファ全体が一度に変更されます。つまり、現在のチャートでは、バッファ(線)は最後にトリガーされたSetIndexStyle アプリケーションに対応する色を持つことになります。

 
stera писал(а)>>

こんにちは。

インジケーターラインの色を変更する方法...

ここを見て ください

 
granit77 писал(а)>>

一度、同じような質問を されたことがあり、クリアすべきことを一緒に考えました :))

SetIndexStyleを 開始時に使用すると、正直に色を変更しますが、バッファ全体が 一度に変更されます。つまり、現在のチャートでは、バッファ(線)は最後に トリガーされたSetIndexStyle アプリケーションの色に対応する色を持つことになります

granit77さん、ありがとうございました。

それは包括的な答えです。
そう思ってはいたのですが、この機能にそんな妙案が込められていたとは......。

用途によっては、バッファ全体の色を変える必要がありますが、より実用的なのは

しかし、インジケーターの一部分を着色する(他の属性を変える)仕組み。

例えば、EasyLangにはそれがあります。

開発者に手紙を出します。

MQLの関数について、もっと詳しい説明はどこかにありませんか?

いくつかの、あるいは他のパラメーターの例で?

すべてのパラメータは、自分でテストするか、サードパーティの例から取得する必要があります。