[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 201 1...194195196197198199200201202203204205206207208...652 新しいコメント --- 2011.09.21 19:06 #2001 isaev-av: ありがとうございます。DCによってDigitを4または5に変更する必要がありますか? 変える必要はなく、通貨によって取ればいいだけです。マーケット情報 削除済み 2011.09.21 19:09 #2002 isaev-av: ありがとうございます。DCによって、Digitを4または5に変更する必要がありますか? ディジットを 残すだけで、勝手にフィットしてくれます。 削除済み 2011.09.22 08:53 #2003 同志たちよ、非常にシンプルなシステムを考えてみると......。MACDが5分以上ゾーンになければ、オープンします。なぜかトレードが開かない...。のアドバイスをお願いします...//+------------------------------------------------------------------+ //| MACD ^^^.mq4 | //| Copyright © 2011, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" extern int TP = 100; extern int TS = 100; extern int TF = 1; extern double lots = 0.1; int fast_ema = 5; int slow_ema = 34; int signal_period = 5; int slip = 3; int Magic = 1; int total; int ticket; //объявил тотал и тикет //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- bool signal = signal_MACD(); AnalyzeSignal(signal); //---- return(0); } //+------------------------------------------------------------------+ bool signal_MACD() { bool signal_MACD = false; double tmp = iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0); for(int i=1;i<=5;i++) { if(NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,i)*tmp,4)<0.0) { signal_MACD = true; break; } } } void AnalyzeSignal(bool signal) { total = OrdersTotal(); double MACD = iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0); if(total < 1) { if(signal == true) { if(MACD > 0) { ticket = OrderSend(Symbol(),OP_BUY,lots,Ask,slip,Bid-TS*Point,Bid+TP*Point,"Покупаем",Magic,0,Green); if(ticket>0) { OrderSelect(ticket,SELECT_BY_TICKET); Print("открылись на покупку по цене:", OrderOpenPrice()); } else { Print("открыться не удалось по причине:", GetLastError()); return(0); } } if(MACD < 0) { ticket = OrderSend(Symbol(),OP_SELL,lots,Bid,slip,Ask+TS*Point,Ask-TP*Point,"Продаем",Magic,0,Red); if(ticket>0) { OrderSelect(ticket,SELECT_BY_TICKET); Print("открылись на продажу по цене:", OrderOpenPrice()); } else { Print("открыться не удалось по причине:", GetLastError()); return(0); } } else return(0); } } } noobys 2011.09.22 08:55 #2004 助けてみんなが持っているMACDサンプルEAにロット計算を追加しようと思っています。変更後、コンパイルができなくなりました :( Help!double Lots() { double Lots; Lots=AccountFreeMargin()/10000*5; Lots=MathMin(15,MathMax(0.1,Lots)); if(Lots<0.1) Lots=NormalizeDouble(Lots,2); else { if(Lots<1) Lots=NormalizeDouble(Lots,1); else Lots=NormalizeDouble(Lots,0); } return(Lots); } Artem Gulturyan 2011.09.22 09:15 #2005 ハイ EAがエラーを出し、if ((Bid-OrderOpenPrice(),Digits)>=-60) code 130, give every new tick and really loads server.... に変更すると、if ((pBid-NormalizeDouble(OrderOpenPrice(),Digits)) のようになります。==-60) -動作しません... 正確には≧が必要で、どうすればいいのか? どうか解明してください。 ありがとうございました!!! Vitaliy Andreischev 2011.09.22 09:15 #2006 取引に関わる通貨ペアの数をプログラムで計算するにはどうすればよいですか? オープンオーダーを検索してみました。3つの通貨ペアでExpert Advisorを動かしてみました。それぞれで違う結果が出たんです。 が3(正解)、2が2、3が1です。 2つの通貨ペアで試してみました。 が2(正解)、2が1(正解)。衰退のパターンがなければ、失敗したと思っていたかもしれない int val() { int kp=1; string x1="0",x2="0", x3="0", x4="0", x5="0", x6="0", x7="0", x8="0", x9="0", x10="0", x11="0", x12="0", x13="0", x14="0", x15="0", x16="0", x17="0", x18="0", x19="0", x20="0", x21="0", x22="0", x23="0", x24="0"; for (int i=OrdersTotal()-1; i>=0; i--) { if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break; if(OrderSymbol()==Symbol()) break; if(x9!="0" && x1!=OrderSymbol() && x2!=OrderSymbol() && x3!=OrderSymbol() && x4!=OrderSymbol() && x5!=OrderSymbol() && x6!=OrderSymbol() && x7!=OrderSymbol() && x8!=OrderSymbol() && x9!=OrderSymbol() && x10=="0") {x10=OrderSymbol(); kp=11;} if(x8!="0" && x1!=OrderSymbol() && x2!=OrderSymbol() && x3!=OrderSymbol() && x4!=OrderSymbol() && x5!=OrderSymbol() && x6!=OrderSymbol() && x7!=OrderSymbol() && x8!=OrderSymbol() && x9=="0") {x9=OrderSymbol(); kp=10;} if(x7!="0" && x1!=OrderSymbol() && x2!=OrderSymbol() && x3!=OrderSymbol() && x4!=OrderSymbol() && x5!=OrderSymbol() && x6!=OrderSymbol() && x7!=OrderSymbol() && x8=="0") {x8=OrderSymbol(); kp=9;} if(x6!="0" && x1!=OrderSymbol() && x2!=OrderSymbol() && x3!=OrderSymbol() && x4!=OrderSymbol() && x5!=OrderSymbol() && x6!=OrderSymbol() && x7=="0") {x7=OrderSymbol(); kp=8;} if(x5!="0" && x1!=OrderSymbol() && x2!=OrderSymbol() && x3!=OrderSymbol() && x4!=OrderSymbol() && x5!=OrderSymbol() && x6=="0") {x6=OrderSymbol(); kp=7;} if(x4!="0" && x1!=OrderSymbol() && x2!=OrderSymbol() && x3!=OrderSymbol() && x4!=OrderSymbol() && x5=="0") {x5=OrderSymbol(); kp=6;} if(x3!="0" && x1!=OrderSymbol() && x2!=OrderSymbol() && x3!=OrderSymbol() && x4=="0") {x4=OrderSymbol(); kp=5;} if(x2!="0" && x1!=OrderSymbol() && x2!=OrderSymbol() && x3=="0") {x3=OrderSymbol(); kp=4;} if(x1!="0" && x1!=OrderSymbol() && x2=="0") {x2=OrderSymbol(); kp=3;} if(x1=="0") {x1=OrderSymbol(); kp=2;} } return(kp); } 削除済み 2011.09.22 09:16 #2007 skyjet: 変更後、コンパイルできなくなりました :( なんて書いてあるんだ? noobys 2011.09.22 09:25 #2008 Figar0: さて、どんなことが書いてあるのでしょうか? エラー12件、警告12件。ロット計算の入力が間違っているのでは? Victor Nikolaev 2011.09.22 09:29 #2009 forexnew: 取引に関わる通貨ペアの数をプログラムで計算するにはどうすればよいですか? オープンオーダーを検索してみました。3つの通貨ペアでExpert Advisorを動かしてみました。それぞれで違う結果が出たんです。 が3(正解)、2が2、3が1です。 2つの通貨ペアで試してみました。 が2(正解)、2が1(正解)。衰退のパターンがなければ、失敗したと思っていたかもしれない あるいは、EAの助けを借りて、アクティブな楽器のリストを作るだけかもしれません。アプローチはちょっと複雑なんです。もっとシンプルなやり方があるんじゃないですか? 削除済み 2011.09.22 09:37 #2010 skyjet: エラー12件、警告12件。ロット計算の入力が間違っているのでは? 関数自体にエラーはなく、おそらく使おうとするとエラーが発生するのでしょうが、それを見せてくれませんね。ファイルに直接コンパイルしないものを投稿していただければ、推測する必要はありません。 1...194195196197198199200201202203204205206207208...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ありがとうございます。DCによってDigitを4または5に変更する必要がありますか?
変える必要はなく、通貨によって取ればいいだけです。マーケット情報
ありがとうございます。DCによって、Digitを4または5に変更する必要がありますか?
ディジットを 残すだけで、勝手にフィットしてくれます。
ハイ
EAがエラーを出し、if ((Bid-OrderOpenPrice(),Digits)>=-60) code 130, give every new tick and really loads server....
に変更すると、if ((pBid-NormalizeDouble(OrderOpenPrice(),Digits)) のようになります。==-60) -動作しません...
正確には≧が必要で、どうすればいいのか?
どうか解明してください。
ありがとうございました!!!
取引に関わる通貨ペアの数をプログラムで計算するにはどうすればよいですか?
オープンオーダーを検索してみました。3つの通貨ペアでExpert Advisorを動かしてみました。それぞれで違う結果が出たんです。
が3(正解)、2が2、3が1です。
2つの通貨ペアで試してみました。
が2(正解)、2が1(正解)。衰退のパターンがなければ、失敗したと思っていたかもしれない
変更後、コンパイルできなくなりました :(
なんて書いてあるんだ?
さて、どんなことが書いてあるのでしょうか?
取引に関わる通貨ペアの数をプログラムで計算するにはどうすればよいですか?
オープンオーダーを検索してみました。3つの通貨ペアでExpert Advisorを動かしてみました。それぞれで違う結果が出たんです。
が3(正解)、2が2、3が1です。
2つの通貨ペアで試してみました。
が2(正解)、2が1(正解)。衰退のパターンがなければ、失敗したと思っていたかもしれない
あるいは、EAの助けを借りて、アクティブな楽器のリストを作るだけかもしれません。アプローチはちょっと複雑なんです。もっとシンプルなやり方があるんじゃないですか?
エラー12件、警告12件。ロット計算の入力が間違っているのでは?
関数自体にエラーはなく、おそらく使おうとするとエラーが発生するのでしょうが、それを見せてくれませんね。ファイルに直接コンパイルしないものを投稿していただければ、推測する必要はありません。