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

 
-nan(ind) 値がないのでしょうか?
 
Yevhenii Levchenko:
-nan(ind)は数字ではない?

エヌエーエヌ

 
Yevhenii Levchenko:

sizeof() は、変数の型のサイズを 返します。


そうなんです。配列は、同じ型の データの集まりです。このように書くと

int masiv[1];
Print(sizeof(masiv));//вернёт 4, потому что int 4 байта, если так masiv[2]- будет 8.
int Perem;
Print(sizeof(Perem));//вернёт 4, потому что int 4 байта
//если записать вот так
int masiv[];
Print(sizeof(masiv));вернёт 52 вне зависимости где и как объявлен массив.
//если записать вот так
int masiv[][3][3];
Print(sizeof(masiv));вернёт 52.


これらの配列のいずれかを関数に渡すと、52の疑問が生じます。

 
取引開始後、残っている矢印のグラフィックを全て削除するmt5用のスクリプトはないでしょうか。そうしないと、手動で一つ一つオブジェクトを削除するのに時間がかかってしまいます。
 
Konstantin Lebedev:
mt5で、取引開始後、矢印の形で残っているグラフィック表示を全て削除するスクリプトはないでしょうか、オブジェクトを一つ一つ手動で削除していると時間がかかるので。

一つ一つ行う必要はなく、一度にすべてのグラフィカルオブジェクトを一括で削除することができます。


 
Konstantin Lebedev:
トレードを開始した後、矢印の形で残っているグラフィック表示をすべて削除するmt5用のスクリプトはありますか?そうでなければ、オブジェクトを一つずつ手動で削除するのは長いです。

ドラえもんは質問の意味を理解していない。履歴」または「取引」タブで、コンテキストメニューから 一括で削除する。また、追加を無効にすることも可能です。


 
こんにちは。まだ(ゆっくり、何を焦っているのか)MT5をマスターしています。記録を理解できないことに直面。ヒント、もしくは時間によるバッファラインを持つインジケータがあれば、リンクを送ってください)))感謝
for(int i=limit; i>=0; i--)
{
...

MqlDataTime tm;
TimeToStruct(time[i],tm);

if(tm.hour==18 && tm.min==30 && Period()<=PERIOD_H1)
 {
//функция для создания таймлинии (вертикальная) ВСЕ ОК!

//КАК ВЫГЛЯДИТ ЗАПИСЬ СОЗДАНИЯ БУФЕРНОЙ ЛИНИИ ? ТАК НЕ ПОЛУЧАТСЯ 
for(int j=shift; j>=0; j--)
 {
CL=iClose(NULL,_Period,j);
Buff[i]=close[j]; // =CL;

if(Buff[j-1]!=Buff[j])
Buff[j-1]=EMPTY_VALUE;
 }
}

すること
 

助けてください


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

//|Lex_Bands.mq4||Lex_Bands.mq4||Lex_Bands.mq4
//| レックス
//||
//+------------------------------------------------------------------+
#property copyright "Lex"
#プロパティの厳密さ
#property indicator_chart_window
#プロパティ indicator_buffers 3
#property indicator_plots 3
//--- プロット Middle_Line
#property indicator_label1 "Middle_Line"
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrLightSeaGreen
#property indicator_style1 STYLE_SOLID
#property indicator_width1 2
//--- プロット Up_Line
#property indicator_label2 "Up_Line"
#property indicator_type2 DRAW_LINE
#property indicator_color2 clrLightSeaGreen
#property indicator_style2 STYLE_SOLID
#property indicator_width2 2
//--- plot_Line
#property indicator_label3 "Down_Line"(下降線)。
#property indicator_type3 DRAW_LINE
#property indicator_color3 clrLightSeaGreen
#property indicator_style3 STYLE_SOLID
#property indicator_width3 2
//--- インジケータパラメータ
input int InpBandsPeriod=20; // MA周期
input int OtklPeriod=20; // オトクロネニア期間
input int OtklShag=5; // オトクロネーニャのシャグ
input int MA_Type=0; // MA タイプ 0 - SMA, 1 - EMA, 2 - SMMA, 3 - LWMA
input int Applied_Price=4; // 0 - PRICE_CLOSE、1 - PRICE_OPEN、2 - PRICE_HIGH、3 - PRICE_LOW、4 - PRICE_MEDIAN、5 - PRICE_TYPICAL、6 - PRICE_WEIGHTED

//--- インジケータ・バッファ
double_LineBuffer[]。
double_LineBuffer[]。
double_LineBuffer[]; double Down_LineBuffer[];

//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int OnInit()
{
IndicatorBuffers(7)です。
SetIndexBuffer(0,Middle_LineBuffer)を設定します。
SetIndexStyle(0,DRAW_LINE)を設定します。
SetIndexBuffer(1,Up_LineBuffer)を設定します。
SetIndexStyle(1,DRAW_LINE)を設定します。
SetIndexBuffer(2,Down_LineBuffer)を設定。
SetIndexStyle(2,DRAW_LINE)を設定します。
return(0)です。
}
//+------------------------------------------------------------------+
//| カスタムインジケータ反復関数
//+------------------------------------------------------------------+
int start()
{
int counted_bars = IndicatorCounted();
if(counted_bars < 0) return(-1);
if(counted_bars > 0) counted_bars;
int limit = Bars - counted_bars;
if(counted_bars==0) limit--;
double dOtklSumMax[];
double SrOtklMax[];
double dOtklSumMin[];
double SrOtklMin[];
for(int i=1;i<=limit;i++)
{
for(int j=i;j<=i+OtklPeriod;j=j+OtklShag)
{
double max=High[iHighest(NULL,0,MODE_HIGH,OtklShag,j)];
double min=Low[iLowest(NULL,0,MODE_HIGH,OtklShag,j)];
double Otklmax=max-iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,j);
double Otklmin=iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,j)-min;
doubleOtklmax=Otklmax*Otklmaxとする。
dOtklSumMax[j]=dOtklSumMax[j-1]+dOtklSumMax[j];
dOtklSumMax[OtklShag]=dOtklSumMax[j]とする。
double dOtklmin=Otklmax*Otklmax;
dOtklSumMin[j]=dOtklSumMin[j-1]+dOtklSumMin[j];
dOtklSumMin[OtklShag]=dOtklSumMin[j]とする。
}
Middle_LineBuffer[i]=iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,i)。
SrOtklMax[i]=MathSqrt(dOtklSumMax[OtklShag]/(OtklPeriod/OtklShag));
SrOtklMin[i]=MathSqrt(dOtklSumMin[OtklShag]/(OtklPeriod/OtklShag));
Up_LineBuffer[i]=iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,i)+SrOtklMax[i];
Down_LineBuffer[i]=iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,i)-SrOtklMin[i];
}
return(0)です。
}

以下は、インジケータコードです。コンパイル時のエラーはありませんが、チャート上では何も表示されません。
 
Xander1603:

よろしくお願いします。

...

以下は、このインジケーターのコードです。コンパイル時にエラーは出ないのですが、チャート上に全く何も表示されません。

コードを 正しく挿入してください。


そして、簡単な質問で多くのトピックを作らないことです。

 
文字列をenumに変換する方法は?