[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 506 1...499500501502503504505506507508509510511512513...631 新しいコメント Boris 2012.11.13 21:07 #5051 MaxZ: MT4口座で、マイナスでロックが開けられる口座はありますか?純粋に興味本位で聞いています。別の掲示板で紛争が発生した。そのようなアカウントは存在すると聞いていますDD 余計な質問がないように、ここで一例を挙げておきます。 ボリュームNで1つの取引を開始しました。あなたの端末では、「Free:」の行の後に「-XXX.XX」と表示されています...。ボリュームNで開錠できるようになるのか!通常のアカウントではそうはいかないと思います。しかも、特別会計もあるとのこと!?:))))))信じられない... その答えが届いた...ショックだ...。 この "シェフ "たちは、もう "おバカなピノキオ "を誘い出す術を知らないのだ! テスターではコリヤ・モルゾフにしか会えません。極端にならないように、ワーカーズカウンセラーに制限をかけました;)) Boris 2012.11.13 21:18 #5052 Beowulf: みなさん、こんにちは。ベットできる最大ロットはどこで、どのように調べればよいのですか?double MaxLot = MarketInfo(Symbol(), MODE_MAXLOT); //В следущий раз не ленитесь заглянуть в Доку, а то тут могут послать к телепату! Роман 2012.11.14 00:32 #5053 borilunad: それについては、すでに別のスレッドで質問されています。回答がありました...しかし、彼はコードを理解しているわけではなく、自分で書いているのです。 彼はスクリプト(既製の解決策-キーを押す(スクリプトを実行する)-画面を見る)を求めています。 削除済み 2012.11.14 01:43 #5054 r772ra さん、すごい!キム関数にもっと注目すべきですね!ありがとうございます。 Boris 2012.11.14 10:16 #5055 Roman.: すでに別のスレッドで質問されています。回答がありました...しかし、彼はコードを理解しているわけではなく、自分で書いているのです。 スクリプト(既成のソリューション - キーを押す(スクリプトを実行する) - 画面を見る)が必要である。 あとは、私たちの口座に投資してもらうだけです。:)) Victor Nikolaev 2012.11.14 10:25 #5056 borilunad: あとは、私たちの口座に投資してもらうだけです。:)) 良いアイデアだが、実現が難しい TarasBY 2012.11.14 10:52 #5057 hoz: もう、わけがわからなくなってきました。ここでは3つの機能を紹介し、それぞれが特定のインジケーターの信号を受信します。 全指標からの総合信号を受信し、売買の 判断を行う機能。 これは一般的なシグナルを受け取るメイン関数です。ここでは、もちろんすべてのバーを通過するループを通してインデックスの値を取得します。そして、得られた値は、これらの値が必要とされる適切な関数、すなわち関数に参照渡しされる。int GetCrossingMa(double& i_maFast1, double& i_maFast2, double& i_maSlow1, double& i_maSlow2).int GetStochSignal(double& stochD1, double& stochD2, double& stochK1, double& stochK2)void GetMomentumSignal()も原理的には置くことができる。 このように、指標の計算はすべて、信号を得るという一大機能に集約されることになる。この場合、すべてが論理的である...TarasBY:ビクター!論理はあっても、知識はそうそうないんですね。続けていれば、前者は教科書よりも先に進むことができますし、後者を「制覇」するためには、まずそれ(教科書)から始めなければなりません。まだ論理的なコード構造を構築する準備ができていないのであれば、アルファベット順に戻してください。 P.S. あなたのコードで「目に留まったもの」。関数GetSignal()において、2行の交差を探すためにfor ループを使ってもよいのですが、個人的な好みもありますが、while ループを使ったほうがよいでしょう。そもそも、今言ったことを実行させるためには、「実行は赦されない」のように括弧を動かす必要があるのです。なぜか、この(結果)関数には、GetStochSignal()とGetMomentumSignal()の2つの関数の結果が欠落しています。関数 GetCrossingMa() および GetStochSignal() では、パラメータを参照渡しする意味がありません。なぜなら、関数内のこれらの変数がその値を変化させるなら、それは理にかなっているからです。void GetMomentumSignal()関数はNOTHINGを返します。外から見るほうが悪い」のは認めますが......。:))) ここでは、MAsh(s)から信号を取得する関数の別のバリエーションを紹介します。//IIIIIIIIIIIIIIIIIII==================CONSTANS=================IIIIIIIIIIIIIIIIIIIIII+ #define BULL 0 #define BEAR 1 #define STOP -1 //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+ extern int Use_ChangeTrend.MA = 0; // 0 - off; Брать сигнал на смене тренда: //1 - ТОЛЬКО на первом; 2 - ТОЛЬКО не на первом; 3 - на всех extern double MA_K_Period = 3.0; // коэффициент получения периода 2-ой МАшки. extern int MA_Period = 14; /*extern*/ int MA_Shift = 0; extern int MA_Method = 7; extern int MA_Price = 7; /*extern*/ int Color_Mode = 0; int bia_PeriodMA[2]; //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+ //| Автор : TarasBY, taras_bulba@tut.by | //+-----------------------------------------------------------------------------------+ //| Получаем сигнал по наклону MA или по пересечению 2-х MA | //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+ int fGet_SignalMA (string fs_Symbol, // Symbol int fi_TF, // Таймфрейм double fd_Deviation = 0, // расхождение м/у МАшками bool fb_ControlBeginChangeTrend = False, // Контроль начала смены тренда int fi_BarSignal = 1, // Бар на котором считываем сигнал int fi_VerificationBars = 1) // Количество баров для подтверждения сигнала { static int li_preSignal = STOP; double lda_MA[2]; bool lb_twice = (MA_K_Period > 1.0), lb_Condition; int li_BAR = fi_BarSignal, li_Trend = STOP, li_VerificationBars = 0, li_cmd = 1; //---- //---- Если работаем с 2-мя МАшками if (lb_twice) { for (int li_IND = 0; li_IND < 2; li_IND++) {lda_MA[li_IND] = iCustom (fs_Symbol, fi_TF, "AllAverages_v2.51", fi_TF, bia_PeriodMA[li_IND], MA_Shift, MA_Method, MA_Price, Color_Mode, 0, li_BAR);} //---- На 1-ом проверяемом баре фиксируем расхождение МАшек double ld_Deviation = fControl_Deviation (lda_MA, lb_Condition, li_cmd, li_Trend, fd_Deviation); } //---- Если работаем с 1-ой МАшкой else { for (li_IND = 0; li_IND < 2; li_IND++) {lda_MA[li_IND] = iCustom (fs_Symbol, fi_TF, "AllAverages_v2.51", fi_TF, MA_Period, MA_Shift, MA_Method, MA_Price, Color_Mode, 0, li_BAR + li_IND);} double ld_Price = fGet_PriceOnBar (PRICE_TYPICAL, fs_Symbol, fi_TF, li_BAR); //---- На 1-ом проверяемом баре фиксируем расхождение МАшек ld_Deviation = fControl_Deviation (lda_MA, lb_Condition, li_cmd, li_Trend, fd_Deviation); if (NDD (li_cmd * (lda_MA[0] - ld_Price)) >= 0.0) return (STOP); } //---- Если фиксируем на баре пересечение или горизонтальное расположение МА - выходим if (ld_Deviation == 0.0) return (STOP); int li_cnt = 0; while (lb_Condition == true) { li_BAR++; //---- Собираем показания МАшек в массив if (lb_twice) { for (li_IND = 0; li_IND < 2; li_IND++) {lda_MA[li_IND] = iCustom (fs_Symbol, fi_TF, "AllAverages_v2.51", fi_TF, bia_PeriodMA[li_IND], MA_Shift, MA_Method, MA_Price, Color_Mode, 0, li_BAR);} bool lb_AddCondition = true; li_cnt++; } else { for (li_IND = 0; li_IND < 2; li_IND++) {lda_MA[li_IND] = iCustom (fs_Symbol, fi_TF, "AllAverages_v2.51", fi_TF, MA_Period, MA_Shift, MA_Method, MA_Price, Color_Mode, 0, li_BAR + li_IND);} ld_Price = fGet_PriceOnBar (PRICE_TYPICAL, fs_Symbol, fi_TF, li_BAR); lb_AddCondition = (NDD (li_cmd * (lda_MA[0] - ld_Price)) < 0.0); } //---- Фиксируем расхождение МАшек или наклон 1-ой МА ld_Deviation = NDD (lda_MA[0] - lda_MA[1]); //---- Определяем условия контроля пересечения МАшек или изменение наклона if (li_Trend == BULL) lb_Condition = (ld_Deviation >= 0.0); else lb_Condition = (ld_Deviation <= 0.0); //---- Производим подсчёт баров, на которых выполняется означенное расхождение if (lb_AddCondition) { if (fd_Deviation != 0.0) {if (MathAbs (ld_Deviation) >= fd_Deviation) li_VerificationBars++;} else li_VerificationBars++; } else li_cnt++; //---- Если не отслеживаем начало смены тренда if (!fb_ControlBeginChangeTrend) {if (li_VerificationBars == fi_VerificationBars) return (li_Trend);} else { //---- Если баров, на которых выполняются заданные нами условия, > fi_VerificationBars - выходим if (li_VerificationBars > fi_VerificationBars) {li_preSignal = STOP; return (STOP);} else if (!lb_Condition) { if (li_VerificationBars == fi_VerificationBars) {return (li_Trend);} //---- Если не набрали нужное количество подтверждений сиганала после пересечения // или смены наклона - выходим else if (li_VerificationBars < fi_VerificationBars) return (STOP); } } //---- Предусматриваем уход от зацикливания (на начале отсчёта) if (li_cnt > MA_Period) return (STOP); } //---- return (STOP); } //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+ //| Автор : TarasBY, taras_bulba@tut.by | //+-----------------------------------------------------------------------------------+ //| Контролируем расхождение 2-ух МАшек или наклон 1-ой МАшки | //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+ double fControl_Deviation (double ar_MA[], // массив входящих значений bool& fb_Condition, // состояние тренда int& fi_cmd, // "знак тренда" int& fi_Trend, // тренд double fd_Deviation = 0) // расхождение м\у МАшками { double ld_Deviation = NDD (ar_MA[0] - ar_MA[1]); //---- //---- Если фиксируем на баре пересечение или горизонтальное расположение МА - выходим if (ld_Deviation == 0.0) return (0.0); //---- Проверяем расхождение на нужную величину (если задано) if (fd_Deviation != 0.0) {if (MathAbs (ld_Deviation) < fd_Deviation) return (0.0);} if (ld_Deviation > 0.0) {fb_Condition = (ld_Deviation >= 0.0); fi_Trend = BULL;} else {fb_Condition = (ld_Deviation <= 0.0); fi_Trend = BEAR; fi_cmd = -1;} //---- return (ld_Deviation); } //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+コメントから理解できるように、1МАの傾きの結果(MA_K_Period <= 1.0の時)、または2МАの交差の結果(MA_K_Period > 1.0の時)、信号が得られることがあります。第2MAの周期は、それ自体で計算されます(本機能の外)。 bia_PeriodMA[0] = MA_Period; bia_PeriodMA[1] = MA_Period * MA_K_Period;また、2本のMAが分岐する条件(fd_Deviation > 0.0のとき)を関数内で指定することができます。また、交差の事実を追跡したり(fb_ControlBeginChangeTrend = TRUE)、FastとSlowを相対的に見つけることだけを固定することもできます。 このコードがどのように機能するかを見るために、この関数のシグナルで矢印を描くインジケータをアーカイブに配置しました。Signal_MA.tpl (1つのMA用) または Signal_MA2.tpl (2つのMA用) を使用して起動します。ちなみに、MAには様々な種類があります。 ファイル: signal_ma.zip 185 kb Victor Nikolaev 2012.11.14 11:01 #5058 TarasBY:ここでは、MAからの信号を受信する関数の別のバリエーションを紹介します。コメントからわかるように、МА1個分の傾き(MA_K_Period <= 1.0の場合)と2個のMAの交差(MA_K_Period > 1.0の場合)に基づいて信号を得ることができます。第2MAの周期は、それ自体で計算されます(本機能の外)。また、2本のMAが分岐する条件(fd_Deviation > 0.0のとき)を関数内で指定することができます。また、交差の事実を追跡したり(fb_ControlBeginChangeTrend = TRUE)、FastとSlowを相対的に見つけることだけを固定することもできます。 このコードがどのように機能するかを見るために、この関数のシグナルで矢印を描くインジケータをアーカイブに配置しました。ちなみに、MAが違う場合もあります。 インジケーターの作業を迅速に行いたい場合は、下記までご連絡ください。 TarasBY 2012.11.14 11:26 #5059 Vinin: インジケーターの高速化を希望する場合 指標とするならば、どのようなものですか?- マシュキをカウントするやつ?いずれにせよ、面白いことになりそうですね。 Dimka-novitsek 2012.11.14 17:49 #5060 こんにちは。注文修正エラー 4051。1時間ほど考えていた。そこに正しいパラメータがあるように思える!!!簡潔に、一音一音。パラメータ price は、OrderOpenPrice() の注文開始価格 であり、標準的なものです。ストッププライスはオープンプライスより10ポイント低いところにあり、そのプライスを記憶しています。注文を開くときに変数tsenaに格納します。 利益が出ているものと出ていないもの、2つの注文があります。クリアしているようです。エラーは何ですか?他に何があるんだ? そうですね、あまり関係ないですが、条件はクリアしているようです。つまり、価格が30ポイント動いたので、条件が成立した(tsena+30*Point)。perenos=trueを一度設定しました。これらの条件は実際に動作しているようです。私自身、どう考えたらいいのかわからないんです。perenos=true;これらの条件もうまくいかなかったので、実際に一度着用しています。 bool napravlenieCCI=false; if( CCI_50S<100&&CCI_50>100 ||CCI_50S<0&&CCI_50>0|| CCI_50S<-100&&CCI_50>-100 )napravlenieCCI=true;// if( CCI_50S>CCI_50&& )napravlenieCCI=false; bool wishseLMA=false;//Свеча закрывается или находится выше LMA if (Bid>LMA_100) wishseLMA=true;Print ("до условияsrabotka " ,srabotka );Alert("до условияsrabotka " ,srabotka ); if (EMA_20S>EMA_10S&&EMA_20<EMA_10&&napravlenieCCI&&wishseLMA&&!srabotka) {/// нашли пирисечение сверху вниз и направление CCI вверх RefreshRates(); int tacket=OrderSend (Symbol( ), OP_BUY, lot,NormalizeDouble(Ask, Digits), 5, NormalizeDouble( Ask- (35*Point),Digits), NormalizeDouble( Ask+( 45*Point),Digits), NULL, 450, 0, CLR_NONE); int Error=GetLastError();if (Error==0){ Sleep(2000); RefreshRates(); double profit = NormalizeDouble( Ask+( 45*Point),Digits); tsena=Ask; perenos = false; int tucket=OrderSend (Symbol( ), OP_BUY, lot,NormalizeDouble(Ask, Digits), 5, NormalizeDouble( Ask- (35*Point),Digits), 0, NULL, 450, 0, CLR_NONE); if (Error==0) srabotka= true; }} if (Error!=0){ string errorcomment = "Ошибка открытия ордера OP_BUY" + " " + Symbol() + " " + ErrorDescript(Error); Print (errorcomment);} if(tsena+30*Point<Ask&&!perenos){ OrderModify( tacket, OrderOpenPrice(), tsena-10*Point, OrderTakeProfit(), 0, CLR_NONE); Error=GetLastError();if (Error==0){ OrderModify( tucket, OrderOpenPrice(), tsena-10*Point, OrderTakeProfit(), 0, CLR_NONE); Error=GetLastError();if (Error==0){ perenos=true;}}} if (Error!=0){ errorcomment = "Ошибка модификайции ордера OP_BUY" + " " + Symbol() + " " + ErrorDescript(Error); Print (errorcomment);BreakPoint();} 1...499500501502503504505506507508509510511512513...631 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
MT4口座で、マイナスでロックが開けられる口座はありますか?純粋に興味本位で聞いています。別の掲示板で紛争が発生した。そのようなアカウントは存在すると聞いていますDD
余計な質問がないように、ここで一例を挙げておきます。
ボリュームNで1つの取引を開始しました。あなたの端末では、「Free:」の行の後に「-XXX.XX」と表示されています...。ボリュームNで開錠できるようになるのか!通常のアカウントではそうはいかないと思います。しかも、特別会計もあるとのこと!?:))))))信じられない...
その答えが届いた...ショックだ...。
この "シェフ "たちは、もう "おバカなピノキオ "を誘い出す術を知らないのだ!
テスターではコリヤ・モルゾフにしか会えません。極端にならないように、ワーカーズカウンセラーに制限をかけました;))
みなさん、こんにちは。ベットできる最大ロットはどこで、どのように調べればよいのですか?
それについては、すでに別のスレッドで質問されています。回答がありました...しかし、彼はコードを理解しているわけではなく、自分で書いているのです。
彼はスクリプト(既製の解決策-キーを押す(スクリプトを実行する)-画面を見る)を求めています。
r772ra さん、すごい!キム関数にもっと注目すべきですね!ありがとうございます。
すでに別のスレッドで質問されています。回答がありました...しかし、彼はコードを理解しているわけではなく、自分で書いているのです。
スクリプト(既成のソリューション - キーを押す(スクリプトを実行する) - 画面を見る)が必要である。
あとは、私たちの口座に投資してもらうだけです。:))
あとは、私たちの口座に投資してもらうだけです。:))
良いアイデアだが、実現が難しい
もう、わけがわからなくなってきました。ここでは3つの機能を紹介し、それぞれが特定のインジケーターの信号を受信します。
全指標からの総合信号を受信し、売買の 判断を行う機能。
これは一般的なシグナルを受け取るメイン関数です。ここでは、もちろんすべてのバーを通過するループを通してインデックスの値を取得します。そして、得られた値は、これらの値が必要とされる適切な関数、すなわち関数に参照渡しされる。
int GetCrossingMa(double& i_maFast1, double& i_maFast2, double& i_maSlow1, double& i_maSlow2).
int GetStochSignal(double& stochD1, double& stochD2, double& stochK1, double& stochK2)
void GetMomentumSignal()も原理的には置くことができる。
このように、指標の計算はすべて、信号を得るという一大機能に集約されることになる。この場合、すべてが論理的である...
ビクター!論理はあっても、知識はそうそうないんですね。続けていれば、前者は教科書よりも先に進むことができますし、後者を「制覇」するためには、まずそれ(教科書)から始めなければなりません。まだ論理的なコード構造を構築する準備ができていないのであれば、アルファベット順に戻してください。
P.S. あなたのコードで「目に留まったもの」。
関数GetSignal()において、2行の交差を探すためにfor ループを使ってもよいのですが、個人的な好みもありますが、while ループを使ったほうがよいでしょう。そもそも、今言ったことを実行させるためには、「実行は赦されない」のように括弧を動かす必要があるのです。なぜか、この(結果)関数には、GetStochSignal()とGetMomentumSignal()の2つの関数の結果が欠落しています。
関数 GetCrossingMa() および GetStochSignal() では、パラメータを参照渡しする意味がありません。なぜなら、関数内のこれらの変数がその値を変化させるなら、それは理にかなっているからです。
void GetMomentumSignal()関数はNOTHINGを返します。
外から見るほうが悪い」のは認めますが......。:)))
ここでは、MAsh(s)から信号を取得する関数の別のバリエーションを紹介します。
コメントから理解できるように、1МАの傾きの結果(MA_K_Period <= 1.0の時)、または2МАの交差の結果(MA_K_Period > 1.0の時)、信号が得られることがあります。第2MAの周期は、それ自体で計算されます(本機能の外)。
また、2本のMAが分岐する条件(fd_Deviation > 0.0のとき)を関数内で指定することができます。また、交差の事実を追跡したり(fb_ControlBeginChangeTrend = TRUE)、FastとSlowを相対的に見つけることだけを固定することもできます。
このコードがどのように機能するかを見るために、この関数のシグナルで矢印を描くインジケータをアーカイブに配置しました。Signal_MA.tpl (1つのMA用) または Signal_MA2.tpl (2つのMA用) を使用して起動します。ちなみに、MAには様々な種類があります。
ここでは、MAからの信号を受信する関数の別のバリエーションを紹介します。
コメントからわかるように、МА1個分の傾き(MA_K_Period <= 1.0の場合)と2個のMAの交差(MA_K_Period > 1.0の場合)に基づいて信号を得ることができます。第2MAの周期は、それ自体で計算されます(本機能の外)。
また、2本のMAが分岐する条件(fd_Deviation > 0.0のとき)を関数内で指定することができます。また、交差の事実を追跡したり(fb_ControlBeginChangeTrend = TRUE)、FastとSlowを相対的に見つけることだけを固定することもできます。
このコードがどのように機能するかを見るために、この関数のシグナルで矢印を描くインジケータをアーカイブに配置しました。ちなみに、MAが違う場合もあります。
インジケーターの作業を迅速に行いたい場合は、下記までご連絡ください。
インジケーターの高速化を希望する場合
こんにちは。注文修正エラー 4051。1時間ほど考えていた。そこに正しいパラメータがあるように思える!!!簡潔に、一音一音。パラメータ price は、OrderOpenPrice() の注文開始価格 であり、標準的なものです。
ストッププライスはオープンプライスより10ポイント低いところにあり、そのプライスを記憶しています。注文を開くときに変数tsenaに格納します。
利益が出ているものと出ていないもの、2つの注文があります。クリアしているようです。エラーは何ですか?他に何があるんだ?
そうですね、あまり関係ないですが、条件はクリアしているようです。つまり、価格が30ポイント動いたので、条件が成立した(tsena+30*Point)。
perenos=trueを一度設定しました。これらの条件は実際に動作しているようです。
私自身、どう考えたらいいのかわからないんです。
perenos=true;これらの条件もうまくいかなかったので、実際に一度着用しています。