[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 196

 
hoz:

http://photoload.ru/data/c4/9a/b1/c49ab15e130c84a1ca9c51711fcf423a.jpg インジケーターのロジックがまだ理解できていない。例えば、標準的な移動平均の インジケータを例にとると。

スタートにあります。

ここではすべてが論理的であり、次のステップは、ユーザーが選択した関数の呼び出しです...インジケータ・チャート上でプルしたときに表示されたウィンドウから。そうだろ?

INITの中に、コメントアウトしたコードがあります。

それなのにDataWindowには 名前が書かれている。以下はスクリーンショットです。

という疑問が湧いてきます。なぜINITはこのコードを必要とするのでしょうか?


ウィンドウからグラフを(全く)削除して、もう一度実行すると、名前が消えます。サブウィンドウの再初期化は、このようにしか行われません。
 
alsu:

グラフをウィンドウから(完全に)削除して、再度実行すると、名前が消えます。サブウィンドウの再初期化は、このようにしか行われません。

確かに。これで、すべてが明らかになった。
 
TarasBY:
自分の書いたものに意味を持たせる最も簡単な方法は、コードの一行一行に意識を向けることです(署名することによって)。そして、天啓が訪れる可能性が非常に高い!・・・と。
追伸:「SRC」ボタンを押して、投稿にコードを挿入する方法も覚えておくとよいでしょう。

ありがとうございます。
 

こんにちは。

フィボナッチ方程式エキスパートアドバイザーをご覧になったことがありますか?

ありがとうございます。

 
保留中の注文を 成行注文に変換するタイミングを教えてください。
 
質問そのものをコードコメントで説明してください
 { int buys=0,sells=0;
 {
  
    for (int i=0;i>OrdersTotal();i++)                            //цикл перебора ордеров ????
  {
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)break;     // если есть ордер ????
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC)   // определяем принадлежность ордера к инструменту и маджику  ????
      {
         if(OrderType()==OP_BUY)  buys++;               // что означает buys++  ????????? присвоивает переменной новое значение?
         if(OrderType()==OP_SELL) sells++;             // и sell++     ?????????????
        }
        }
 
novator:
コードコメントで質問内容を説明してください

買い注文を 蓄積する変数が1だけ増加する(プログラマー的なもの)
 
YOUNGA:

買い注文を蓄積する変数が1だけ増加する(プログラマ的なもの)。
ありがとうございます。
つまり、0より多くの注文がある場合、この関数は終了するのでしょうか?
 {
   int buys=0,sells=0;
//----
   for(int i=1;i>OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
        {
         if(OrderType()==OP_BUY)  buys++;
         if(OrderType()==OP_SELL) sells++;
        }
     }
//---- 
   if(buys>0) return(buys);
   else       return(-sells);
 

こんにちは。

1日以内の高値と安値を探すだけでなく、数日後の設定した間隔でも探すようにコードを修正するにはどうしたらよいでしょうか。

これが私の持ち物です。

if(StartHour<=EndHour)

{

delta=(EndHour*3600+EndMinute*60)-(StartHour*3600+StartMinute*60);

timeStart=iTime(NULL,PERIOD_D1,0)+StartHour*3600+StartMinute*60;

timeEnd =timeStart+delta;

}

if(StartHour>EndHour)とする。

{

delta=(1440*60-(StartHour*3600+StartMinute*60))+(EndHour*3600+EndMinute*60);

timeEnd=iTime(NULL,PERIOD_D1,0)+EndHour*3600+EndMinute*60;

timeStart =timeEnd-deltaとする。

 
Legeo777:

こんにちは。

1日以内の高値と安値を探すだけでなく、数日後の設定した間隔でも探すようにコードを修正するにはどうしたらよいでしょうか。

これが私の持ち物です。

if(StartHour<=EndHour)とする。

{

delta=(EndHour*3600+EndMinute*60)-(StartHour*3600+StartMinute*60);

timeStart=iTime(NULL,PERIOD_D1,0)+StartHour*3600+StartMinute*60;

timeEnd =timeStart+delta;

}

if(StartHour>EndHour)とする。

{

delta=(1440*60-(StartHour*3600+StartMinute*60))+(EndHour*3600+EndMinute*60);

timeEnd=iTime(NULL,PERIOD_D1,0)+EndHour*3600+EndMinute*60;

timeStart =timeEnd-deltaとする。


私見ですが、標準的な時系列配列とfor文 の方が使いやすいと思います。