[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 236

 

同僚よ、私は少し混乱している。

2点間の線を引くには、インジケータを使う必要があります


   SetIndexShift(0, DRAW_SECTION);
   SetIndexBuffer(0, z1);

   z1[1]=1.5;
   z1[2]=EMPTY_VALUE;
   z1[3]=EMPTY_VALUE;
   z1[4]=EMPTY_VALUE;
   z1[5]=EMPTY_VALUE;
   z1[6]=1.4;

こうはいきませんよね。
 
neoclassic >> :

同僚、ちょっと戸惑う。

2点間の線を引くには、インジケータを使う必要があります

そして、SetIndexShiftのヘルプを見るのです。機能が間違っている。あなたのはSetIndexStyleです。

追記:そして、y=kx+bの式で線を引くと、インジケーターが

は2点ごとに定義されます :-)。

 
jartmailru >> :

そして、SetIndexShiftのヘルプをご覧になっています。機能が間違っている。あなたのはSetIndexStyleです。

追記:また、y=kx+bの式で線を引くと、インジケータが

は2点ごとに定義されている :-) 。

そうやって、複数のインジケータが書かれていたり、シフターとスティールが混ざっていたり :-) エラーにならず、リラックスできました...。ありがとうございます。)

 

EAの結果を比較したいので、放物線と一緒に楕円を 描くようにインジケータを変更するのを手伝ってくれませんか?パラボラよりも楕円の方がストップロスに適しているような気がします。どなたかそのようなインジケータをお持ちの方はいらっしゃいませんか。楕円をベースに?パラボラの場合と比較してみたいと思います。

ファイル:
 
001 писал(а)>>

EAの結果を比較したいので、放物線と一緒に楕円を描くようにインジケータを変更するのを手伝ってくれませんか?パラボラよりも楕円の方がストップロスに適しているような気がします。どなたかそのようなインジケータをお持ちの方はいらっしゃいませんか。楕円をベースに?よろしくお願いします。

Expert Advisorでこのインジケータを外部インジケータとして接続しようとしました。何が悪いのか理解できない。

私のインジケーターには、以下の情報があります。

extern double Step=0.0513;
extern double Maximum=0.46;

私のExpert Advisorでは。

extern double stepstop=0.005;
extern double maximumstepstop=0.05;

double sarstop=iCustom(NULL,0, "ParabolicM",stepstop,maximumstepstop,0,0);

その結果

2009.09.25 17:01:42 2001.09.24 09:00 EnveIn EURUSD,M30: sarstop = 0.8625

2009.09.25 17:01:42 2001.09.24 09:00 EnveIn EURUSD,M30: sarstop = 0.8625

2009.09.25 17:01:42 2001.09.24 09:00 EnveIn EURUSD,M30: sarstop = 0.8625

2009.09.25 17:01:42 2001.09.24 09:00 EnveIn EURUSD,M30: sarstop = 0.8625

読み取り値が変化しないことを意味します

 

こんにちは。


Expert Advisorのロジックについて質問があるのですが、プログラミングの経験がないため、わかる方にアピールしています。

私は、4つのタイムフレームのストキャスティックインジケータの ラインの交差を登録することになっているコード(西洋のフォーラムで見つけ、残念ながら著者の名前を覚えていない)を持っています。すべてのタイムフレームでメインラインがシグナルラインより高い位置にある場合、注文を開くコードが実行されます。このアイデアはもちろん素晴らしいのですが、その実装によって多くの問題が発生しました。 履歴を実行してみると、1つのタイムフレームにしかイベントが登録されていないときに注文が開かれることがあることがわかりました。基本的な条件は整っているようなので、何が問題なのか理解できません。


何かお役に立てれば幸いです



double M1, S1, M2, S2, M3, S3, M4, S4;

string Sig;
string St;
double ticket;

int start()
{
M1=iStochastic(NULL,PERIOD_M15,14,3,3,MODE_SMA,0,MODE_MAIN,1);
S1=iStochastic(NULL,PERIOD_M15,14,3,3,MODE_SMA,0,MODE_SIGNAL,1);

M2=iStochastic(NULL,PERIOD_M30,14,3,3,MODE_SMA,0,MODE_MAIN,1);
S2=iStochastic(NULL,PERIOD_M30,14,3,3,MODE_SMA,0,MODE_SIGNAL,1);
M3=iStochastic(NULL,PERIOD_H1,14,3,3,MODE_SMA,0,MODE_MAIN,1);
S3=iStochastic(NULL,PERIOD_H1,14,3,3,MODE_SMA,0,MODE_SIGNAL,1);
M4=iStochastic(NULL,PERIOD_H4,14,3,3,MODE_SMA,0,MODE_MAIN,1);
S4=iStochastic(NULL,PERIOD_H4,14,3,3,MODE_SMA,0,MODE_SIGNAL,1);

St = "READY";

Sig = "NONE";

if(M1>S1, M2>S2 && M3>S3 && M4>S4)
{
Sig="LONG";
}
if(M1<S1, M2<S2 && M3<S3 && M4<S4)
{
Sig="SHORT";
}

if(St=="READY" && Sig=="LONG")
{
ticket=OrderSend(Symbol(),OP_BUY,LotSize,Ask,5,Bid-SL*Point,Bid+TP*Point,LongComment,Magic,0,Blue);
if(ticket>-1)
{
St="LONG ON";
}
}

if(St=="READY" && Sig=="SHORT")
{
ticket=OrderSend(Symbol(),OP_SELL,LotSize,Bid,5,Ask+SL*Point,Ask-TP*Point,ShortComment,Magic,0,Red);
if(ticket>-1)
{
St="SHORT ON";
}
}

}

 
if-t >> :

こんにちは。

あるコード(欧米のフォーラムで見つけたのですが、残念ながら作者の名前を覚えていません)があるのですが、それは、おそらく......です。

......1つのタイムフレームでイベントが登録されると、注文が開くことがあることがわかりました。

よろしくお願いします。



もしかしたら、この変なエントリーが問題なのかもしれません。

if(M1>S1, M2>S2 && M3>S3 && M4>S4)
これはどういう意味ですか?-
(M1>S1, M2>S2

カンマの代わりに演算子 " && " を使ってみてはいかがでしょうか?(うりわたし)

 
rid >> :

もしかしたら、この変なエントリーが問題なのかもしれません。

これはどういう意味ですか?-

カンマの代わりに演算子「&&」を入れてみてはいかがでしょうか?(うりわたし)

Ridさん、ご返信ありがとうございました。変数を並べ替えているときに、こんなミスをしました(もう頭がパンパンで原始的なミスをします)。オリジナルのバリエーションが正しい。

if(M1>S1 && M2>S2 && M3>S3 && M4>S4)

でも、うまくいかないんです。もしかして、St変数がいつも正しい値を取得していないのではとずっと思っているのですが?しかし、実際には、条件が満たされないと、コードは実行されないはずです...。だいたい、私はバレリーナのようなプログラマーで、プロの力を借りないとどうにもならないのですが......。


 

ちなみに、プリントアウトを挿入してみましたが、変数はちゃんと値を取得しているようです。

 

最初のインジケータを書こうとしましたが、2本の線ではなく1本の線しか描けません。

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red
//---- buffers
double Buf_1[], Buf_2[];


//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0, Buf_1);
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0, Buf_2);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    i, 
          Counted_bars=IndicatorCounted();
//----
i=Bars- Counted_bars-1;           // Индекс первого непосчитанного
   while( i>=0) 
      {  
       Buf_1[ i]= Close[ i]; 
       Buf_2[ i]= Open[ i];
       i--;
      }
 
//----
   return(0);