どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 1176

 

皆さん、どうしたらいいかアドバイスを・・・。例)10小節と3小節にイベントがある、つまりA=Close[10]とB=Close[3]があり、3小節から7(10-3)小節後、つまり4小節後に次のイベントがあると予想しています。この予想されるイベントの日時をコメントに表示するにはどうしたらよいですか?

 
kon12:

皆さん、どうしたらいいかアドバイスを・・・。例)10小節と3小節にイベントがある、つまりA=Close[10]とB=Close[3]があり、3小節から7(10-3)小節後、つまり4小節後に次のイベントがあると予想しています。この予想されるイベントの日時をコメントに表示するにはどうしたらよいですか?

Comment( TimeToStr(Time[0]+PeriodSeconds()*3/* на 3 свечи вперёд */, TIME_DATE|TIME_MINUTES) );
 
Taras Slobodyanik:

鍵盤にも使えるかもしれません。

CHARTEVENT_MOUSE_MOVE イベントでは、文字列パラメータ sparam に鍵の状態情報を表す数値が格納される。

ビット

商品説明

1

マウスの左ボタンの状態

2

マウスの右ボタンの状態

3

SHIFTキーの状態

4

CTRLキーの状態

5

マウスの中ボタンの状態

6

マウスの第1追加ボタンの状態

7

第2追加マウスボタンの状態


これはmt4で動作しますか!? なぜならmt5を助ける!?

私は押すことによって私のアラートとどのように組み合わせを強調するための違いを見たり、理解することができないので、私はまた、例えばアラートや印刷のためのコードの一部を得ることができます!!?
 
LRA:

あなたの専門用語は、catch, take away, work off ですね。ここで、もう一つの見方を紹介します。Ctrl-Aを押して、フィボナッチラインをアクティブなチャートに表示させたい。もう一度押すと、消えます。Expert Advisorを作ることはできますが、チャートに表示させる必要があります。台本を書いているところです。

必要なキーボードショートカットを割り当てています !ぜひお試しください。


EAやスクリプトの変数にバインドしたり、場合によってはエミュレートしたり、EAやスクリプトをバインドする際に余計な手間がかかるのはご承知の通りです。

スクリプトにショートカットを与えるオプションがあることは承知していますが、私の場合、うまくいきません

 
Vitaly Muzichenko:

ありがとうございました。

 
Игорь:

mt5のリファレンスだからmt4で動くのか!?

ボタンを押したときのアラートと、押したときの組み合わせの違いがわからない、理解できない!

それで、誰がダスターベイターを助けるんだ!? みんな死んでる気がするんだけど!?

 
double mZz1[][8];
double mZz2[][8];
double mZz3[][8];
double mZz4[][8];   
double mZz5[][8];  

for (int a=1;a<6;a++)
   {
   double mMass[][8]==mZzа[][8];
   далее другой код по обработке массивов;
   }

このコードが間違っていることは理解していますので、mZzを1つずつmMass[][8]にコピーまたはペーストするようにアドバイスまたは修正をお願いします。

 
Игорь:

このコードが間違っていることは理解していますので、mZzを1つずつmMass[][8]にコピーまたはペーストするようにアドバイスまたは修正をお願いします。

このスクリプトを試す
//#property strict
double mMass[16][8]; // Или задать колич-во элементов или использовать ArrayResize
double mZzа[][8]={3,7,4,9,2,5}; // Для простоты зададим
// Если массив описать внутри цикла, то ...
void start() 
{
   for (int a=1;a<6;a++) mMass[0][a]=mZzа[0][a];

   // Обработка
   string s;
   for (a=1, s="";a<6;a++) s+="  "+(string)mMass[0][a];
   Alert(s);
}
 
STARIJ:
このスクリプトを試す

         case 55:{Stat();bar0=0;break;}
        }
//+------------------------------------------------------------------+
//|                  Сбор статистики                      |
//+------------------------------------------------------------------+
void Stat()
    {
    for(int a=1;a<6;a++){if(a==2){Statistic(mZz2,namZz2);}if(a==3){Statistic(mZz3,namZz3);}if(a==4){Statistic(mZz4,namZz4);}}
    }
//+------------------------------------------------------------------+
//|                     Сбор статистики                              |
//+------------------------------------------------------------------+
void Statistic(double &mMass[][],string NameZz)
    {
    int e,y0,y1,y2,y3,y4,y5,c1,c2,c3,c4,c5,d1,d2,d3,d4,d5,sving;
    if((PaintZz2==1)&&(PaintZz3==1)&&(PaintZz4==1))
    {if(NameZz==namZz2){printf("Подождите идет расчет статистики");}}
    else
    {printf("Включите для расчета статистики");}return;}
//----------------------------------------------
int handle;
         for(e=2; e!=ArrayRange(mMass,0); e++){switch((int)mMass[e][7]){//собираем статистику

以下は、動作中のコードからの抜粋です。中間的なボイドスタットなしで、1つのボイドスタットに集める方法!あなたの提案では、すべての配列を1つにまとめ、そこからスクラッチアウトするようにコード全体を作り直す必要があるそうです。

 
Игорь:

以下は、動作中のコードからの抜粋です。中間的なボイドスタットなしで、1つのボイドスタットに集める方法!すべての配列をひとつにまとめて、そこからスクラッチするために、コード全体を作り直さなければならないのです!

まず、文字列を考えてみましょう。

for(int a=1;a<6;a++){if(a==2){Statistic(mZz2,namZz2);}if(a==3){Statistic(mZz3,namZz3);}if(a==4){Statistic(mZz4,namZz4);}}

自分にとってわかりやすいように、このように書き直しました。

for(int a=1;a<6;a++)
{
   if(a==2){Statistic(mZz2,namZz2);}
   if(a==3){Statistic(mZz3,namZz3);}
   if(a==4){Statistic(mZz4,namZz4);}
}

アハッ!!!今になって分かってきた...。ループの中で、変数aが1から6に変化する。この変数の値が1、5、6の場合、動作はありません。では、ちょうど

 Statistic(mZz2,namZz2);
 Statistic(mZz3,namZz3);
Statistic(mZz4,namZz4);

またはあなたのスタイルで。

Statistic(mZz2,namZz2); Statistic(mZz3,namZz3); Statistic(mZz4,namZz4);

結果は同じですが、より速く実行されます。

さて、Statistic関数を消す必要があるでしょうか。 その本体を3回続けて書き、3つの部分の形式パラメータを それぞれ実際のパラメータに置き換え、重複する変数宣言を削除する必要があります。コード全体は少し長くなりますが、実行速度は速くなります。print()を投げ出すのは理にかなっている - この時、一体誰がメッセージログに目を通すのでしょうか?- またはAlert()に置き換えて画面に表示します。 また、namZz2という変数がありますが、その値は変化しますか?