[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 159 1...152153154155156157158159160161162163164165166...1145 新しいコメント Rid 2009.07.22 11:59 #1581 1Rakso >> : 1)また、外部変数によって、どのように無効化するのでしょうか? 2) 最初に開いた注文は開いた時点でクローズし、その後の注文2、3などはクローズしないように設定することはできますか?例えば、買い注文(これが最初の注文)を出し、次に別の買い注文(これが2番目の注文)を出すなどして、この一連の注文のうち1番目の注文だけをСorderCloseで閉じるとしたらどうでしょうか。 https://www.mql5.com/ru/forum/105913 のアドレスページをご確認ください。 1)おおよそこのような感じです。 extern bool AutoClose = True; ....................................... //********* Закрытие позиций **************************************** if ( AutoClose) { //----переменные для закрытия позиций ---- double Stochast_0 =iStochastic(NULL,0, Stochastic_period,3,3,MODE_SMA,0,MODE_MAIN,0); double Stochast_1 =iStochastic(NULL,0, Stochastic_period,3,3,MODE_SMA,0,MODE_MAIN,1); //---------------------------------------------------------------------- for (int v=0; v<OrdersTotal(); v++) { if (OrderSelect( v, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==Symbol()&& OrderMagicNumber()== MagicNum) { //----------------------------------------------------- if (OrderType() == OP_BUY) { if( Stochast_1>75 && Stochast_0<75) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Green); // закрываем позицию // return(0); // выходим } } //-------------------------------------------------------- if (OrderType() == OP_SELL) { if( Stochast_1<25 && Stochast_0>25) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Green); // закрываем позицию // return(0); // выходим } } //------------------------------------------------------- } // Symbol() } // select } //total } //Close_ 2) ロック(//)を解除してから // return(0); // exit で、最初の(または最後の)ポジションだけがクローズされます。 Rid 2009.07.22 12:02 #1582 PyMbIH >> : 皆さん、こんにちは ))) 助けてください。 mql4のプログラミングを始めたばかりです。 エキスパートアドバイザーの書き方 どうすればいいのでしょうか。 Expert Advisor を月曜日だけ動作させたい。 //Открытие и закрытие позиций только в понедельник if (TimeDayOfWeek(TimeCurrent()) == 1) return (0); 削除済み 2009.07.22 12:03 #1583 rid писал(а)>> >> ありがとうございました RocketTrend 2009.07.22 12:05 #1584 Vinin >> : Vininさん、ありがとうございます =)。 1Rakso 2009.07.22 12:06 #1585 rid >> : クロージング・ポジション」に目を通す。インジケータ信号で'。 1)おおよそこのような感じです。 2) の前にあるブロック(//)を削除します。 // return(0); // exit をクリックすると、最初のポジションだけがクローズされます。 ありがとう、rid! たくさん助けてもらいました、まだまだ優しい人はいるんですね) 全部わかったよ!数学読んでくるね!時間とらせすぎじゃなかったかな?) Denis Lysenko 2009.07.22 13:50 #1586 よろしくお願いします。 EA1.mq4(添付)のビジュアルテスト 中に、3-cci-h3(添付)のインジケータをチャート上に置いた場合、見かけ上、全く同じパラメータで計算したインジケータのcciシグナルと実際のcci(右上のオブジェクトテキスト)が一致しない。 なぜ? このインジケーターでアラートが機能しないのはなぜですか? Expert Advisor コード。 double lasthigh, lastlow, lasthigh2=200000, lastlow2=0, lastpos=0, t[2]; int start() {Comment(""); lasthigh=High[1]; lastlow=Low[1]; if( lasthigh< lasthigh2) lasthigh2= lasthigh; if( lastlow> lastlow2) lastlow2= lastlow; t[0]= lasthigh2; t[1]= lastlow2; string s1="lasthigh2 *** "+DoubleToStr( t[0],5); string s2="lastlow2 *** "+DoubleToStr( t[1],5); string str[2]; str[0]= s1; str[1]= s2; color col=Lime; for(int y=0; y<2; y++) {ObjectCreate("textSignal"+ y,OBJ_LABEL,0,0,0,0,0); ObjectSet("textSignal"+ y, OBJPROP_CORNER,1); ObjectSet("textSignal"+ y, OBJPROP_XDISTANCE,35-25); ObjectSet("textSignal"+ y, OBJPROP_YDISTANCE, y*(20)+20+8); ObjectSetText("textSignal"+ y, str[ y],15,"Tahoma", col); } if( lastpos==0){if( lastlow2> lasthigh){ Comment("PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!!", "PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!! "); lasthigh2=2000000; lastlow2=0; lastpos=1;}} else {if( lasthigh2< lastlow){Comment("POKUPKA!!! POKUPKA!!! POKUPKA!!! POKUPKA!!! POKUPKA!!! POKUPKA!!! POKUPKA!!!", " POKUPKA!!! POKUPKA!!! POKEPKA!!! POKEPKA!!! POKEPKA!!!"); lasthigh2=2000000; lastlow2=0; lastpos=0;}} } インジケーターコードです。 //+------------------------------------------------------------------+ //| i-3CCI-h.mq4 | //| johnfantom & KimIV | //| http://www.kimiv.ru | //| | //| 02.01.2006 CCI с 3-х ТФ в одном флаконе. | //+------------------------------------------------------------------+ #property copyright "johnfantom & KimIV" #property link "http://www.kimiv.ru" #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 DodgerBlue #property indicator_maximum 1.4 #property indicator_level1 0 #property indicator_minimum -1.2 //------- Внешние параметры индикатора ------------------------------- extern int CCI_Period_0 = 14; // Период CCI для текущего ТФ extern int Level_0 = 100; // Уровень CCI для текущего ТФ extern int TF_1 = 60; // Количество минут первого ТФ extern int CCI_Period_1 = 14; // Период CCI для первого ТФ extern int Level_1 = 100; // Уровень CCI для первого ТФ extern int TF_2 = 240; // Количество минут второго ТФ extern int CCI_Period_2 = 14; // Период CCI для второго ТФ extern int Level_2 = 100; // Уровень CCI для второго ТФ extern int NumberOfBars = 1000; // Количество баров обсчёта (0-все) extern int ExtBars=3; int per; //------- Буферы индикатора ------------------------------------------ double buf0[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ void init() { IndicatorDigits(1); SetIndexBuffer(0, buf0); SetIndexLabel (0, "i-3CCI-h"); SetIndexStyle (0, DRAW_HISTOGRAM, STYLE_SOLID, 2); SetIndexEmptyValue(0, 0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ void deinit() { Comment(""); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ void start() { double cci0, cci1, cci2; int nb1, nb2, count; int LoopBegin, sh; if ( NumberOfBars==0) LoopBegin=Bars-1; else LoopBegin= NumberOfBars-1; LoopBegin=MathMin(Bars-1, LoopBegin); count=IndicatorCounted(); for ( sh= count; sh>=0; sh--) { nb1=iBarShift(NULL, TF_1, Time[ sh+1], False); nb2=iBarShift(NULL, TF_2, Time[ sh+1], False); cci0=iCCI(NULL, 0 , CCI_Period_0, PRICE_CLOSE, sh+1); cci1=iCCI(NULL, TF_1, CCI_Period_1, PRICE_CLOSE, nb1); cci2=iCCI(NULL, TF_2, CCI_Period_2, PRICE_CLOSE, nb2); /* double cci[3]; cci[0]=cci0; cci[1]=cci1; cci[2]=cci2; string s1="cci-0 *** "+DoubleToStr(cci[0],3); string s2="cci-1 *** "+DoubleToStr(cci[1],3); string s3="cci-2 *** "+DoubleToStr(cci[2],3); string str[3]; str[0]=s1; str[1]=s2; str[2]=s3; color col=Lime; for(int y=0;y<3;y++) {ObjectCreate("textSignal"+y,OBJ_LABEL,0,0,0,0,0); ObjectSet("textSignal"+y,OBJPROP_CORNER,1); ObjectSet("textSignal"+y,OBJPROP_XDISTANCE,35-25); ObjectSet("textSignal"+y,OBJPROP_YDISTANCE,y*(20)+20+8); if(cci[y]>=0)col=Lime;else col=Red; if(cci[y]>Level_0) col=Aqua; if(cci[y]<-Level_0) col=DarkViolet; ObjectSetText("textSignal"+y,str[y],15,"Tahoma",col); } */ if ( cci0> Level_0 && cci1> Level_1 && cci2> Level_2) { buf0[ sh]=1; if ( per != Time[0]) { per = Time[0]; if( sh<= ExtBars && ExtBars!=-1) Alert(Symbol(),Period()," ", TimeYear(Time[ sh]),".", TimeDay(Time[ sh]),".", TimeMonth(Time[ sh]),"; ", TimeHour(Time[ sh]),":", TimeMinute(Time[ sh])," ", "Покупка");}} if ( cci0<- Level_0 && cci1<- Level_1 && cci2<- Level_2) { buf0[ sh]=-1; if ( per != Time[0]) { per = Time[0]; if( sh<= ExtBars && ExtBars!=-1) Alert(Symbol(),Period()," ", TimeYear(Time[ sh]),".", TimeDay(Time[ sh]),".", TimeMonth(Time[ sh]),"; ", TimeHour(Time[ sh]),":", TimeMinute(Time[ sh])," ", "Продажа");}} } } //+------------------------------------------------------------------+ 削除済み 2009.07.22 18:21 #1587 sergeev >> : バイストップはこのように また、オープンポジション自体からの保留はどのように設定するのでしょうか? Rid 2009.07.22 19:14 #1588 ArtY0m >> : 保留中の注文自体はどのように発注するのですか? まず、最後に開いたポジションの始値をプログラムで決定する必要があります。 そのためには、あらかじめ用意された関数、例えば 関数 PriceOpenLastPos()。 この関数は、最後に建てたポジションの建値を返します。考慮すべき位置の選択は、外部パラメータで指定する。 sy - 市場商品の名前。このパラメータが設定されている場合、この関数は指定された楽器の位置のみを考慮します。デフォルト値である「」は、あらゆる市場商品を意味する。NULL 値は、現在の測定器を意味する。 op - 貿易業務、ポジションタイプ。有効な値:OP_BUY、OP_SELL、または-1。初期値-1 は任意の位置を意味する。 mn - 位置の識別子,MagicNumber.デフォルトの値である-1は、任意の識別子を意味する。 'KimIVの便利な機能 //------- コードの一番最後に関数そのものを挿入します。 そして、START関数でそれを呼び出し、例えば必要な最後のポジション(買いまたは売り)の始値を設定するのです。 double OpenPrice=PriceOpenLastPos(NULL,OP_BUY, MAGIC) ; 削除済み 2009.07.22 19:17 #1589 rid >> : まず、最後にオープンしたポジションの価格をプログラムで決定する必要があります。 そのためには、あらかじめ用意された関数、例えば 関数 PriceOpenLastPos()。 この関数は、最後に建てたポジションの始値を返します。考慮すべきポジションの選定は、外部パラメータによって定義される。 sy - 市場商品の名前。このパラメータを設定すると、この機能はこの楽器の位置のみを考慮します。デフォルト値である「」は、あらゆる市場商品を意味する。NULL 値は、現在の測定器を意味する。 op - 貿易業務、ポジションタイプ。有効な値:OP_BUY、OP_SELL、または-1。初期値-1 は任意の位置を意味する。 mn - 位置の識別子,MagicNumber.デフォルトの値である-1は、任意の識別子を意味する。 'KimIVの便利な機能 //------- コードの一番最後に関数そのものを挿入します。 START関数では、これを呼び出して、最後に欲しいポジション(買いまたは売り)の始値を設定します。 double OpenPrice=PriceOpenLastPos(NULL,OP_BUY, MAGIC) ; ありがとうございました!)) Oleg 2009.07.22 20:47 #1590 Indicatorで、ある条件を満たした場合、テキストファイルにメモ書きで一行入力したい(何があっても、仮に日時とする)。 ファイルが作成され、行が追加されますが、これはリアルタイムにのみ行われます。一方、私は歴史に取り組む際に、メモを取りたいと考えています。どなたか方法をご存じないでしょうか? ありがとうございました。 1...152153154155156157158159160161162163164165166...1145 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
1)また、外部変数によって、どのように無効化するのでしょうか?
2) 最初に開いた注文は開いた時点でクローズし、その後の注文2、3などはクローズしないように設定することはできますか?例えば、買い注文(これが最初の注文)を出し、次に別の買い注文(これが2番目の注文)を出すなどして、この一連の注文のうち1番目の注文だけをСorderCloseで閉じるとしたらどうでしょうか。
https://www.mql5.com/ru/forum/105913 のアドレスページをご確認ください。
1)おおよそこのような感じです。
2)
ロック(//)を解除してから
// return(0); // exit
で、最初の(または最後の)ポジションだけがクローズされます。
皆さん、こんにちは )))
助けてください。
mql4のプログラミングを始めたばかりです。
エキスパートアドバイザーの書き方
どうすればいいのでしょうか。
Expert Advisor を月曜日だけ動作させたい。
>> ありがとうございました
Vininさん、ありがとうございます =)。
クロージング・ポジション」に目を通す。インジケータ信号で'。
1)おおよそこのような感じです。
2)
の前にあるブロック(//)を削除します。
// return(0); // exit
をクリックすると、最初のポジションだけがクローズされます。
ありがとう、rid!
たくさん助けてもらいました、まだまだ優しい人はいるんですね)
全部わかったよ!数学読んでくるね!時間とらせすぎじゃなかったかな?)
よろしくお願いします。
EA1.mq4(添付)のビジュアルテスト 中に、3-cci-h3(添付)のインジケータをチャート上に置いた場合、見かけ上、全く同じパラメータで計算したインジケータのcciシグナルと実際のcci(右上のオブジェクトテキスト)が一致しない。
なぜ?
このインジケーターでアラートが機能しないのはなぜですか?
Expert Advisor コード。
インジケーターコードです。
バイストップはこのように
また、オープンポジション自体からの保留はどのように設定するのでしょうか?
保留中の注文自体はどのように発注するのですか?
まず、最後に開いたポジションの始値をプログラムで決定する必要があります。
そのためには、あらかじめ用意された関数、例えば
関数 PriceOpenLastPos()。
この関数は、最後に建てたポジションの建値を返します。考慮すべき位置の選択は、外部パラメータで指定する。
sy - 市場商品の名前。このパラメータが設定されている場合、この関数は指定された楽器の位置のみを考慮します。デフォルト値である「」は、あらゆる市場商品を意味する。NULL 値は、現在の測定器を意味する。
op - 貿易業務、ポジションタイプ。有効な値:OP_BUY、OP_SELL、または-1。初期値-1 は任意の位置を意味する。
mn - 位置の識別子,MagicNumber.デフォルトの値である-1は、任意の識別子を意味する。
'KimIVの便利な機能
//-------
コードの一番最後に関数そのものを挿入します。
そして、START関数でそれを呼び出し、例えば必要な最後のポジション(買いまたは売り)の始値を設定するのです。
double OpenPrice=PriceOpenLastPos(NULL,OP_BUY, MAGIC) ;
まず、最後にオープンしたポジションの価格をプログラムで決定する必要があります。
そのためには、あらかじめ用意された関数、例えば
関数 PriceOpenLastPos()。
この関数は、最後に建てたポジションの始値を返します。考慮すべきポジションの選定は、外部パラメータによって定義される。
sy - 市場商品の名前。このパラメータを設定すると、この機能はこの楽器の位置のみを考慮します。デフォルト値である「」は、あらゆる市場商品を意味する。NULL 値は、現在の測定器を意味する。
op - 貿易業務、ポジションタイプ。有効な値:OP_BUY、OP_SELL、または-1。初期値-1 は任意の位置を意味する。
mn - 位置の識別子,MagicNumber.デフォルトの値である-1は、任意の識別子を意味する。
'KimIVの便利な機能
//-------
コードの一番最後に関数そのものを挿入します。
START関数では、これを呼び出して、最後に欲しいポジション(買いまたは売り)の始値を設定します。
double OpenPrice=PriceOpenLastPos(NULL,OP_BUY, MAGIC) ;
ありがとうございました!))
Indicatorで、ある条件を満たした場合、テキストファイルにメモ書きで一行入力したい(何があっても、仮に日時とする)。
ファイルが作成され、行が追加されますが、これはリアルタイムにのみ行われます。一方、私は歴史に取り組む際に、メモを取りたいと考えています。どなたか方法をご存じないでしょうか?
ありがとうございました。