[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 92 1...858687888990919293949596979899...1145 新しいコメント Yury Reshetov 2009.05.07 11:25 #911 Shniperson >> : 皆さん。H4取引にH1バーを考慮させるにはどうしたらいいでしょうか? 例えば if(... && Close[0](H1 bar)>High[1](H1 bar) ?........................................................。 iClose()とiHigh()を使用する - これらの関数で任意のタイムフレームを設定することができます。 Vasiliy Sokolov 2009.05.07 18:39 #912 バッファの割り当てがおかしい(Buffer1の結果がインジケータウィンドウに表示されない)のが理解できません。 また、2つ目の質問ですが、現在のゼロバーだけに制限できるのに、なぜゼロバーとその前のバー(limit=2)をインジケータが計算しなければならないのですか? #property indicator_separate_window #property indicator_buffers 1 extern int FastMA=3; extern int SlowMA=25; double Buffer1[]; double Buffer2[]; int init() { SetIndexBuffer(0,Buffer1); SetIndexBuffer(1,Buffer2); return(0); } int start() { int limit,counted_bars; counted_bars=IndicatorCounted(); //counted_bars=Bars-1 if(counted_bars>0) counted_bars--; //??? counted_bars=Bars-1-1 limit=Bars-counted_bars; //лимит теперь равен двум for(int i=0; i<limit; i++){ Buffer2[i]=MathAbs(Close[i]-Open[i]); } for(i=0; i<limit; i++){ Buffer1[i]=Buffer2[i]*(-1); } } [WARNING CLOSED!] Any newbie [アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. コーディングの方法は? 削除済み 2009.05.07 18:57 #913 親愛なるプログラマーの皆様、インジケータに音を挿入して、インジケータが ゼロを越えたときに鳴るようにしたいのですが、どうすればよいでしょうか?ありがとうございました。 ファイル: bullsybearsnpower.mq4 2 kb Виктор 2009.05.07 19:23 #914 C-4 >> : あるバッファから別のバッファへの割り当てがおかしい(Buffer1の結果がインジケータウィンドウに出力されない)のが理解できないのですが...。描画バッファのSetIndexStyle(0,DRAW_LINE); と、計算バッファのIndicatorBuffers(2) が抜けています。 Vasiliy Sokolov 2009.05.07 19:32 #915 ビンゴ!まあもちろんIndicatorBuffers(2)は、SetIndexBufferを指定すれば十分だと思ったのですが。ちなみに、SetIndexStyle(0,DRAW_LINE)なしでも、細い黒い線が出るのですが、これはデフォルトの設定が効いているのでしょうか? Константин Скворцов 2009.05.08 02:17 #916 こんにちは、エキスパートです。 未決済注文だけを決済するEAを作ってみた!(セミオートマチックトレード)。 閉鎖の規則: 主要な終わりは価格チャネルに行く、それが近い SHELL の上の 1 ポイントを壊せば。 1ポイントでも下がればBAYを閉じます。 また、一定の距離で数ポイントの損益分岐をする保険もあります。 私はすべてが正しく行われた場合、私は質問を持っている、コードは正しいです!!!? extern bool check=false; extern int PeriodP=12; extern double TrailingStop = 35;// расстояние после которого будем устанавливать безубыток extern double X=5;//установка в + 5 пунктов! //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { double P_up0, P_down0, P_up1, P_down1; int cnt, total; P_up0=iCustom(Symbol(),Period(),"Ценовой канал", PeriodP,0,0); P_down0=iCustom(Symbol(),Period(),"Ценовой канал", PeriodP,1,0); P_up1=iCustom(Symbol(),Period(),"Ценовой канал", PeriodP,0,1); P_down1=iCustom(Symbol(),Period(),"Ценовой канал", PeriodP,1,1); for( cnt=OrdersTotal()-1; cnt>=0; cnt--) { OrderSelect( cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); return(0); } if( TrailingStop>0) { if(Bid-OrderOpenPrice()>Point* TrailingStop) { if(OrderStopLoss()<Bid-Point* TrailingStop && OrderStopLoss()!=OrderOpenPrice()+ X*Point) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+ X*Point,OrderTakeProfit(),0,Green); return(0); } } } } else { if( P_up1< P_up0) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); return(0); } if( TrailingStop>0) { if((OrderOpenPrice()-Ask)>(Point* TrailingStop)) { if(NormalizeDouble(OrderStopLoss(),Digits) != NormalizeDouble(OrderOpenPrice()- X*Point,Digits)) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()- X*Point,OrderTakeProfit(),0,Red); return(0); } } } } } if ( check) Order_Open(); return(0); } //+------------------------------------------------------------------+ void Order_Open(){ if (OrdersTotal()<=1) { OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,"",20080421,0); OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,"",20080421,0); } } Alexander 2009.05.08 02:44 #917 ロングポジションを決済する条件はなく、今はとにかく買い注文が決済されます。 注文のオーバーシュートがある場合は、必ずOrderSelectの 前か後にRefreshRates()を入れてください。 Константин Скворцов 2009.05.08 03:15 #918 Roger >> : ロングポジションを決済する条件がなく、今はとにかく買い注文が決済されます。BUYのクローズが本当に懐かしいです。 少なくとも、エラーなくコンパイルが完了しました。 extern bool check=false; extern int PeriodP=12; extern double TrailingStop = 35;// расстояние после которого будем устанавливать безубыток extern double X=5;//установка в + 5 пунктов! //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { double P_up0, P_down0, P_up1, P_down1; int cnt, total; P_up0=iCustom(Symbol(),Period(),"Ценовой канал", PeriodP,0,0); P_down0=iCustom(Symbol(),Period(),"Ценовой канал", PeriodP,1,0); P_up1=iCustom(Symbol(),Period(),"Ценовой канал", PeriodP,0,1); P_down1=iCustom(Symbol(),Period(),"Ценовой канал", PeriodP,1,1); for( cnt=OrdersTotal()-1; cnt>=0; cnt--) { OrderSelect( cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY) { if( P_down1> P_down0) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); return(0); } if( TrailingStop>0) { if(Bid-OrderOpenPrice()>Point* TrailingStop) { if(OrderStopLoss()<Bid-Point* TrailingStop && OrderStopLoss()!=OrderOpenPrice()+ X*Point) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+ X*Point,OrderTakeProfit(),0,Green); return(0); } } } } else { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); return(0); } if( TrailingStop>0) { if((OrderOpenPrice()-Ask)>(Point* TrailingStop)) { if(NormalizeDouble(OrderStopLoss(),Digits) != NormalizeDouble(OrderOpenPrice()- X*Point,Digits)) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()- X*Point,OrderTakeProfit(),0,Red); return(0); } } } } } if ( check) Order_Open(); return(0); } //+------------------------------------------------------------------+ void Order_Open(){ if (OrdersTotal()<=1) { OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,"",20080421,0); OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,"",20080421,0); } } 削除済み 2009.05.08 07:29 #919 非常に「素朴な」質問ですが、預託通貨 で1(1)オープンインデックスロットの 価格はどのように計算するのでしょうか? 例:昨日、私は1ロットの日経を開いた時の価格は9400ピップスだった。質問:どのように私は9400(預金ではない!すなわちロットの価格)オープン時の預金通貨にあったどのくらいのお金を知っていますか? Victor Nikolaev 2009.05.08 08:46 #920 jobber писал(а)>> 非常に「素朴な」質問ですが、預託通貨で1(1)オープンインデックスロットの 価格はどのように計算するのでしょうか? 例:昨日、私は1ロットの日経を開設しました。開設時の価格は9400ピップスでした。私の質問は:どのように私は9400が開設時の預金通貨で(預金ではない!すなわちロットの価格)どのくらいのお金だった知っていますか? i>MarketInfo()は、このパラメータでは役に立ちません。 1...858687888990919293949596979899...1145 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
皆さん。H4取引にH1バーを考慮させるにはどうしたらいいでしょうか? 例えば if(... && Close[0](H1 bar)>High[1](H1 bar) ?........................................................。
iClose()とiHigh()を使用する - これらの関数で任意のタイムフレームを設定することができます。
#property indicator_separate_window
#property indicator_buffers 1
extern int FastMA=3;
extern int SlowMA=25;
double Buffer1[];
double Buffer2[];
int init()
{
SetIndexBuffer(0,Buffer1);
SetIndexBuffer(1,Buffer2);
return(0);
}
int start()
{
int limit,counted_bars;
counted_bars=IndicatorCounted(); //counted_bars=Bars-1
if(counted_bars>0) counted_bars--; //??? counted_bars=Bars-1-1
limit=Bars-counted_bars; //лимит теперь равен двум
for(int i=0; i<limit; i++){
Buffer2[i]=MathAbs(Close[i]-Open[i]);
}
for(i=0; i<limit; i++){
Buffer1[i]=Buffer2[i]*(-1);
}
}
あるバッファから別のバッファへの割り当てがおかしい(Buffer1の結果がインジケータウィンドウに出力されない)のが理解できないのですが...。
描画バッファのSetIndexStyle(0,DRAW_LINE); と、計算バッファのIndicatorBuffers(2) が抜けています。
こんにちは、エキスパートです。
未決済注文だけを決済するEAを作ってみた!(セミオートマチックトレード)。
閉鎖の規則: 主要な終わりは価格チャネルに行く、それが近い SHELL の上の 1 ポイントを壊せば。
1ポイントでも下がればBAYを閉じます。 また、一定の距離で数ポイントの損益分岐をする保険もあります。
私はすべてが正しく行われた場合、私は質問を持っている、コードは正しいです!!!?
BUYのクローズが本当に懐かしいです。
少なくとも、エラーなくコンパイルが完了しました。
非常に「素朴な」質問ですが、預託通貨 で1(1)オープンインデックスロットの 価格はどのように計算するのでしょうか?
例:昨日、私は1ロットの日経を開いた時の価格は9400ピップスだった。質問:どのように私は9400(預金ではない!すなわちロットの価格)オープン時の預金通貨にあったどのくらいのお金を知っていますか?
非常に「素朴な」質問ですが、預託通貨で1(1)オープンインデックスロットの 価格はどのように計算するのでしょうか?
例:昨日、私は1ロットの日経を開設しました。開設時の価格は9400ピップスでした。私の質問は:どのように私は9400が開設時の預金通貨で(預金ではない!すなわちロットの価格)どのくらいのお金だった知っていますか?
i>MarketInfo()は、このパラメータでは役に立ちません。