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

 
nekadabra:
Win8はMT4、MT5と互換性があるかどうか教えてください。macを持っていて、どのOSのPCを買えばいいのか悩んでいるので質問します。ある人は、8上で動くMT 4のスクリーンショットまで見せてくれました。しかし、「完全な互換性はない」と主張する同志もいるので、はっきりさせないと......。ありがとう ございます。

Win 8はMT 4、5と互換性があります。
 

こんにちは。

インジケーターソフトに問題があります。作者はインジケーターが動作していると言っていますが、実際にはグラフが表示されません。何が問題なのでしょうか?

#property copyright "Copyright © 2006, Profitrader."
#property link      "profitrader@inbox.ru"
//----
#property indicator_separate_window
#property indicator_buffers 1
#property  indicator_color1 Red
//---- input parameters
extern int FastMAPeriod = 3;
extern int SlowMAPeriod = 15;
extern string SecondMarket = "GOLD";
extern bool MarketsDirectCorrelation = true;
//---- buffers
double [];
double Spread[];
double FastEMA[];
double SlowEMA[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string Correlation = "Invert Correlation";
   if(MarketsDirectCorrelation == TRUE) 
       Correlation = "Direct Correlation";
   IndicatorShortName("Will-Spread(" + FastMAPeriod + "," + SlowMAPeriod + 
                      "," + SecondMarket + "," + Correlation + ")");
   IndicatorDigits(Digits + 2);
   IndicatorBuffers(4);
   SetIndexBuffer(0, WillSpread);
   SetIndexBuffer(1, Spread);
   SetIndexBuffer(2, FastEMA);
   SetIndexBuffer(3, SlowEMA);
   SetIndexStyle(0, DRAW_LINE);
   SetIndexLabel(0, "W-S");
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int i, counted_bars = IndicatorCounted();
//---- check for possible errors
   if(counted_bars < 0) 
       return(-1);
//---- last counted bar will be recounted
   if(counted_bars > 0) 
       counted_bars--; 
   int limit = Bars - counted_bars;
   if(MarketsDirectCorrelation == TRUE)
     {
       for(i = 0; i < limit; i++)
           Spread[i] = iClose(SecondMarket, 0, i) / Close[i]*100;
     }
   else
     {
       for(i = 0; i < limit; i++)
           Spread[i] = Close[i] / iClose(SecondMarket, 0, i)*100;
     }
   for(i = limit - 1; i >= 0; i--)
     {
       FastEMA[i] = iMAOnArray(Spread, 0, FastMAPeriod, 0, MODE_EMA, i);
       SlowEMA[i] = iMAOnArray(Spread, 0, SlowMAPeriod, 0, MODE_EMA, i);
       WillSpread[i] = FastEMA[i] - SlowEMA[i];
     }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
AlexMikash:

こんにちは。

インジケータープログラムに問題があります。作者はインジケーターが動作していると主張していますが、実際にはグラフが表示されていません。何が問題なのでしょうか?

問題はこの行にある。

   int i, counted_bars = IndicatorCounted();
//---- check for possible errors
   if(counted_bars < 0) 
       return(-1);
//---- last counted bar will be recounted
   if(counted_bars > 0) 
       counted_bars--; 
   int limit = Bars - counted_bars;
新しいコンパイラは実行時にエラーが出ますが、コンパイル時は大丈夫です。作者にデバッガで実行してもらい、すぐに問題点を確認する。
 
AlexeyVik:

問題はこの行にある。

新しいコンパイラは、実行時にエラーが出ますが、コンパイル時には大丈夫です。作者にデバッガで実行してもらい、すぐに問題点を確認する。


何の問題もなく、すべてがうまくいく。バッファの記述を元に戻すだけで十分です

//---- buffers
double [];
double Spread[];
double FastEMA[];
double SlowEMA[];

問題は、デフォルトのツールにあります。GOLDツールがない可能性が高い、他のツールを入れればOK


 
メタトレーダーの黄色いシグナル放送のアイコンは何を意味しているのですか?一時的に信号が放送されないこと?また、 現在ターミナルで見ることができるいくつかのシグナルが、現在mql5.comに掲載 されていないのはなぜですか?
 
Vinin:


問題なく、すべて動作しています。バッファの記述を復元すれば十分です

問題は、デフォルトのツールにあります。GOLDツールがない可能性が高い、他のツールを入れれば全て問題ない。



GOLDツールにこだわるのはわかるけど、どうやって端末につなげばいいんだ?
 
AlexMikash:

GOLDツールにこだわるのはわかるけど、どうやって端末につなげばいいんだ?

あるのかないのか、どちらかです。全ては証券会社次第です。そのようなツールを提供しているかどうかは別として。
 
Vinin:

あるかないかのどちらかです。全てはDC次第です。そのようなツールを提供しているかどうかは別として。


ありがとうございます!画像は鮮明です。

 

こんにちは。 EAにインジケータをねじ込む方法を勉強中ですが、今のところあまりうまくいきません。

1 - テスターでEAを実行すると、停止したときだけインジケーターのラベルが表示される。

2 - 条件の内容や書き方がよくわからない。

EAに指標に基づいた取引をさせたいのですが、指標をEAに添付する方法を教えてください。

上か下かを示す矢印のインジケータをベースにBS_Living Now ver #1.mq4 https://www.mql5.com/ru/code/11014#50910

#property



 
 indicator_chart_window //#property indicator_buffers 4 //#property indicator_color1 Red //#property indicator_color2 Yellow //#property indicator_color3 Red //#property indicator_color4 Yellow ////**********// indicator parameter inputextern int BQuant=48; // - バーカウント本
 //**********/ indicator components //**********// indicator components
                                        // else // { // if(iHigh(NULL,0,t)>=High[iHighest(NULL,0,2,BQuant,t+1)] && // iHigh(NULL,0,t)>iHigh(NULL,0,t-1)) // { // ExtrimHi[t] =iHigh(NULL,0,t); // Break_Detect(t,1);                               //**************// ブレークポイント検出 } // //if(iLow(NULL,0,t)<=Low[iLowest(NULL,0,1,BQuant,t+1)] && // iLow(NULL,0,t)<iLow(NULL,0,t-1))// //{ // ExtrimLo[t] =iLow(NULL,0,t);                                         // Break_Detect(t,-1); //**********// ブレークポイント検出 } // } // return(0);                                                                 // } //double Break_Detect(int a,int Signal) //**********************// ブレークポイントの決定 { // for(int r=1; r<BQuant; r++) // {if(Signal==1 && iHigh(NULL,0,a+r)<High[iHighest(NULL,0,2,BQuant,a+r+1)]) // {BreakHi[a] =Low[iLowest(NULL,0,1,r+2,a-1)]; r=BQuant;}} // //{BreakHi[b] =Low[iHigh( 0,1,BQuant)];r=BQuant; } // // // //iHighest(NULL,0,2,a+r)                // if(Signal==-1 && iLow(NULL,0,a+r)>Low[iLowest(NULL,0,1,BQuant,a+r+1)]) // {BreakLo[a] =High[iHighest(NULL,0,2,r+2,a-1)]; r=BQuant;}} // //iHigest(NULL,0,1,a+r)>High[iLowest(NULL,0,1,BQuant,a1];r=BQuant // } return(0); //  }

私が始めたExpert Advisorはこちら
です。

extern double Lot=0.1; extern int Magic=0; extern int Stop=98; extern int Take=70; extern int Slip=10; extern int BQuant=48; // - 計算したバーの数 int start(
)
{
double S1=iCustom(NULL, 0, "BS_Living Now",BQuant,0,0);
OrderSend(Symbol(), OP_SELL,Lot, Bid, Slip,Ask+Stop*Point,Ask-Take*Point, "SELL", Magic, 0,Red ); OrderSend(Symbol(), OP_BUY, Lot, Ask, Slip,Bid-Stop*Point,Bid+Take*Point, " BUY", Magic, 0,Blue);

}
 

OBJ_ARROW_RIGHT_PRICE 型のオブジェクトを作成し、それを削除する簡単なスクリプトを書いた場合、そのオブジェクトは削除されません。さらに、ObjectTypeコマンドを実行すると、作成されたオブジェクトはOBJ_ARROW_RIGHT_PRICE(==36)ではなく、==22、つまり単純な「矢印の上」であることが突然判明しました!!!!!!!!!!!!!!!!!!!!!!!!(笑)。私だけなのか、それともみんなそうなのか?

この問題については、すでに「専門家」の意見もありました:ヘルプを読めとか、メモリが足りないとか :) 。

メモリで十分です。

ObjectCreateコマンドでOBJ_ARROW_RIGHT_PRICEタイプのオブジェクトが描画 され、ObjectsDeleteAll(0,OBJ_ARROW_RIGHT_PRICE)コマンドでは削除できず、ObjectsDeleteAll(0,22)コマンドで削除できるようで、まるで正しい値札ではなく「上矢印」だったかのように表示されているのです。 誰のせい?

#property copyright "Copyright 2014, MetaQuotes Software Corp."

#プロパティリンク "https://www.mql5.com"

#property version "1.00"

#プロパティの厳密さ

//+------------------------------------------------------------------+

//| スクリプトプログラム起動機能

//+------------------------------------------------------------------+

void OnStart()

{

アラート(") ;

Alert("obj_arrow_right_price=",OBJ_ARROW_RIGHT_PRICE) ; // ==36

ObjectCreate("MyArrow", OBJ_ARROW_RIGHT_PRICE,0,Time[1],Open[1]);//。

Alert("objectTipe=", ObjectType("MyArrow") ) ; // ==22 !

ResetLastError() ;

Alert("script delete arrow right price=",ObjectsDeleteAll(0,OBJ_ARROW_RIGHT_PRICE)," lastError=",GetLastError() ) ; // 削除オブジェクト数 ==0, エラー数 ==0

}

OBJ_ARROW_RIGHT_PRICE型のオブジェクトを削除するには、コマンド ObjectsDeleteAll(0,OBJ_ARROW) で、サブウィンドウを必ず指定する必要があります。

p.s. OBJ_ARROW 型のオブジェクトは、"上向き矢印 "だけでなく、あらゆる "矢印 "を意味します。 ObjectCreate(...OBJ_ARROW...)は、すぐに「上向き矢印」を作成します。では、なぜヘルプに書かれていないのでしょうか?