inputint InpMA_ma_period = 25; // Параметры МА inputint InpMA_ma_shift = 0; // MA PRICE_HIGH and PRICE_LOW: horizontal shift inputENUM_MA_METHOD InpMA_ma_method = MODE_SMA; // MA PRICE_HIGH: smoothing type int handle_MA;
intOnInit()
{
handle_MA=iCustom(m_symbol.Name(),Period(),"MA",InpMA_ma_period,InpMA_ma_shift,InpMA_ma_method,PRICE_CLOSE);
}
voidOnTick()
{
double MA_price=0.0;
MA_price=iCustomGet(handle_MA,0,0);
Print("MA_price",MA_price);
}
//Получаем данные кастом МАdouble iCustomGet(int handle,constint buffer,constint index)
{
double Custom[1];
//--- reset error code ResetLastError();
//--- fill a part of the iCustom array with values from the indicator buffer that has 0 index if(CopyBuffer(handle,buffer,index,1,Custom)<0)
{
//--- if the copying fails, tell the error code PrintFormat("Failed to copy data from the iCustom indicator, error code %d",GetLastError());
//--- quit with zero result - it means that the indicator is considered as not calculated return(0.0);
}
return(Custom[0]);
}
intiMA(
string symbol, // имя символа ENUM_TIMEFRAMES period, // период int ma_period, // период усреднения int ma_shift, // смещение индикатора по горизонтали ENUM_MA_METHOD ma_method, // тип сглаживания ENUM_APPLIED_PRICE applied_price // тип цены или handle
);
Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString(). В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Некоторые символы (как...
値が変更されたかどうかをチェックするフラグを付けると、tick毎にOnInitを 叩く必要がない。
こんな感じ。
ありがとうございます、うまくいきました。
私が理解している限りでは、IndicatorReleaseを 行う必要があります。
古い計算がチャートに掛かったままだから?少なくともテスターでは。
そうすると、コードはこんな感じ?
ありがとうございます、うまくいっています。
私が理解する限り、IndicatorReleaseも 実行する必要があります。
古い計算がチャートに掛かったままだから?少なくともテスターでは。
そうすると、コードはこんな感じ?
そして、コードに追加します。
カスタムMAを価格ではなくRSI指標から描画させる方法は?
iCustomGetで カスタムMAのデータを受信しています。
複合インジケータ(インジケータからインジケータ)を作りたいのですが、どうすればいいですか?
mt4 の例
https://www.mql5.com/ru/forum/110186
https://www.mql5.com/ru/code/22638
カスタムMAを価格ではなくRSI指標から描画させる方法は?
iCustomGetで カスタムMAのデータを受信しています。
複合インジケータ(インジケータからインジケータ)を作りたいのですが、どうすればいいですか?
mt4 の例
https://www.mql5.com/ru/forum/110186
https://www.mql5.com/ru/code/22638
こんなのはどう だろう:iMA
こんなのはどう だろう:iMA
ありがとう、ちょうど私が必要としていたものだ
これには
コンパイラは応答する:型変換によるデータ損失の可能性
Question: 正しい方法は何でしょうか?(コンパイラが悪態をつかないように)
これには
コンパイラは応答する:型変換によるデータ損失の可能性
質問:正しい方法は何ですか?(コンパイラが悪態をつかないように)
コンパイラは悪態をつかず、「doubleをintにしようとしている」という警告を出します。
これには
コンパイラは応答する:型変換によるデータ損失の可能性
Question: 正しい方法は何でしょうか?(コンパイラが悪態をつかないように)
コンパイラは悪態をつかず、doubleをintに入れようとしていることを警告します。
ほぼ同じことで戸惑っていたところです。
それは、このイント ...SymbolInfoIntegerはint型を 返していたと記憶していますが、突然long型を返すようになりました。
ほぼ同じことを疑問に思っていたところです。
ということでSymbolInfoIntegerはint型を 返していたと記憶していますが、突然long型を返すようになりました。
常にlongを返します - SymbolInfoInteger()のプロパティ識別子を見る