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

[Deleted]  
drknn:

何度もエラーを繰り返していますね。

if条件をつけて、その括弧の中に何かを書いて、閉じ括弧の後にセミコロンをつける。

それはおかしい。これは正しい。

なるほど、今試してみますが、実は売買条件を代入するテンプレートだったんですね、それにしても初心者です。
[Deleted]  
drknn:

何度もエラーを繰り返していますね。

if条件をつけて、その括弧の中に何かを書いて、閉じ括弧の後にセミコロンをつける。

それはおかしい。これは正しい。

良いことは何もない :(
 

要するに、ちょうど100行分の忍耐力があったのです。あなたのアイデアの中で、どこをクローズアップすべきなのか、まったく不明です。例えば、if(total<1){ ですが、どこを閉じればいいのかがわかりにくいです。さて、ここに100行のコードラインを修正したファイルがあります。書式がどうなっているか見て、中括弧をつけるのを怠らないように...。

そのファイルは投稿に添付されています。この100個で、通常のコードフォーマットと異常なコードフォーマットの違いを確認することができます。

ファイル:
newx2.mq4  6 kb
[Deleted]  
drknn:

要するに、ちょうど100行分の忍耐力があったのです。あなたのアイデアの中で、どこをクローズアップすべきなのか、まったく不明です。例えば、if(total<1){ ですが、どこを閉じればいいのかがわかりにくいです。さて、ここに100行のコードラインを修正したファイルがあります。書式がどうなっているか見て、中括弧をつけるのを怠らないように...。

そのファイルは投稿に添付されています。

2つのエラーが表示される - 通常は動作しません。(プログラム終了時のエラー)
 
そして、中括弧をどこに入れるべきかはっきりしない、というエラーも発生します。意図を理解すればそうする。
[Deleted]  
LeksusMt4:
2つのエラーを出力する - まったく動作しない。(エンドプログラムにおけるエラー)
ロボットトレードの真髄は、Sarインジケータに従った売買です。
 
中括弧が正しく配置されていない、セミコロンが必要ない場所に置かれている。コードをフォーマットしてください!!!
 
LeksusMt4:
売買ロボットの本質は、Sarという指標に従って売買することなのですが、もしかして条件設定が間違っているのでしょうか?


以下はコードエディターです。http://depositfiles.com/files/2ippj8zao- ダウンロード、解凍、実行(インストールは必要ありません)。先ほど投稿したファイルをこのエディタで開き、あなたのコード、つまり縦の点線が入っているところを見てください。

どのような指標に従った売買でも、その実行方法は異なることがあります。意図がよくわからない。

追伸

エディターはMQL4用に既に改良されており、ブラケットハイライトが機能します。

[Deleted]  
drknn:


ここでは、あなたのためのコードエディタです: http://depositfiles.com/files/2ippj8zao- ダウンロード、解凍、実行(インストールは必要ありません)。先ほど投稿したファイルをこのエディタで開き、あなたのコード、つまり縦の破線が通っているところを見てください。

どのような指標に従った売買でも、その実行方法は異なることがあります。意図がよくわからない。

追伸

エディタはすでにMQL4言語用にカスタマイズされており、ブラケットハイライトも機能します。

ありがとうございました!!!!
 
#property  indicator_separate_window

#property  indicator_buffers 2
#property  indicator_color1  DarkGray
#property  indicator_width1  5
#property  indicator_color2  Red
#property  indicator_width2  2



extern int    Show_For_Last_N_Days   = 100;
extern string _                      = "";
extern int    MA1_Period             = 12;
extern int    MA2_Period             = 26;
extern int    MA3_Period             = 9;

double        MacdBuffer[];
double        SignalBuffer[];


int init() {
   IndicatorBuffers(2);
   IndicatorShortName("MACD("+MA1_Period+","+MA2_Period+","+MA3_Period+")");
   IndicatorDigits(Digits+1);

   SetIndexLabel(    0,"MACD");
   SetIndexBuffer(   0,MacdBuffer);
   SetIndexStyle(    0,DRAW_HISTOGRAM);
   SetIndexDrawBegin(0,MA2_Period);

   SetIndexLabel(    1,"Signal");
   SetIndexBuffer(   1,SignalBuffer);
   SetIndexStyle(    1,DRAW_LINE);
   SetIndexDrawBegin(1,MA2_Period);

   return(0);
}




int start() {
   int i                       = Bars - IndicatorCounted() - 1;

   while(i>=0) {

      if(Time[i]>=iTime(NULL,PERIOD_D1,Show_For_Last_N_Days)) {
         MacdBuffer[i+1]       = iMA(NULL,0,MA1_Period,0,MODE_EMA,PRICE_CLOSE,i+1) - iMA(NULL,0,MA2_Period,0,MODE_EMA,PRICE_CLOSE,i+1);

         for(int k=0; k<=MA3_Period; k++) {                                  //---- signal line counted in the 2-nd buffer
            SignalBuffer[k+1]  = iMAOnArray(MacdBuffer,0,MA3_Period,0,MODE_SMA,k+1);
         }
      }

      i--;
   } // while(i>=0) {

   return(0);
}



- この例では、なぜiMAOnArrayが機能しないのですか(結果として、信号線が 表示されません)?
ありがとうございました。