コーディングの方法は? - ページ 308 1...301302303304305306307308309310311312313314315...347 新しいコメント tkuan77 2012.07.23 12:34 #3071 こんにちは、Mladenです。 ストキャスティックのコードに出会いました。しかし、それを自分のシステムに取り込むと何も起こりません。このコードが何をするものなのか、一緒に確認することはできますか? http://www.forexmt4.com/mt_yahoo/Color%20Stochastic%20v1[ 1].04.mq4 回答 テランス Mladen Rakic 2012.07.23 12:51 #3072 ... ここに掲載されているものを試してみてください :https://www.mql5.com/en/forum/175297/page3 またはこちら:https://www.mql5.com/en/forum/177239/page2 テストしたところ、うまくいきました。 tkuan77: こんにちは、Mladen。私は、ストキャスティックであなたが行ったコードに出会いました。しかし、それを私のシステムに取り込んでも、何も起こりません。このコードが何をするものなのか、一緒に確認することは可能でしょうか? http://www.forexmt4.com/mt_yahoo/Color%20Stochastic%20v1[ 1].04.mq4 質問 テランス 削除済み 2012.07.24 06:49 #3073 これは不思議だ。 南京錠の問題をもう少し詳しく調べてみました。どうやらUAC(ユーザーアカウント制御)の設定に関係があるようなので、windows7のコントロールパネルでUACを完全にオフにしました。再起動したら、ファイルから南京錠が消えているのに気づきました。開いてみると、私がこのフォーラムに投稿したファイルと同じでした。同じファイルなのに、この数週間書いてきたコードとは全く違っています。私は、自分のコーディング作業をすべて失ったと思いました。UACをオンに戻して再起動すると、南京錠が戻り、私が書いたコードはまた元通りになりました。 しかし、そのコードをコンパイルしようとすると、たくさんのエラーを拾ってしまうのです。しかし、そのエラーはこのコードからではなく、UACをオフにしたときの全く別のコードからなのです-これは、他のコードでしか使われていない変数を拾っているのでわかります。 新しいEAを開いて、このコードをすべて手作業で入力して保存する必要がありそうです。 Mladen Rakic 2012.07.24 07:40 #3074 ... Windows7(の保護機能)の通常の問題です。 Windows7でそれを避ける最も簡単な方法は、Cとは別のパーティションにメタトレーダーをインストールすることで、その種の問題は発生しません。 crsnape@btinternet.com: これは奇妙なことです。 南京錠の問題をもう少し詳しく調べてみました。どうやらUAC(ユーザーアカウント制御)の設定に関係するようなので、windows7のコントロールパネルでUACを完全にオフにしました。再起動したら、ファイルから南京錠が消えているのに気づきました。開いてみると、私がこのフォーラムに投稿したファイルと同じでした。同じファイルなのに、この数週間書いてきたコードとは全く違っています。私は、自分のコーディング作業をすべて失ったと思いました。UACをオンに戻して再起動すると、南京錠が戻り、私が書いたコードはまた元通りになりました。 しかし、そのコードをコンパイルしようとすると、大量のエラーを拾ってしまうのです。しかし、そのエラーはこのコードからではなく、UACをオフにしたときの全く別のコードからなのです-これは、他のコードでしか使われていない変数を拾っているからです。 新しいEAを開いて、このコードをすべて手作業で入力して保存する必要がありそうです。 削除済み 2012.07.25 05:55 #3075 やっとまともに動くEAができました。私は自分のコードをメモ帳にコピーし、UACをオフにして、新しいEAファイルに貼り付けました。そして、なぜ私の関数がおかしくなっていたのかがわかりました-私はint変数をnormalizeddoubleの中に入れていました。このようなことができないとは知りませんでしたが、今はできます-それを理解するのに1週間しかかかりませんでした!:/ とにかく、次のように書きました。 if (VariableRisk == true) Risk = GetRiskShort (LastOpenTicket, RiskShort); if (VariableRisk == false) Risk = StaticRisk; そして、このように短縮できないかと考えていました。 if (VariableRisk == true) { Risk = GetRiskShort (LastOpenTicket, RiskShort); else Risk = StaticRisk; } あと、こんなことも書いています。 //--- ロング時のテイクプロフィットポジションを 計算する関数 double GetTPPriceLong (double SLPriceLong, int RiskRewardRatio, int StaticTP, bool AutoCalcTakeProfit) { Double GetTPPriceLong (double SLPriceLong, int RiskRewardRatio, int StaticTP, bool AutoCalcTakeProfit) { double TPPriceLong = 0; if (AutoCalcTakeProfit == true) { RefreshRates(); TPPriceLong = 注文開始価格() + ((注文開始価格() - SLPriceLong))* RiskRewardRatio); Print("利食いポジションが正常に計算されました"); (TPPriceLong)を返します。 } if (AutoCalcTakeProfit == false) { RefreshRates(); TPPriceLong = OrderOpenPrice() + (StaticTP * 0.0001); Print("静的テイクプロフィットポジションが正常に計算されました"); return (TPPriceLong)。 } そして、このように短縮できないかと考えていました。 //--- ロング時の利食いポジションを計算する関数 double GetTPPriceLong (double SLPriceLong, int RiskRewardRatio, int StaticTP, bool AutoCalcTakeProfit) { double TPPriceLong = 0; RefreshRates(); if (AutoCalcTakeProfit == true) { TPPriceLong = 注文開始価格() + ((注文開始価格() - SLPriceLong))* RiskRewardRatio); Print("利食いポジションが正常に計算されました"); else TPPriceLong = OrderOpenPrice() + (StaticTP * 0.0001); Print("静的利食い位置が正常に計算されました"); return (TPPriceLong)。 } そして最後の質問ですが、EAに柔軟性を持たせるために、タイムフレームを外部変数として定義したいのです。シグナルチャートはD1、トリガーチャートはH4とします。そこで、外部変数でこんなことができないか。 extern int SignalChart = PERIOD_D1; extern int TriggerChart = PERIOD_H4; そして、それを参照するには、例えば次のようにします。 SlowMACurrent = iMA(Symbol(), SignalChart, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1); How to code? EAが複数のペアで実行されない、助けが必要 [警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 Mladen Rakic 2012.07.25 07:18 #3076 この部分について: SlowMACurrent = iMA(Symbol(), SignalChart, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1)とします。 そう、これは100%正しい使い方です(クローズドバーを使っている点まで(この例ではシフトが1に設定されています)、テストでクローズドバーを使うことによって、マルチタイムフレームでオープンバーを使う際の通常のトラップを回避しようとしているのです)。 crsnape@btinternet.com。 やっとまともに動くEAができました。このEAを作るために、私は自分のコードをメモ帳にコピーし、UACをオフにして、新しいEAファイルに貼り付けました。そして、なぜ私の関数がおかしくなっていたのかがわかりました-私はint変数をnormalizeddoubleの中に入れていました。このようなことができないとは知りませんでしたが、今はできます-それを理解するのに1週間しかかかりませんでした!:/ともかく、こんなことを書いてみました。 if (VariableRisk == true) Risk = GetRiskShort (LastOpenTicket, RiskShort); if (VariableRisk == false) Risk = StaticRisk; そして、このように短縮できないかと考えていました。 if (VariableRisk == true) { Risk = GetRiskShort (LastOpenTicket, RiskShort); else Risk = StaticRisk; } あと、こんなことも書いています。 //--- ロング時のテイクプロフィットポジションを計算する関数 double GetTPPriceLong (double SLPriceLong, int RiskRewardRatio, int StaticTP, bool AutoCalcTakeProfit) { Double GetTPPriceLong (double SLPriceLong, int RiskRewardRatio, int StaticTP, bool AutoCalcTakeProfit) { double TPPriceLong = 0; if (AutoCalcTakeProfit == true) { RefreshRates(); TPPriceLong = 注文開始価格() + ((注文開始価格() - SLPriceLong))* RiskRewardRatio); Print("利食いポジションが正常に計算されました"); (TPPriceLong)を返します。 } if (AutoCalcTakeProfit == false) { RefreshRates(); TPPriceLong = OrderOpenPrice() + (StaticTP * 0.0001); Print("静的テイクプロフィットポジションが正常に計算されました"); return (TPPriceLong)。 } そして、このように短縮できないかと考えていました。 //--- ロング時の利食いポジションを計算する関数 double GetTPPriceLong (double SLPriceLong, int RiskRewardRatio, int StaticTP, bool AutoCalcTakeProfit) { double TPPriceLong = 0; RefreshRates(); if (AutoCalcTakeProfit == true) { TPPriceLong = 注文開始価格() + ((注文開始価格() - SLPriceLong))* RiskRewardRatio); Print("利食いポジションが正常に計算されました"); else TPPriceLong = OrderOpenPrice() + (StaticTP * 0.0001); Print("静的利食い位置が正常に計算されました"); return (TPPriceLong)。 } そして最後の質問ですが、EAに柔軟性を持たせるために、タイムフレームを外部変数として定義したいのです。シグナルチャートはD1、トリガーチャートはH4とします。そこで、外部変数でこんなことができないか。 extern int SignalChart = PERIOD_D1; extern int TriggerChart = PERIOD_H4; そして、それを例えばこうして参照します。 SlowMACurrent = iMA(Symbol(), SignalChart, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1)です。 削除済み 2012.07.25 17:40 #3077 こんにちは、私はエラーコード 4059を取得しています。 err_func_not_allowed_in_testing[/td] が表示されます。 4059[TD]Function is not allowed in testing mode. このような場合、どのように対処すればよいでしょうか? joelnelson 2012.07.25 19:57 #3078 このパラボリックサーのインジケーターに以下のコードを追加するのを手伝ってくれませんか? Pip: Mladenさん、ありがとうございます。私は理解するためにあなたの投稿を再読します、正直なところ、私はそれを読んで少し迷いましたが、それは私の無知を取る可能性が最も高いです。 私は何かあれば質問を投稿します。 ありがとうございました。 乾杯 ピップ 親愛なる友人へ。 あなたは、このパラボリックSARアラートparabolic_alert_mod.mq4INDICATORに 次のコードを追加するのに役立つことができる? 私はEAを探しているわけではありません。可能であれば、少なくともインジケータにSHIFTオプションを追加してください。 extern double TakeProfit = 50; extern double Lots = 0.1; extern double TrailingStop = 30; extern double SAR_Step = 0.02; extern double SAR_Maximum = 0.2; extern double Shift=1; ファイル: parabolic_alert_mod.mq4 9 kb Mladen Rakic 2012.07.26 04:40 #3079 ... ジョエル・ネルソン TakeProfit、Lots、TrailingStopはパラボリックサーの計算方法とは関係ありません(これらのパラメータは明らかにサーを使っているEAから取得したものです)。そのため、EAでない場合、これらのパラメータを意味ある形で追加することは不可能です。 また、パラメータのシフトは、テストされたバーを参照しています(パラボリックSARは移動平均が通常シフトすることができるので、シフトしません)これらのパラメータは、おそらく組み込みのSARへの呼び出しのためのものであり、組み込みのSARは次の形式を有しています。 double iSAR([/TD] [TD]string symbol,int timeframe,double step,double maximum,int shift) この場合、シフト1は、パラボリックサーの最初のクローズドバーの値をテストするために使用されます。 joelnelson: 親愛なる友人へあなたは、このパラボリックサーの警告parabolic_alert_mod.mq4INDICATORに 次のコードを追加するのに役立ちますすることができますか? 私はEAを探しているわけではありません。可能であれば、少なくともインジケータにSHIFTオプションを追加してください。 extern double TakeProfit = 50; extern double Lots = 0.1; extern double TrailingStop = 30; extern double SAR_Step = 0.02; extern double SAR_Maximum = 0.2。 extern double Shift=1; Mladen Rakic 2012.07.26 05:23 #3080 ... このエラーは、いくつかの関数で返されることがあります。 テストでそのエラーを引き起こす可能性のある関数は、以下の通りです。 マーケット情報メッセージボックス 送信FTP メール送信 WindowIsVisible ウィンドウの検索 ウィンドウハンドル そのため、上記の関数のいくつかを呼び出すと、次のようなエラーが発生しました。 crsnape@btinternet.com: こんにちは、私はエラーコード4059を取得しています。 ERR_FUNC_NOT_ALLOWED_IN_TESTING[/TD]4059[TD]Function is not allowed in testing mode. Iveは検索を行いましたが、カントはそれが何を意味するのかについての詳細な情報を見つけることができますか? 1...301302303304305306307308309310311312313314315...347 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは、Mladenです。
ストキャスティックのコードに出会いました。しかし、それを自分のシステムに取り込むと何も起こりません。このコードが何をするものなのか、一緒に確認することはできますか?
http://www.forexmt4.com/mt_yahoo/Color%20Stochastic%20v1[ 1].04.mq4
回答
テランス
...
ここに掲載されているものを試してみてください :https://www.mql5.com/en/forum/175297/page3
またはこちら:https://www.mql5.com/en/forum/177239/page2
テストしたところ、うまくいきました。
こんにちは、Mladen。
私は、ストキャスティックであなたが行ったコードに出会いました。しかし、それを私のシステムに取り込んでも、何も起こりません。このコードが何をするものなのか、一緒に確認することは可能でしょうか?
http://www.forexmt4.com/mt_yahoo/Color%20Stochastic%20v1[ 1].04.mq4
質問
テランスこれは不思議だ。
南京錠の問題をもう少し詳しく調べてみました。どうやらUAC(ユーザーアカウント制御)の設定に関係があるようなので、windows7のコントロールパネルでUACを完全にオフにしました。再起動したら、ファイルから南京錠が消えているのに気づきました。開いてみると、私がこのフォーラムに投稿したファイルと同じでした。同じファイルなのに、この数週間書いてきたコードとは全く違っています。私は、自分のコーディング作業をすべて失ったと思いました。UACをオンに戻して再起動すると、南京錠が戻り、私が書いたコードはまた元通りになりました。
しかし、そのコードをコンパイルしようとすると、たくさんのエラーを拾ってしまうのです。しかし、そのエラーはこのコードからではなく、UACをオフにしたときの全く別のコードからなのです-これは、他のコードでしか使われていない変数を拾っているのでわかります。
新しいEAを開いて、このコードをすべて手作業で入力して保存する必要がありそうです。
...
Windows7(の保護機能)の通常の問題です。
Windows7でそれを避ける最も簡単な方法は、Cとは別のパーティションにメタトレーダーをインストールすることで、その種の問題は発生しません。
これは奇妙なことです。
南京錠の問題をもう少し詳しく調べてみました。どうやらUAC(ユーザーアカウント制御)の設定に関係するようなので、windows7のコントロールパネルでUACを完全にオフにしました。再起動したら、ファイルから南京錠が消えているのに気づきました。開いてみると、私がこのフォーラムに投稿したファイルと同じでした。同じファイルなのに、この数週間書いてきたコードとは全く違っています。私は、自分のコーディング作業をすべて失ったと思いました。UACをオンに戻して再起動すると、南京錠が戻り、私が書いたコードはまた元通りになりました。
しかし、そのコードをコンパイルしようとすると、大量のエラーを拾ってしまうのです。しかし、そのエラーはこのコードからではなく、UACをオフにしたときの全く別のコードからなのです-これは、他のコードでしか使われていない変数を拾っているからです。
新しいEAを開いて、このコードをすべて手作業で入力して保存する必要がありそうです。やっとまともに動くEAができました。私は自分のコードをメモ帳にコピーし、UACをオフにして、新しいEAファイルに貼り付けました。そして、なぜ私の関数がおかしくなっていたのかがわかりました-私はint変数をnormalizeddoubleの中に入れていました。このようなことができないとは知りませんでしたが、今はできます-それを理解するのに1週間しかかかりませんでした!:/
とにかく、次のように書きました。
if (VariableRisk == true) Risk = GetRiskShort (LastOpenTicket, RiskShort);
if (VariableRisk == false) Risk = StaticRisk;
そして、このように短縮できないかと考えていました。
if (VariableRisk == true)
{
Risk = GetRiskShort (LastOpenTicket, RiskShort);
else Risk = StaticRisk;
}
あと、こんなことも書いています。
//--- ロング時のテイクプロフィットポジションを 計算する関数
double GetTPPriceLong (double SLPriceLong, int RiskRewardRatio, int StaticTP, bool AutoCalcTakeProfit) { Double GetTPPriceLong (double SLPriceLong, int RiskRewardRatio, int StaticTP, bool AutoCalcTakeProfit)
{
double TPPriceLong = 0;
if (AutoCalcTakeProfit == true)
{
RefreshRates();
TPPriceLong = 注文開始価格() + ((注文開始価格() - SLPriceLong))* RiskRewardRatio);
Print("利食いポジションが正常に計算されました");
(TPPriceLong)を返します。
}
if (AutoCalcTakeProfit == false)
{
RefreshRates();
TPPriceLong = OrderOpenPrice() + (StaticTP * 0.0001);
Print("静的テイクプロフィットポジションが正常に計算されました");
return (TPPriceLong)。
}
そして、このように短縮できないかと考えていました。
//--- ロング時の利食いポジションを計算する関数
double GetTPPriceLong (double SLPriceLong, int RiskRewardRatio, int StaticTP, bool AutoCalcTakeProfit)
{
double TPPriceLong = 0;
RefreshRates();
if (AutoCalcTakeProfit == true)
{
TPPriceLong = 注文開始価格() + ((注文開始価格() - SLPriceLong))* RiskRewardRatio);
Print("利食いポジションが正常に計算されました");
else TPPriceLong = OrderOpenPrice() + (StaticTP * 0.0001);
Print("静的利食い位置が正常に計算されました");
return (TPPriceLong)。
}
そして最後の質問ですが、EAに柔軟性を持たせるために、タイムフレームを外部変数として定義したいのです。シグナルチャートはD1、トリガーチャートはH4とします。そこで、外部変数でこんなことができないか。
extern int SignalChart = PERIOD_D1;
extern int TriggerChart = PERIOD_H4;
そして、それを参照するには、例えば次のようにします。
SlowMACurrent = iMA(Symbol(), SignalChart, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
この部分について:
そう、これは100%正しい使い方です(クローズドバーを使っている点まで(この例ではシフトが1に設定されています)、テストでクローズドバーを使うことによって、マルチタイムフレームでオープンバーを使う際の通常のトラップを回避しようとしているのです)。
やっとまともに動くEAができました。このEAを作るために、私は自分のコードをメモ帳にコピーし、UACをオフにして、新しいEAファイルに貼り付けました。そして、なぜ私の関数がおかしくなっていたのかがわかりました-私はint変数をnormalizeddoubleの中に入れていました。このようなことができないとは知りませんでしたが、今はできます-それを理解するのに1週間しかかかりませんでした!:/
ともかく、こんなことを書いてみました。
if (VariableRisk == true) Risk = GetRiskShort (LastOpenTicket, RiskShort);
if (VariableRisk == false) Risk = StaticRisk;
そして、このように短縮できないかと考えていました。
if (VariableRisk == true)
{
Risk = GetRiskShort (LastOpenTicket, RiskShort);
else Risk = StaticRisk;
}
あと、こんなことも書いています。
//--- ロング時のテイクプロフィットポジションを計算する関数
double GetTPPriceLong (double SLPriceLong, int RiskRewardRatio, int StaticTP, bool AutoCalcTakeProfit) { Double GetTPPriceLong (double SLPriceLong, int RiskRewardRatio, int StaticTP, bool AutoCalcTakeProfit)
{
double TPPriceLong = 0;
if (AutoCalcTakeProfit == true)
{
RefreshRates();
TPPriceLong = 注文開始価格() + ((注文開始価格() - SLPriceLong))* RiskRewardRatio);
Print("利食いポジションが正常に計算されました");
(TPPriceLong)を返します。
}
if (AutoCalcTakeProfit == false)
{
RefreshRates();
TPPriceLong = OrderOpenPrice() + (StaticTP * 0.0001);
Print("静的テイクプロフィットポジションが正常に計算されました");
return (TPPriceLong)。
}
そして、このように短縮できないかと考えていました。
//--- ロング時の利食いポジションを計算する関数
double GetTPPriceLong (double SLPriceLong, int RiskRewardRatio, int StaticTP, bool AutoCalcTakeProfit)
{
double TPPriceLong = 0;
RefreshRates();
if (AutoCalcTakeProfit == true)
{
TPPriceLong = 注文開始価格() + ((注文開始価格() - SLPriceLong))* RiskRewardRatio);
Print("利食いポジションが正常に計算されました");
else TPPriceLong = OrderOpenPrice() + (StaticTP * 0.0001);
Print("静的利食い位置が正常に計算されました");
return (TPPriceLong)。
}
そして最後の質問ですが、EAに柔軟性を持たせるために、タイムフレームを外部変数として定義したいのです。シグナルチャートはD1、トリガーチャートはH4とします。そこで、外部変数でこんなことができないか。
extern int SignalChart = PERIOD_D1;
extern int TriggerChart = PERIOD_H4;
そして、それを例えばこうして参照します。
SlowMACurrent = iMA(Symbol(), SignalChart, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1)です。こんにちは、私はエラーコード 4059を取得しています。
err_func_not_allowed_in_testing[/td] が表示されます。
このような場合、どのように対処すればよいでしょうか?
このパラボリックサーのインジケーターに以下のコードを追加するのを手伝ってくれませんか?
Mladenさん、ありがとうございます。
私は理解するためにあなたの投稿を再読します、正直なところ、私はそれを読んで少し迷いましたが、それは私の無知を取る可能性が最も高いです。 私は何かあれば質問を投稿します。
ありがとうございました。
乾杯
ピップ親愛なる友人へ。
あなたは、このパラボリックSARアラートparabolic_alert_mod.mq4INDICATORに 次のコードを追加するのに役立つことができる?
私はEAを探しているわけではありません。可能であれば、少なくともインジケータにSHIFTオプションを追加してください。
extern double TakeProfit = 50;
extern double Lots = 0.1;
extern double TrailingStop = 30;
extern double SAR_Step = 0.02;
extern double SAR_Maximum = 0.2;
extern double Shift=1;
...
ジョエル・ネルソン
TakeProfit、Lots、TrailingStopはパラボリックサーの計算方法とは関係ありません(これらのパラメータは明らかにサーを使っているEAから取得したものです)。そのため、EAでない場合、これらのパラメータを意味ある形で追加することは不可能です。
また、パラメータのシフトは、テストされたバーを参照しています(パラボリックSARは移動平均が通常シフトすることができるので、シフトしません)これらのパラメータは、おそらく組み込みのSARへの呼び出しのためのものであり、組み込みのSARは次の形式を有しています。
この場合、シフト1は、パラボリックサーの最初のクローズドバーの値をテストするために使用されます。
親愛なる友人へ
あなたは、このパラボリックサーの警告parabolic_alert_mod.mq4INDICATORに 次のコードを追加するのに役立ちますすることができますか?
私はEAを探しているわけではありません。可能であれば、少なくともインジケータにSHIFTオプションを追加してください。
extern double TakeProfit = 50;
extern double Lots = 0.1;
extern double TrailingStop = 30;
extern double SAR_Step = 0.02;
extern double SAR_Maximum = 0.2。
extern double Shift=1;...
このエラーは、いくつかの関数で返されることがあります。
テストでそのエラーを引き起こす可能性のある関数は、以下の通りです。
そのため、上記の関数のいくつかを呼び出すと、次のようなエラーが発生しました。
こんにちは、私はエラーコード4059を取得しています。