[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 46

 

こんにちは!コードのやり直しを手伝ってほしいのですが。コードの主要な部分をファイルとして添付します。コードはテーブルを構築する。私は、Content - table contentに値を挿入する方法を考え出しましたが、同じことをフォントの色で行おうとして失敗しています。

で、Contentで行ったような文字色制御を行う必要があります。

   // Готовим массив с содержимым таблицы      
      for(int i=0;i<20;i++)
      {
       for(int j=0;j<2;j++)
       {
        Content[i][j]="Колонка "+(j+1)+", строка "+(i+1);
       }
      }

すなわち、おおよそこのようなものである。

aContentTextColor [i][j] // i, j номер колонки и строки - присваивать им цвет
ファイル:
1.mq4  8 kb
 
Kondratiev_A_A:

こんにちは!コードのやり直しを手伝ってほしいのですが。コードの主要な部分をファイルとして添付します。コードはテーブルを構築する。私は、Content - table contentに値を挿入する方法を考え出しましたが、同じことをフォントの色で行おうとして失敗しています。

そして、Contentで行ったような文字色制御を行う必要があるわけです。

すなわち、このようなものです。

要素数を「行」単位で増やし(例えばfor(int j=0;j<4;j++) と配列宣言にも 適宜)、2番目と3番目の要素に(数字で)カラーコードを書き込むと、さらに解釈しやすくなります。

また,色については,コンテンツと同じ次元の配列を定義することができます。

 
smshev:

1行の要素数を増やし(for(int j=0;j<4;j++) と配列宣言にもそれぞれ)、2番目と3番目の要素に(番号で)カラーコードを書き、さらに解釈しやすい ようにします。

また、色については、コンテンツと同じ次元の 2 番目の配列を作成することもできます。

返信ありがとうございました

配列を追加した2番目のオプションを試したが、他のコードが結びついている - 内容から類推して純粋に論理的に他のコードを変更しようとした - エラーが発生した。

最初のバリエーションでは理解できませんが、うまくいかない予感がしますね〜コンパクトにならないし)

 
Kondratiev_A_A:

返信ありがとうございました

配列の追加で2番目の選択肢を試したが、他のコードが結びついている - 内容から類推して純粋に論理的に他のコードを変更してみた - エラー。

最初のバリエーションではよくわからないのですが、うまくいかないような気がします。)

1つ目のバリエーションについて説明します。

文字列の他にループ処理で<Content[100][2]> ではなく <string Content [100][3]>宣言 する<Content[i][j]="Column "+(j+1)+", string "+(i+1;)>

1行に1色しか必要ない場合は、 <Content[i][j+1]="Green" > を追加します。 または ="1" を追加することもできます。

 
smshev:

最初の選択肢を説明しよう。

処理ループ内で、文字列の他に、 例えば<文字列Content[100][2]>ではなく、<文字列 Content [100][3]> という配列を宣言する<Content[i][j]="Column "+(j+1)+", string "+(i+1);>

1行に1色しか必要ない場合は、 <Content[i][j+1]="Green" > を追加します。 または ="1" を追加することもできます。


意味がわかりました!ありがとうございます。
 
Lians:

atztek では、コードをご覧ください。関数コードがどのようなもので、このような位置づけになっているかが分かれば、そのコードをご覧ください。

ZS: 関数が INIT() または DEINIT() の中にあれば、コードなしで試すことができます :)

deinitで関数が許可されている操作の中には、startで許可されていないものがあるなど。(コードの異なる部分で何度も使用されています)。もしかしたら、確認できるコマンドがあるのかもしれないと思いました。
そして一般的には、関数変数のリストに外部変数を1つ追加することで解決していた。

 
smshev:

最初の選択肢を説明しよう。

処理ループ内で、文字列の他に、 例えば<文字列Content[100][2]>ではなく、<文字列 Content [100][3]> という配列を宣言する<Content[i][j]="Column "+(j+1)+", string "+(i+1);>

1行に1色しか必要ない場合は、 <Content[i][j+1]="Green" > を追加します。 または ="1" を追加します。


残念ながら、なぜ列数を2列から3列に変更したのか、私には分かりませんでした。また、なぜGreenに値(文字列値)を代入するのか?よくわからないのですが・・・。
 
atztek:

deinit で関数が実行できる操作の中には、start などで実行できないものがあります。(コードの異なる部分で何度も使用されています)。もしかしたら、確認できるコマンドがあるかもしれないと思いました。
そして一般的には、関数変数のリストに外部変数を1つ追加することで解決していた。

グローバルレベルで変数を設定し、プログラムがどの関数にいるかによって値を割り当てるようにするのがよいでしょう。そうすれば、エラーの原因となりうるユーザー関数に渡されるパラメータを監視する必要がなくなります。
 

みんな、アドバイスをお願いします

SLを価格から10pipsのところに置いておいて、SLのレベルでクローズしたら、逆のオーダーに変更するようなプログラムが必要です。どうすればいいのでしょうか?

 
alsu:
グローバルレベルで変数を定義し、プログラムがどの関数にいるかによって値を割り当てることができるようにするのがよいでしょう。そうすれば、ユーザー関数に渡されるパラメータを追跡する必要がなくなり、エラーの原因となる可能性がなくなります。 。
確かにそうですが、それでもグローバル変数に 異なる値を代入すると間違うことがあります ;-)
ありがとうございました。