[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 256

 
Ivan1:

皆さん、こんにちは。ある変数に現在の "MACDバー "の値を、別の変数に以前の "MACDバー "の値を代入する必要があります。

Ivanさん、基本的なMACDのサンプルEAをご覧ください。
MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);// последняя цифра задает показатель
MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
 
Ivan1:
信号線はいらないんだけど...。MACDヒストグラムの相関関係、つまり現在のMACD値と以前のMACD値を変数に割り当てる必要があります。

リンク先を見ましたか?

セレクトで複製します。

doubleiMACD( string symbol, int timeframe, int fast_ema_period, int slow_ema_period, int signal_period, int applied_price, int mode, int shift)

記号 - シンボル名:シンボルのデータから計算される指標。NULLはカレントシンボルを意味する。
タイムフレーム - 期間チャートの期間の いずれかを指定することができます。0は現在のチャートの期間を表します。
ファストエマ期間 - 高速移動平均を算出するための平均化期間。
スローエマ期間 - 低速移動平均を算出するための平均化期間。
信号周期 - 信号線算出のための平均化期間。
適用価格 - 使用した価格です。価格定数の いずれかを指定することができます。
モード - 指標となるライン指数。指示線識別子の いずれかを指定します。
シフト - Shift - インジケータ・バッファから取得した値のインデックス (指定した期間数だけ、現在のバーから相対的にシフトします).

mode - インジケータラインのインデックス - ここで,ラインとヒストグラムのどちらを必要とするかを指定する必要があります.

shift - 受信した値のインデックス。2つの値が必要です。

シフト = 1 - 前の値

shift = 0 - 現在値

 
皆さん、こんにちは。混乱しています。サブウィンドウの縦線の スレートはどうすればわかるのですか?
 

以前から気づいていたのですが、「口座履歴」でTakeProfitで決済した注文のコメントに[tp]がついていたり、tp/aがついているものがあったり...。

何が違うの?

ブラッドマン

 
143alex:
みなさん、こんにちは。混乱しています。サブウィンドウの縦線のスレートはどうすればわかりますか?

これを試した。

 double prise=ObjectGet( "L", OBJPROP_PRICE1) ;
   int    shift=ObjectGetShiftByValue( "L", prise); 
   Comment("1",shift);
 
143alex:

これを試してみた


ObjectGetShiftByValue "トレンドラインと同様のオブジェクトに適用される"

iBarShift 関数を使用する

 
yosuf:
このフォーラムで、最近、同じSLで異なる指示の注文を2つ同時に出すと、片方がクローズした後に利益を出そうとすることができるというアイデアを読みました。このアイデアを確認した人はいるのかいないのか?もしかしたら、似たようなEAがあるかもしれません。 。

エキスパート・グリッド v.2.

"Copyright©2008 EAfactory.com and Expert-4x.com - "Revision: 264".

両方向にポジションを開き、差がプラスの場合は両方向にクローズします。

 

どこで間違ったのか、教えてください。あるいはMT4自体の問題かもしれませんが、私の買い注文はHighバーでのみ開き、売り注文はCloseバーでのみ開きます =)。Expert Advisorのコードにはこの条件すら規定されていませんが =)

 extern int TP = 200; 
     extern int TS = 50; 
     extern int TF = 1; 
     extern double lots = 0.1; 
     extern int Pips = 15; 
     extern int MaxPips = 100; 


     int slip = 3; 
     int Magic = 2; 
     int cnt,ticket,total; 

 //+------------------------------------------------------------------+ 
  //| expert initialization function | 
  //+------------------------------------------------------------------+ 
  int init() 
    { 
  //---- 

 //---- 
     return(0); 
    } 
  //+------------------------------------------------------------------+ 
  //| expert deinitialization function | 
  //+------------------------------------------------------------------+ 
  int deinit() 
    { 
  //---- 

 //---- 
     return(0); 
    } 
  //+------------------------------------------------------------------+ 
  //| expert start function | 
  //+------------------------------------------------------------------+ 

 int start() 
    { 
  //---- 

 static double PriceOld = 0.0; 
 double PriceNow; 
 PriceNow = NormalizeDouble(Bid,6); 

 total = OrdersTotal(); 
 if(total < 1) 
 { 
    if((PriceNow-PriceOld)>=Pips*Point && (PriceNow-PriceOld)<MaxPips*Point) 
    { 
           ticket = OrderSend(Symbol(),OP_BUY,lots,Ask,slip,Bid-TS*Point,0,0,Magic,0,Green); 
    } 

 if((PriceNow-PriceOld)<=(-Pips)*Point && (PriceNow-PriceOld)>(-MaxPips)*Point) 
     { 
           ticket = OrderSend(Symbol(),OP_SELL,lots,Bid,slip,Ask+TS*Point,0,0,Magic,0,Red); 
     } 
 } 


PriceOld = PriceNow;

//---- 


return(0);
}


 
CLAIN:

どこで間違ったのか、教えてください。あるいはMT4自体の問題かもしれませんが、私の買い注文はHighバーでのみ開き、売り注文はCloseバーでのみ開きます =)。Expert Advisorのコードにはこの条件すら規定されていませんが =)


推測するに、おそらくこのEAをテスターで「オープンプライス」 モードで使用しているのでしょう。
 
んーーーーまさかオールティック "を使って...だから、面白いのは、HIGHで買ってCLOSEで売る...ということ。どういうことなんでしょう?