[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 71 1...646566676869707172737475767778...537 新しいコメント 100yan 2011.02.07 13:32 #701 DhP: この場合、EAコードから提供されない限り、MagicNumberは変更されない。 皆さん、ありがとうございました。 volshebnik 2011.02.07 13:48 #702 Roman.: 解決策 買うため(売るため-類推して)。 1.MAフラクチャー - 3、2、1バーのMA値を取得 - 比較する。3>2、2<1のバーのMA値があれば、ブレイクとなる。 2.それから - フラクタル - 貫通 - 取引をするための合図 MAを列挙する限りは、外部(最適化可能)変数に配置する。 Period_MA(ステップ2で2から240まで設定可能)、MODE - (MAの計算方法 - 0から3の変化の範囲ステップ1)、PRICE_TYPE - (価格定数 - 0から6の変化の範囲ステップ1)、私は、日中の作業時に平均値(終値が重要ではない)でMAカウント、日キャンドルで作業時に日中の終値でMAカウントと聞いたことがあります。 1,5,15,30,60,240...と、最適化が進むごとに手動で変更する必要があります。 iMAのF1キーを押して、もう一度すべてをよく読んでください。 もちろんTPとStop Lossも通常通り最適化します。 追伸:テスト結果のインフォメーションを書くことも忘れずに...。:-))) TF=1分のテスト結果では、1日1回EAを最適化しても収益性の高いバリエーションは得られなかった。 --- 2011.02.07 14:04 #703 DhP: ポジションが一部閉じている場合は、マジックを変更することができます。簡単に書けそうですね。おそらくmql-communityにない知識を持っているか、質問を理解していないか、OrderClose関数でマジコンが変わると素朴に妄想しているのでしょう。 --- 2011.02.07 14:08 #704 gince: フラグ[i+1]の 初期設定がないのは理解できたのですが。その場合、どこで、どのようにすればよいのでしょうか? 1を設定すると、インジケータを起動したときに、それ(インジケータ)は変化を待つことになります。 正しいやり方はこうだ。 if ((flag[i]==1 || flag[i]==0) && условие продажи) 未初期化フラグ =0 (またはEMPTY_VALUE を取る...) という条件下で gince 2011.02.07 14:18 #705 sergeev: 正しいことは、これだ。 未初期化フラグ=0(またはEMPTY_VALUEを取る...)という条件付きで 皆さん、ありがとうございました。自分のやりたいことをやった。 Роман 2011.02.07 14:53 #706 volshebnik: TF=1分足でのテスト結果では、1日1回EAを最適化しても、収益性の高いオプションは得られなかった。 TFが低いほどノイズが 多くなる...。 volshebnik 2011.02.07 15:02 #707 Roman.: TFが低いほどノイズが 多くなる...。 でも、もしストラテジーが正しければ、どんなTFでも、パラメータが違うだけで機能するはずだと思います。TF=5分でのテスト結果も、利益を生むような選択肢はなかった。 Роман 2011.02.07 15:29 #708 volshebnik: でも、もしストラテジーが正しければ、どんなTFでも、パラメータが違うだけで機能するはずだと思います。TF=5分でのテスト結果も、利益を生むような選択肢は得られなかった。 そこは戦略として正しい。今、私は酔っています。休んでいるところです。 Артур 2011.02.07 16:01 #709 sergeev: の場合、コードにエラーがあります。 注意: 保留注文におけるストップとテイクオーバーは、現在の価格ではなく、注文の開始価格に基づいて行われます。 特別な感謝と敬意を表します :))))。 エラーの修正(これで全部だといいのですが :)) + リミッターを追加しました。注文にマジックナンバーを付ける必要がある場合、非常に便利です。 お楽しみに #property copyright "Copyright © 2010 - 2011, Хлыстов Владимир, в редакции AMRo" #property link "cmillion@narod.ru, nemo811@mail.ru" #property show_inputs /* Иногда требуется помочь советнику добавить ордер, но чтобы советник его принял за свой необходим Magic номер. Для выставления ордера с таким номером и предназначен этот скрипт. Возможна одновременная установка до 6 типов ордеров. При сбоях связи или резком движении цены будет выполнено 10 попыток выставления ордера, после чего скрипт закончит работу. */ //-------------------------------------------------------------------- extern int Magic = 0; //уникальный номер ордера extern bool BUY = false; //открыть ордер BUY extern bool BUY_STOP = false; //поставить ордер BUY STOP extern bool BUY_LIMIT = false; //поставить ордер BUY LIMIT extern bool SELL = false; //открыть ордер SELL extern bool SELL_STOP = false; //поставить ордер SELL STOP extern bool SELL_LIMIT = false; //поставить ордер SELL LIMIT extern double Lot = 0.1; //объем ордера extern int takeprofit = 0; //уровень выставления TP, если 0, то TP не выставляется extern int stoploss = 0; //уровень выставления SL, если 0, то SL не выставляется extern int DistanceSet = 40; //расстояние от рынка для отложенника extern int slippage = 3; //максимально допустимое отклонение цены для рыночных ордеров //-------------------------------------------------------------------- double SL,TP; //-------------------------------------------------------------------- int start() { if (BUY) { if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP=0; if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0; OPENORDER ("Buy"); } if (SELL) { if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0; if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0; OPENORDER ("Sell"); } if (BUY_STOP) { if (takeprofit!=0) TP = NormalizeDouble(Ask + DistanceSet*Point + takeprofit*Point,Digits); else TP=0; if (stoploss!=0) SL = NormalizeDouble(Ask + DistanceSet*Point - stoploss*Point,Digits); else SL=0; OPENORDER ("Buy Stop"); } if (SELL_STOP) { if (takeprofit!=0) TP = NormalizeDouble(Bid - DistanceSet*Point - takeprofit*Point,Digits); else TP=0; if (stoploss!=0) SL = NormalizeDouble(Bid - DistanceSet*Point + stoploss*Point,Digits); else SL=0; OPENORDER ("Sell Stop"); } if (BUY_LIMIT) { if (takeprofit!=0) TP = NormalizeDouble(Ask - DistanceSet*Point + takeprofit*Point,Digits); else TP=0; if (stoploss!=0) SL = NormalizeDouble(Ask - DistanceSet*Point - stoploss*Point,Digits); else SL=0; OPENORDER ("Buy Limit"); } if (SELL_LIMIT) { if (takeprofit!=0) TP = NormalizeDouble(Bid + DistanceSet*Point - takeprofit*Point,Digits); else TP=0; if (stoploss!=0) SL = NormalizeDouble(Bid + DistanceSet*Point + stoploss*Point,Digits); else SL=0; OPENORDER ("Sell Limit"); } return(0); } //-------------------------------------------------------------------- void OPENORDER(string ord) { int error,err; while (true) { error=true; if (ord=="Buy" ) error=OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,"",Magic,0); if (ord=="Sell") error=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),slippage,SL,TP,"",Magic,0); if (ord=="Buy Stop" ) error=OrderSend(Symbol(),OP_BUYSTOP, Lot,NormalizeDouble(Ask + DistanceSet*Point,Digits),slippage,SL,TP,"",Magic,0); if (ord=="Sell Stop") error=OrderSend(Symbol(),OP_SELLSTOP,Lot,NormalizeDouble(Bid - DistanceSet*Point,Digits),slippage,SL,TP,"",Magic,0); if (ord=="Buy Limit" ) error=OrderSend(Symbol(),OP_BUYLIMIT, Lot,NormalizeDouble(Ask - DistanceSet*Point,Digits),slippage,SL,TP,"",Magic,0); if (ord=="Sell Limit") error=OrderSend(Symbol(),OP_SELLLIMIT,Lot,NormalizeDouble(Bid + DistanceSet*Point,Digits),slippage,SL,TP,"",Magic,0); if (error==-1) //неудачная попытка { ShowERROR(); err++;Sleep(2000);RefreshRates(); } if (error || err >10) return; } return; } //-------------------------------------------------------------------- void ShowERROR() { int err=GetLastError(); switch ( err ) { case 1: return; case 2: Alert("Нет связи с торговым сервером ",Symbol());return; case 3: Alert("Error неправильные параметры ",Symbol());return; case 130: Alert("Error близкие стопы Ticket ",Symbol());return; case 134: Alert("Недостаточно денег ",Symbol());return; case 146: Alert("Error Подсистема торговли занята ",Symbol());return; case 129: Alert("Error Неправильная цена ",Symbol());return; case 131: Alert("Error Неправильный объем ",Symbol());return; case 4200:Alert("Error Объект уже существует ",Symbol());return; default: Alert("Error " ,err," ",Symbol());return; } } //-------------------------------------------------------------------- volshebnik 2011.02.07 16:03 #710 Roman.: そこには、本当の意味での不思議さがある。今、私は凧のようにハイになっているんだ。休んでいるんです。 TFに同じ=15分この戦略にはまだ「忠実さ」が見られませんが、まだ先が見えるかもしれません。(おやすみなさい) 1...646566676869707172737475767778...537 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
この場合、EAコードから提供されない限り、MagicNumberは変更されない。
皆さん、ありがとうございました。
解決策
買うため(売るため-類推して)。
1.MAフラクチャー - 3、2、1バーのMA値を取得 - 比較する。3>2、2<1のバーのMA値があれば、ブレイクとなる。
2.それから - フラクタル - 貫通 - 取引をするための合図
MAを列挙する限りは、外部(最適化可能)変数に配置する。
Period_MA(ステップ2で2から240まで設定可能)、MODE - (MAの計算方法 - 0から3の変化の範囲ステップ1)、PRICE_TYPE - (価格定数 - 0から6の変化の範囲ステップ1)、私は、日中の作業時に平均値(終値が重要ではない)でMAカウント、日キャンドルで作業時に日中の終値でMAカウントと聞いたことがあります。
1,5,15,30,60,240...と、最適化が進むごとに手動で変更する必要があります。
iMAのF1キーを押して、もう一度すべてをよく読んでください。
もちろんTPとStop Lossも通常通り最適化します。
追伸:テスト結果のインフォメーションを書くことも忘れずに...。:-)))ポジションが一部閉じている場合は、マジックを変更することができます。簡単に書けそうですね。
おそらくmql-communityにない知識を持っているか、質問を理解していないか、OrderClose関数でマジコンが変わると素朴に妄想しているのでしょう。
フラグ[i+1]の 初期設定がないのは理解できたのですが。その場合、どこで、どのようにすればよいのでしょうか?
1を設定すると、インジケータを起動したときに、それ(インジケータ)は変化を待つことになります。
正しいやり方はこうだ。
未初期化フラグ =0 (またはEMPTY_VALUE を取る...) という条件下で正しいことは、これだ。
未初期化フラグ=0(またはEMPTY_VALUEを取る...)という条件付きで皆さん、ありがとうございました。自分のやりたいことをやった。
TF=1分足でのテスト結果では、1日1回EAを最適化しても、収益性の高いオプションは得られなかった。
TFが低いほどノイズが 多くなる...。
TFが低いほどノイズが 多くなる...。
でも、もしストラテジーが正しければ、どんなTFでも、パラメータが違うだけで機能するはずだと思います。TF=5分でのテスト結果も、利益を生むような選択肢は得られなかった。
そこは戦略として正しい。今、私は酔っています。休んでいるところです。
の場合、コードにエラーがあります。
注意: 保留注文におけるストップとテイクオーバーは、現在の価格ではなく、注文の開始価格に基づいて行われます。
特別な感謝と敬意を表します :))))。
エラーの修正(これで全部だといいのですが :)) + リミッターを追加しました。注文にマジックナンバーを付ける必要がある場合、非常に便利です。
お楽しみに
そこには、本当の意味での不思議さがある。今、私は凧のようにハイになっているんだ。休んでいるんです。