#property script_show_inputs#define red colir[0]
#define green colir[1]
#define blue colir[2]
inputcolor testColor=clrBlue;// задайте цвет для тестирования//--- структура для представления цвета в RGBunion RGB
{
color cvet;
uchar colir[4];
string toString(); // функция для получения в виде строки
};
//--- функция для вывода цвета в виде строкиstring RGB::toString(void)
{
string out="("+(string)red+":"+(string)green+":"+(string)blue+")";
return out;
}
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//--- переменная для хранения в RGB
RGB colorRGB;
colorRGB.cvet=testColor;
Print("color ",colorRGB.cvet," = ",colorRGB.toString());
//---
}
//+------------------------------------------------------------------+//---- indicator buffersdouble AO[]; // массив для индикатора iAO//---- handles for indicatorsint AO_handle; // указатель на индикатор iAO//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- создание указателя на объект - индикатор iAO
AO_handle=iAO(NULL,0);
//--- если произошла ошибка при создании объекта, то выводим сообщениеif(AO_handle<0)
{
Print("Объект iAO не создан: Ошибка исполнения = ",GetLastError());
//--- принудительное завершение программыreturn(-1);
}
return(0);
}
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
ArrayFree(AO);
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
//--- Достаточно ли количество баров для работыif(Bars(_Symbol,_Period)<10) // общее количество баров на графике меньше 10?
{
Alert("На графике меньше 10 баров, советник не будет работать!!");
return;
}
ArraySetAsSeries(AO,true);
//--- заполнение массива AO[] текущими значениями индикатора iAO//--- задаём порядок индексации массива как в таймсерии//--- если произошла ошибка, то прекращаем выполнение дальнейших операций;if(CopyBuffer(AO_handle,0,0,100,AO)<=0)return;
double AO_1=AO[1];
AO_1=NormalizeDouble(AO_1,7);
Print("AO=",AO_1);
double AO_2=AO[2];
AO_2=NormalizeDouble(AO_2,7);
Print("AO2=",AO_2);
}
//+------------------------------------------------------------------+
構造体から文字列を削除すると、動作するようになります。
または要素ごとにコピーして、構造体の各変数
または、文字列を静的配列 uchar[16]に置き換える。
構造体から文字列を削除すると、動作するようになります。
要素ごとにコピーするか、構造体のすべての変数をコピーするか、どちらかです。
または、文字列を静的配列 uchar[16]に置き換える。
どの文字列を削除しますか?
実は、構造体型の変数を同じ構造体型の別の変数にコピーできることを理解するために、参考書を見てみたのですが......。また、その中で宣言された関数はどうなるのでしょう。要素ごとにコピーするのはよくない...。...非常に長いドラッグができます。
どの文字列を削除するか?
実は、構造体型の変数が、同じ構造体型の別の変数にコピーできることを理解するために、参考書を使って例を見てみたのですが......。そして、その中で宣言された関数はどうなるのでしょう。要素ごとにコピーするのはよくない...。...非常に長く引きずることが判明した。
ArrayCopyは 試されましたか?
ArrayCopyは試されましたか?
構造化データの 話です。配列として表現するための構造体型の変数ということですか?:-)))選択肢もない...。構造体の中には、別々に宣言するとさらに混乱するような機能があります。
ColorToString(testColor) を使用 する方が簡単ですが
データ変換を利用する場合は、ServiceDeskをご利用ください。ご指摘のエラーは、MT5のMetaEditorでも発生しています。
どの文字列を削除するか?
実は、構造体型の変数が、同じ構造体型の別の変数にコピーできることを理解するために、参考書を使って例を見てみたのですが......。そして、その中で宣言された関数はどうなるのでしょう。要素ごとにコピーするのはよくない...。...とても長く引きずることになります。
はい、すみません、アドバイスを読み間違えてしまいました...。
私の記憶では、現在、新しいユニオン 型が導入され、このようなことをする必要があります。
なぜ正しい情報が表示されないのか、その理由を教えてください。
どうも、正しい情報が表示されないのですが、その原因を教えてください。
どこで間違った情報を見たのですか?
そして、コードを正しく挿入してください(あなたの投稿で修正しました)。
カテゴリー:赤い長方形
コードから取得しました、申し訳ありません-今後考慮します
負の値が正しく表示されないのは、double 型に 起因している可能性があります。
負の値を正しく表示する方法と、正の値(正しく表示される)のように正規化できるかどうかという質問を明確にさせてください。
コードから取得しました、申し訳ありません-今後考慮します
負の値が正しく表示されない。double 型の ためと思われる。
質問を明確にします - マイナス値を正しく表示させる方法と、プラス値のように正規化できるかどうか(正しく表示される)。
子供の頃、電卓をいじると、よく同じようなEが出たものです。プログラミングを始めてから電卓のことを思い出し、すべてが元通りになりました。
文字列で数値を確認したい場合は、文字列に変換してみてください。