[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 797 1...790791792793794795796797798799800801802803804...1145 新しいコメント alla 2010.08.11 18:01 #7961 同志の皆さん!ROC AUDUSDとGBPUSDを読み取ってGBPAUDでトレードする奇跡のツールを作る試みその2です!(笑)ちょっと原始的な感じですが、どうしてもやってみたかったんです!!!!最適化せずにテスターで実行すると、フリーズはするものの、読み込みは成功し続けるのですが...。そして、結局は一度も取引 されなかった。まあ明らかに失敗したのですが、どこが、plz、教えてください、知識のある人!!!!!! :)))これはEAコードです。 通常のカスタムROCからデータを取得します。 //+------------------------------------------------------------------+ //| Robot_Rocky_Rich | //| JonsonAlla | //| deep_ampik@bk.ru | //+------------------------------------------------------------------+ extern double TakeProfit = 700; extern double Sl = 200; extern double Lots = 0.01; //+------------------------------------------------------------------+ int start() { int cnt, ticket; double x1= iCustom("AUDUSD",PERIOD_H1,"ROC",12,1,0); double x2= iCustom("GBPUSD",PERIOD_H1,"ROC",12,1,0); /**total=OrdersTotal(); if(total<1)//проверка количества ордеров { if(AccountFreeMargin()<(1000*Lots)) { Print("Недостаточно средств = ", AccountFreeMargin()); return(0); }**/ if (x1<x2) { ticket=OrderSend("GBPAUD",OP_BUY,Lots,Ask,30,Bid-Sl*Point,Ask+TakeProfit*Point,"-",0,0,Green); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("открыта позиция BUY : ",OrderOpenPrice()); } else Print("Ошибка при открытии BUY позиции : ",GetLastError()); return(0); } if (x1>x2) { ticket=OrderSend("GBPAUD",OP_SELL,Lots,Bid,30,Ask+Sl*Point,Bid-TakeProfit*Point,"-",0,0,Red); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("открыта позиция SELL : ",OrderOpenPrice()); } else Print("Ошибка при открытии SELL позиции : ",GetLastError()); return(0); } return(0); } T-G 2010.08.11 18:09 #7962 Vinin: IndicatorCounted()がEAで機能しない。あくまでも指標を目的としたものです。もう少し問題を広げたほうがいいかもしれませんね。その解決方法はさまざまです。最も簡単な方法は、インジケータを最適化することです(ただし、常に可能とは限りません)。エキスパートアドバイザーに計算を転送することもできますが、これも常に可能とは限りません。実際にインジケーターを見る必要が あります計算コードをEAに転送したいのですが、インジケーターの計算コードがループで始まってしまいます。どうしたらもっと正しいものに置き換えられるでしょうか7。 int CountedBars=IndicatorCounted(); if(CountedBars< 0) CountedBars= 0; if(CountedBars> 0) CountedBars--; cnt = Bars - CountedBars; for(int i = 0; i < cnt ;i++) Victor Nikolaev 2010.08.11 18:12 #7963 obla4ko:同志の皆さん!ROC AUDUSDとGBPUSDを読み取ってGBPAUDでトレードする奇跡のツールを作る試みその2です!(笑)ちょっと原始的な感じですが、どうしてもやってみたかったんです!!!!最適化せずにテスターで実行すると、フリーズはするものの、読み込みは成功し続けるのですが...。そして、結局は一度も取引されなかった。まあ明らかに失敗したのですが、どこが、plz、教えてください、知識のある人!!!!!! :)))これはいわゆるExpert Advisorのコードで、通常のカスタムROCからデータを取得する。 プリミティブ履歴読み込み 制御で試す ファイル: robot_rocky_richh.mq4 3 kb alla 2010.08.11 18:26 #7964 Vinin: 履歴読み込みの原始的な制御で試す 多分、x1とx2を比較するだけでは正しくなく、何か、例えば、最後のバーに添付する必要があるのでは? インジケーターの論理では、EAは少なくとも一つのポジションを開くべきで、クローズはしない、なぜならクローズはプログラムに実装されていない :)) 、一方の通貨のROCは常に他の通貨のROCよりも大きい .... Victor Nikolaev 2010.08.11 18:28 #7965 インジケーターの呼び出しが うまくいっていないのかもしれません。自分で探すしかないですね。ただ、バッファは最初ではなく、0であるべきだと思われます。 Victor Nikolaev 2010.08.11 18:29 #7966 そのようなインジケーターはありません Петр 2010.08.11 18:31 #7967 T-G: Expert Advisorに計算コードを転送したいのですが、インジケータの計算コードがループで始まっています。より正しいコードに置き換えるにはどうしたらいいですか7 1.どうして? しかし、どうしても必要なのであれば 2.なぜ私は何も答えないんだ?コシツェンの記事があります(ここです、上のリンク)。何度繰り返せばいいんだ?もしかして、他にやることがあるのでは? alla 2010.08.11 18:33 #7968 Vinin: そのようなインジケーターはありません 以下はROCインジケータのコードです。 //+------------------------------------------------------------------+ //| ROC.mq4 | //| Copyright © 2006, Robert Hill | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, Robert Hill" //---- indicator settings #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Red //---- indicator parameters extern int RPeriod = 12; extern bool UsePercent = true; //---- indicator buffers double RateOfChange[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- drawing settings SetIndexStyle(0, DRAW_LINE); SetIndexDrawBegin(0, RPeriod); IndicatorDigits(Digits + 1); //---- indicator buffers mapping if(!SetIndexBuffer(0, RateOfChange)) Print("cannot set indicator buffers!"); //---- name for DataWindow and indicator subwindow label IndicatorShortName("ROC(" + RPeriod + ")"); //---- initialization done return(0); } //+------------------------------------------------------------------+ //| Moving Averages Convergence/Divergence | //+------------------------------------------------------------------+ int start() { int limit; double ROC, CurrentClose, PrevClose; int counted_bars = IndicatorCounted(); //---- check for possible errors if(counted_bars < 0) return(-1); //---- last counted bar will be recounted if(counted_bars > 0) counted_bars--; limit = Bars - counted_bars - RPeriod; //---- ROC calculation for(int i = 0; i < limit; i++) { CurrentClose = iClose(NULL, 0, i); PrevClose = iClose(NULL, 0, i + RPeriod); ROC = CurrentClose - PrevClose; //---- if(UsePercent) { if(PrevClose != 0) RateOfChange[i] = 100 * ROC / PrevClose; } else RateOfChange[i] = ROC; } //---- done return(0); } //+------------------------------------------------------------------+ Петр 2010.08.11 18:35 #7969 "誰も床掃除しなくていいんですか?洗いに行きます!" (с) ここでは、インジケータコードからエキスパートコードへの移行を 説明します。 Victor Nikolaev 2010.08.11 18:36 #7970 obla4ko: 以下はROCインジケータのコードです。 インジケータコードにエラーがあります。 1...790791792793794795796797798799800801802803804...1145 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
同志の皆さん!ROC AUDUSDとGBPUSDを読み取ってGBPAUDでトレードする奇跡のツールを作る試みその2です!(笑)ちょっと原始的な感じですが、どうしてもやってみたかったんです!!!!最適化せずにテスターで実行すると、フリーズはするものの、読み込みは成功し続けるのですが...。そして、結局は一度も取引 されなかった。まあ明らかに失敗したのですが、どこが、plz、教えてください、知識のある人!!!!!! :)))これはEAコードです。 通常のカスタムROCからデータを取得します。
IndicatorCounted()がEAで機能しない。あくまでも指標を目的としたものです。もう少し問題を広げたほうがいいかもしれませんね。その解決方法はさまざまです。最も簡単な方法は、インジケータを最適化することです(ただし、常に可能とは限りません)。エキスパートアドバイザーに計算を転送することもできますが、これも常に可能とは限りません。実際にインジケーターを見る必要が あります
計算コードをEAに転送したいのですが、インジケーターの計算コードがループで始まってしまいます。どうしたらもっと正しいものに置き換えられるでしょうか7。
同志の皆さん!ROC AUDUSDとGBPUSDを読み取ってGBPAUDでトレードする奇跡のツールを作る試みその2です!(笑)ちょっと原始的な感じですが、どうしてもやってみたかったんです!!!!最適化せずにテスターで実行すると、フリーズはするものの、読み込みは成功し続けるのですが...。そして、結局は一度も取引されなかった。まあ明らかに失敗したのですが、どこが、plz、教えてください、知識のある人!!!!!! :)))これはいわゆるExpert Advisorのコードで、通常のカスタムROCからデータを取得する。
プリミティブ履歴読み込み 制御で試す
履歴読み込みの原始的な制御で試す
多分、x1とx2を比較するだけでは正しくなく、何か、例えば、最後のバーに添付する必要があるのでは? インジケーターの論理では、EAは少なくとも一つのポジションを開くべきで、クローズはしない、なぜならクローズはプログラムに実装されていない :)) 、一方の通貨のROCは常に他の通貨のROCよりも大きい ....
インジケーターの呼び出しが うまくいっていないのかもしれません。自分で探すしかないですね。ただ、バッファは最初ではなく、0であるべきだと思われます。
そのようなインジケーターはありません
Expert Advisorに計算コードを転送したいのですが、インジケータの計算コードがループで始まっています。より正しいコードに置き換えるにはどうしたらいいですか7
1.どうして?
しかし、どうしても必要なのであれば
2.なぜ私は何も答えないんだ?コシツェンの記事があります(ここです、上のリンク)。何度繰り返せばいいんだ?もしかして、他にやることがあるのでは?
そのようなインジケーターはありません
以下はROCインジケータのコードです。
"誰も床掃除しなくていいんですか?洗いに行きます!" (с)
ここでは、インジケータコードからエキスパートコードへの移行を 説明します。
以下はROCインジケータのコードです。
インジケータコードにエラーがあります。