具体的には: マーケットに「自動トレンドライン」というインジケーターがあります。I want to make a robot based on it, which would open or close a position at the moment when the price crosses these lines on the indicator (well, and under specified additional conditions).
// Глобальная переменная для хендла индикатораint tlHandle;
intOnInit() {
// Создаем хендл индикатора
tlHandle = iCustom(Symbol(), PERIOD_CURRENT, "Market\\Automatic Trendlines", false, 5, 15, clrRed, clrBlue, 2, "My Support", "My Resistance");
// Можем добавить индикатор на график, если хотим. // Для использования в расчетах это необязательноChartIndicatorAdd(ChartID(), 0, tlHandle);
// Вызовем один раз OnTick(), чтобы на выходных у нас что-то в логе отобразилосьOnTick();
return(INIT_SUCCEEDED);
}
voidOnDeinit(constint reason) {}
voidOnTick() {
// Объявляем массивы для буферов индикатораdouble tlBuffer0[], tlBuffer1[]; // ,tlBuffer1, ...int res;
// Копируем нужное количество значений из индикаторных буферов в массивы
res = CopyBuffer(tlHandle, 0, 0, 100, tlBuffer0);
res = CopyBuffer(tlHandle, 1, 0, 100, tlBuffer1);
// У разных индикаторов различное количество индикаторных буферов, // числа из которых используются для построения линий, значков, цветовых меток на графике// Сколько их у данного индикатора и как используются их числа исследуйте самостоятельно// res = CopyBuffer(tlHandle, 2, 0, 100, tlBuffer2);// Пользуемся полученными значениямиArrayPrint(tlBuffer0);
ArrayPrint(tlBuffer1);
}
念のため、別々の行の配列よりも、私が示したように1行で書く方が簡単です。
こんにちは、
https://www.mql5.com/fr/search#!keyword=money%20management&module=mql5_module_marketを 検索してみてください。
また、フリーランスにカスタマイズされたソリューションを注文することもできます -https://www.mql5.com/fr/job
皆さん、こんにちは!今年もよろしくお願いいたします。
具体的には:
マーケットに「自動トレンドライン」というインジケーターがあります。I want to make a robot based on it, which would open or close a position at the moment when the price crosses these lines on the indicator (well, and under specified additional conditions).
皆さん、こんにちは!今年もよろしくお願いします。
具体的には:
マーケットに「自動トレンドライン」というインジケーターがあります。このインジケーターを基にロボットを作りたいのですが、価格がインジケーターのラインを超えた瞬間にポジションをオープンまたはクローズするようにしたいのです。
私自身は問題ありません。市場やCodeBaseでは、市場からの他人の工芸品を使用することはできません...
自分のためなら問題ない。マーケットプレイスやCodeBaseから他人の工芸品を使うことはできませんが...。
自分のために。やり方がわからない。オープンソースでコードが見つからない。あるいは、自分のコードにどのようにねじ込めば、行の位置をキャッチできるのか。
こんにちは、@Rad89
iCustom() とCopyBuffer() 関数が必要です。
マーケットからダウンロードしたインディケータをExpert Advisorに追加する例を以下に示します。
enum ENUM_NAME { ENUM_1, ENUM_jsdf .... ENUM_FEF; };
どのようにE_NAME[]配列にメモリを割り当てれば、(繰り返しのない)すべてのENUM_NAME値に対して十分なメモリを確保できますか?また、すべての可能な値でE_NAME[] を初期化しますか?
こんにちは、@pivomoe さん。
列挙項目に無理に数値を代入しないのであれば(例から判断すると代入しないのでしょう)、このようにすることができます:
この場合、列挙に要素を追加する際に、要素数を格納する定数も変更する必要があります。
また、ENUM_ 接頭辞は列挙自体の名前にのみ使用し、その要素には他の接頭辞を使用する方が良いでしょう。この規約は、すべての標準MQL列挙で使用されています。
こんにちは、@pivomoe
もし列挙項目に無理に数値を代入しないのであれば(例から判断して)、このようにできます:
この場合、列挙に項目を追加する際に、項目の数を格納する定数も変更する必要があります。
また、ENUM_ 接頭辞は列挙自体の名前にのみ使用し、その要素には他の接頭辞を使用する方が良いでしょう。この規約は、すべての標準MQL列挙で使用されています。
ご協力ありがとうございます。長年ENUMを使ってきたので、ヘルプを読むことさえ思いつきませんでした。