[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 198 1...191192193194195196197198199200201202203204205...652 新しいコメント 削除済み 2011.09.20 09:53 #1971 んんんんんんんんんんんんんんんんんんんんんんんんんんんんんんんん個人的には正しく書かれていると思うのですが、唯一の問題はコードスニペットの配置です。を正しく配置できるでしょうか。 Виктор 2011.09.20 09:53 #1972 splxgf: 正直なところ、ある機能を別の機能の中で表現できるのかどうか、私は出会ったことがありません。 私たち黒人を混乱させないでください。この分岐のレベルでは、すべてのユーザー関数がStart関数の外側に配置されなければならないことを述べるだけで十分である。 Всеволод 2011.09.20 10:01 #1973 CLAIN: んんんんんんんんんんんんんんんんんんんんんんんんんんんんんんんん個人的には、すべて正しく書かれていると思います。唯一の問題は、コードスニペットの配置です。どうすればいいのかわからないのですが。 まあ、正確には掲載しませんが、すでに書かれているように、すべてのカスタム機能はスタート地点を超えています。 コンセプトレベルで スタート(){}。 MACD{}の場合 AnalyzeSignal(){}。 カスタム関数の記述を別ファイルに削除し、残りのプログラムがエラーブラケット・メッセージなしでコンパイルされることを確認し、各関数を結果のコードの一番最後にドッキングしてください。 削除済み 2011.09.20 10:32 #1974 ありがとうございます、うまくいきました =) ディールが開かないだけで、それは小さなことです =) あなたなしではできませんでした ) //+------------------------------------------------------------------+ //| 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 double lots = 0.1; int slip = 3; int Magic = 1; int total; int ticket = 0; //объявил тотал и тикет //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- int signal = signal_MACD(); AnalyzeSignal(signal); //---- return(0); } //+------------------------------------------------------------------+ int signal_MACD() { int MACD[8] = {0,1,2,3,4,5,6,7}; MACD[0] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,7); MACD[1] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,6); MACD[2] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,5); MACD[3] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,4); MACD[4] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,3); MACD[5] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,2); MACD[6] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,1); MACD[7] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,0); total = OrdersTotal(); if(total<1) { if(MACD[0]<0) { if(MACD[1]>0) { if(MACD[2]>0) { if(MACD[3]>0) { if(MACD[4]>0) { if(MACD[5]>0) { if(MACD[6]>0) { if(MACD[7]<0) { return(-100); } } } } } } } } if(MACD[0]>0) { if(MACD[1]<0) { if(MACD[2]<0) { if(MACD[3]<0) { if(MACD[4]<0) { if(MACD[5]<0) { if(MACD[6]<0) { if(MACD[7]>0) { return(100); } } } } } } } } } } void AnalyzeSignal(int signal) { if(signal == 100) { 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(signal == -100) { ticket = OrderSend(Symbol(),OP_SELL,lots,Bid,slip,Ask+TS*Point,Ask-TP*Point,"Продаем",Magic,0,Green); if(ticket>0) { OrderSelect(ticket,SELECT_BY_TICKET); Print("открылись на продажу по цене:", OrderOpenPrice()); } else { Print("открыться не удалось по причине:", GetLastError()); return(0); } } } --- 2011.09.20 10:38 #1975 プログラマに相談する 1 Metamql 2011.09.20 14:31 プロフェッショナルの皆様、アドバイスをお願いします。移動平均線は5本と60本の2本です。高速MAが低速MAを下から上にクロスした場合+フィルターで買い取引を開始します。問題は、トレードを一度だけオープンし、それがクローズしたら、オープンするのに適した条件があっても、リバースクロスオーバーがあるまで、新しいトレードをオープンしないようにするには、どうしたらいいかということです。 Артур 2011.09.20 10:38 #1976 こんにちは。 助けてください-196ページの私の投稿にご返事ください。(int MAGICに関する質問;) よろしくお願いします。 Victor Nikolaev 2011.09.20 10:42 #1977 nemo811:こんにちは。助けてください-196ページの私の投稿にご返事ください。(int MAGICに関する質問;)よろしくお願いします。 パラメータを使った関数を作ってみましたか?外部グローバル変数を 使用しないように(誰でも自分の名前で呼べるように)。 Sergey Guliaev 2011.09.20 10:47 #1978 sergeev: プログラマに相談する 1 Metamql 2011.09.20 14:31 プロフェッショナルの皆様、アドバイスをお願いします。移動平均線は5本と60本の2本です。高速MAを低速MAの上に下から上+フィルターでクロスした場合、買いで取引を開始します。問題は、トレードを一度だけオープンし、それがクローズしたら、たとえオープンに適した条件があったとしても、リバースクロスオーバーが発生するまで、新しいトレードをオープンしないようにするにはどうしたらいいかということです。 フラグを立ててそれ以上のオープンを禁止し、クロスバックするときにフラグを外す、バウンドを避けるために数バー遅らせることができる Артур 2011.09.20 10:47 #1979 Vinin: パラメータ付きの関数を作ってみましたか?外部グローバル変数を使用しないように(みんな自分流に呼び出せるように)みたいな意味です。 int OrdTicket_b(int MAGIC) { string SMB=Symbol(); int OrdTicket; int i; for(i=0;i<OrdersTotal();i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == true) { if(OrderSymbol()==SMB) { if(OrderMagicNumber()==MAGIC || OrderMagicNumber()==777) { if(OrderType()==OP_BUY || OrderType()==OP_SELL) { OrdTicket=OrderTicket(); } } } } } return(OrdTicket); } ??? ...そして、その状態 if(OrderMagicNumber()==MAGIC || OrderMagicNumber()==777) は正しくトラッキングされるのでしょうか? Victor Nikolaev 2011.09.20 11:05 #1980 nemo811:みたいな意味です。???...そして、その状態 は正しくトラッキングされるのでしょうか?int OrdTicket_b(int lMAGIC) { string SMB=Symbol(); int OrdTicket=0; int i; for(i=0;i<OrdersTotal();i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == true) { if(OrderSymbol()==SMB) { if(OrderMagicNumber()==lMAGIC) { if(OrderType()==OP_BUY || OrderType()==OP_SELL) { OrdTicket=OrderTicket(); } } } } } return(OrdTicket); } このように、変数OrdTicketには、何らかのデフォルト 値を割り当てる必要があります。そうでない場合は、オープンポジション は存在せず、この関数は何かを返します。 1...191192193194195196197198199200201202203204205...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
正直なところ、ある機能を別の機能の中で表現できるのかどうか、私は出会ったことがありません。
んんんんんんんんんんんんんんんんんんんんんんんんんんんんんんんん個人的には、すべて正しく書かれていると思います。唯一の問題は、コードスニペットの配置です。どうすればいいのかわからないのですが。
まあ、正確には掲載しませんが、すでに書かれているように、すべてのカスタム機能はスタート地点を超えています。
コンセプトレベルで
スタート(){}。
MACD{}の場合
AnalyzeSignal(){}。
カスタム関数の記述を別ファイルに削除し、残りのプログラムがエラーブラケット・メッセージなしでコンパイルされることを確認し、各関数を結果のコードの一番最後にドッキングしてください。
ありがとうございます、うまくいきました =) ディールが開かないだけで、それは小さなことです =) あなたなしではできませんでした )
プログラマに相談する
こんにちは。
助けてください-196ページの私の投稿にご返事ください。(int MAGICに関する質問;)
よろしくお願いします。
こんにちは。
助けてください-196ページの私の投稿にご返事ください。(int MAGICに関する質問;)
よろしくお願いします。
パラメータを使った関数を作ってみましたか?外部グローバル変数を 使用しないように(誰でも自分の名前で呼べるように)。
プログラマに相談する
フラグを立ててそれ以上のオープンを禁止し、クロスバックするときにフラグを外す、バウンドを避けるために数バー遅らせることができる
パラメータ付きの関数を作ってみましたか?外部グローバル変数を使用しないように(みんな自分流に呼び出せるように)
みたいな意味です。
???
...そして、その状態
は正しくトラッキングされるのでしょうか?
みたいな意味です。
???
...そして、その状態
は正しくトラッキングされるのでしょうか?
このように、変数OrdTicketには、何らかのデフォルト 値を割り当てる必要があります。そうでない場合は、オープンポジション は存在せず、この関数は何かを返します。