[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 186 1...179180181182183184185186187188189190191192193...652 新しいコメント Алексей Тарабанов 2011.09.17 23:31 #1851 Vinin: if(c %2==0)//偶数 何に対しても平等にダブルチェックはしない。 falmera 2011.09.18 06:30 #1852 既に終了した損切り注文のforループを実行する方法を教えてください。それとも、誰かがすでに、損切りトレードが終了したら、ロットを掛けるという機能をもっているのでしょうか? Victor Nikolaev 2011.09.18 07:36 #1853 tara: 何でもかんでも平等にダブルチェックはしない。 以前、整数のみと書いたはずなのですが。それとも、よく読まないのですか? ヴァイン 2011年09月18日 03時14分|削除ニック○○○○。 パズルへの質問)。 数字が偶数か奇数かをプログラムで 判断する方法とは? 例えば、こんな感じです。 int a、b、c。 a=2; b=3; c=a+b cは偶数か奇数か? 数字が整数の場合、2で割った余りを確認する。 if (c % 2==0) //четное --- 2011.09.18 08:23 #1854 コードの誤りを明確にする 2 Qwuyt 2011.09.18 11:56 こんにちは。 どなたかコードを見て、私の間違いが何であるかをアドバイスしてください。コンパイル時にエラーが多発しました。初めてのEAで、まだ理解し始めたばかりです。Expert Advisorの考え方は以下の通りです。月曜日のある時間に、前週の終値からXポイント離れたところに、両方向に保留の注文を出します。金曜日、所定の時間になると成行注文を決済し、保留中の注文を削除します。以上です。 //+------------------------------------------------------------------+ //| Week.mq4 | //| Copyright © 2011, Qwuyt | //| | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, Qwuyt" #property link "" //--- input parameters extern double lot=0.01; //размер лота extern int tp=200; //тейк профит extern int sl=50; //стоплосс extern int move=100; //движение цены extern int hc=22; //час закрытия extern int ho=4; //час закрытия double BP; //цена открытия бай double SP; //цена открытия селл int Ticket; int Tip; //тип ордера int Curday; //день недели bool Ans = false; //ответ сервера после закрытия ордера //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { int Curday = DayOfWeek double BP = iClose(NULL,10080,1)+NormalizeDouble(move*Point,Digits); // double SP = iClose(NULL,10080,1)-NormalizeDouble(move*Point,Digits); if (ho >= Hour && Curday=1) //4 утра понедельника - открытие бай { OrderSend (Symbol(),OP_BUYSTOP,lot,BP,3,sl,tp,NULL,0,0,Red) } if (ho >= Hour && Curday=1) //4 утра понедельника - открытие селл { OrderSend (Symbol(),OP_SELLSTOP,lot,SP,3,sl,tp,NULL,0,0,Red) } while(true) //цикл закрытия орд. { if (Tip==0 && hc >= Hour && Curday=6) // Открыт ордер Buy, 22 часа пятницы закрыть { // RefreshRates(); // Обновление данных Ans=OrderClose(Ticket,lot,Bid,3); // Закрытие Buy return; // Выход из start() } if (Tip==1 && hc >= Hour && Curday=6) // Открыт ордер Sell, 22 часа пятницы закрыть { // RefreshRates(); // Обновление данных Ans=OrderClose(Ticket,lot,Bid,3); return; // Выход из start() } if (Tip==4||Tip==5 && hc >= Hour && Curday=6) // Открыт ордер Buy, 22 часа пятницы закрыть { // RefreshRates(); // Обновление данных Ans=OrderDelete(Ticket,CLR_NONE); // Закрытие Buy return; // Выход из start() } break; // Выход из while } Tip = OrderType(); return(); } 添付ファイル 週_1.mq4(4.52 KB) 929 abolk 2011年09月18日 12時00分 正|削除 を開始します。 1) 各オペレータの末尾に ; を付ける。 2)Hour() などの正しい関数を使う。 falmera 2011.09.18 08:54 #1855 Falmera: 既に終了した損切り注文のforループを実行する方法を教えてください。それとも、誰かがすでに、損切りトレードが終了したら、ロットを掛けるという機能をもっているのでしょうか? 何かコツはありますか? Andrey F. Zelinsky 2011.09.18 08:57 #1856 Falmera: というわけで、よろしくお願いします。 この機能を実装するための自分の試みを見せてください - 「初心者向けヘルプ」スレッド。 または、"search for last closed order "などで検索してください - この話題は昔からあります。 Роман 2011.09.18 09:01 #1857 Falmera: では、ヒントをください。 アバランチ支店のフクロウをご覧ください。 削除済み 2011.09.18 09:32 #1858 プログラミング言語を学習しているのですが、プログラムの動作が理解できなくて困っています。教科書を元にEAを書きましたが、少し違う動作原理でひねっています。 Expert Advisor は、2 つのムウイング平均をベースにしています。移動平均線が交差すると、注文が終了し、反対側の注文が開始されるという単純なものです。EAを書きましたが、問題なく動作しています。もちろん、若干のハンデはありますが、考え方に沿うものです。問題の全体像は次の通りです(太字)。 A=iMA(NULL,0,Period_MA_1,0,MODE_SMA, PRICE_CLOSE,1); // A B=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,1); // Bの場合 C=iMA(NULL,0,Period_MA_1,0,MODE_SMA,PRICE_CLOSE,2); // C D=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,2); // D 移動平均の計算方法を変えて(プラス記号を表示できる)、単純な方法(MODE_EEMA )ではなく指数法( MODE_SMA) 、さらにもう一つ(MODE_SMMA)、いわゆる平滑法を入れると、すべてがおかしくなります。EAは設定された期間の一番最初に注文を開き、最後に閉じるので、動作原理はさらに面白くなります(ストラテジーテスターで)。すなわち、1年間、期首に1つの取引を開始し、期末にそれを決済する。結果的にExpert Advisorでプラスになったが、そんなプラスは必要ない。自分でコインを使って買いか売りの注文を出し、1年後に勝っているか負けているかを見ることができるのです。ちなみに、MODE_SMAを MODE_LWMA (線形加重移動平均)に設定すると、プログラムは正常に動作 します。 何が問題なのか、アドバイスをお願いします。原理は同じですが、移動平均の計算方法が少し変わりました。 コード全体は添付ファイルのとおりです。 ここで返信をもらったが、実力がなく、メリットもない。4本の移動平均線を使っているとのことですが。これは真実ではありません、2つの移動平均がありますが、各移動平均は2つのバー(4配列呼び出しの合計、A、B、C、D)の値を取った:1および2。また、注文をクローズした場合、Totalの注文数を下げるべきと書かれていましたが、注文はOdertotal関数でカウントされており、注文をクローズすると、次の反復で注文合計自体が値を変えるので、その必要はありません。また、いわゆるマジックナンバーを使って注文を管理することも勧められていますが、私はまだその部分まで到達していません。繰り返しになりますが、MODE_SMAとMODE_LWMAを使用した場合はプログラムが動作しますが、MODE_EMAとMODE_SMMAを使用した場合は動作しません。理由を知っている人、答えを書いてください。 ファイル: ljzkfpg2jficantkgtolpzbd.mq4 11 kb [WARNING CLOSED!] Any newbie [警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 Errors, bugs, questions Всеволод 2011.09.18 09:50 #1859 Falmera: ヒントをください。 アバランチトピックに行けば、どんなロット増でも十分なアドバイザーがいますよ。右上のフォーラムを検索するか、googleで検索してください。 Victor Nikolaev 2011.09.18 10:18 #1860 neisseria: プログラミング言語を学習しているのですが、プログラムの動作が理解できなくて困っています。教科書を元にEAを書きましたが、少し違う動作原理でひねっています。 Expert Advisor は、2 つのムウイング平均をベースにしています。移動平均線が交差すると、注文が終了し、反対側の注文が開始されるという単純なものです。EAを作成し、問題なく動作しています。もちろん、若干のハンデはありますが、考え方に沿うものです。問題の全体像は次の通りです(太字)。 A=iMA(NULL,0,Period_MA_1,0,MODE_SMA, PRICE_CLOSE,1); // A B=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,1); // Bの場合 C=iMA(NULL,0,Period_MA_1,0,MODE_SMA,PRICE_CLOSE,2); // C D=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,2); // D 移動平均の計算方法を変えて(プラス記号を表示できる)、単純な方法(MODE_EEMA )ではなく指数法( MODE_SMA) 、さらにもう一つ(MODE_SMMA)、いわゆる平滑法を入れると、すべてがおかしくなります。EAは設定された期間の一番最初に注文を開き、最後に閉じるので、動作原理はさらに面白くなります(ストラテジーテスターで)。すなわち、1年間、期首に1つの取引を開始し、期末にそれを決済する。結果的にExpert Advisorでプラスになったが、そんなプラスは必要ない。自分でコインを使って買いか売りの注文を出し、1年後に勝っているか負けているかを見ることができるのです。ちなみに、MODE_SMAを MODE_LWMA (線形加重移動平均)に設定すると、プログラムは正常に動作 します。 何が問題なのか、アドバイスをお願いします。原理は同じですが、移動平均の計算方法が少し変わっただけです。 コード全体は添付ファイルのとおりです。 ここで返信をもらったが、実力がなく、メリットもない。4本の移動平均線を使っているとのことですが。これは真実ではありません、2つの移動平均がありますが、各移動平均は2つのバー(4配列呼び出しの合計、A、B、C、D)の値を取った:1および2。また、注文が閉じられたらTotalの注文数を下げるべきと書かれていましたが、注文はOdertotal関数を使ってカウントされており、注文を閉じると次の繰り返しで注文合計自体の値が変わるので、その必要はないです。また、いわゆるマジックナンバーを使って注文を管理することも勧められていますが、まだマニュアルのその部分には至っていません。繰り返しになりますが、MODE_SMAとMODE_LWMAを使用した場合はプログラムが動作しますが、MODE_EMAとMODE_SMMAを使用した場合は動作しません。理由を知っている人、答えを書いてください。 条件も再確認しておきます。そこに問題があるのかもしれない 1...179180181182183184185186187188189190191192193...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
if(c %2==0)//偶数
何に対しても平等にダブルチェックはしない。
何でもかんでも平等にダブルチェックはしない。
以前、整数のみと書いたはずなのですが。それとも、よく読まないのですか?
パズルへの質問)。
数字が偶数か奇数かをプログラムで 判断する方法とは?
例えば、こんな感じです。
int a、b、c。
a=2;
b=3;
c=a+b
cは偶数か奇数か?
数字が整数の場合、2で割った余りを確認する。
コードの誤りを明確にする
こんにちは。
どなたかコードを見て、私の間違いが何であるかをアドバイスしてください。コンパイル時にエラーが多発しました。初めてのEAで、まだ理解し始めたばかりです。Expert Advisorの考え方は以下の通りです。月曜日のある時間に、前週の終値からXポイント離れたところに、両方向に保留の注文を出します。金曜日、所定の時間になると成行注文を決済し、保留中の注文を削除します。以上です。
週_1.mq4(4.52 KB)
を開始します。
1) 各オペレータの末尾に ; を付ける。
2)Hour() などの正しい関数を使う。
既に終了した損切り注文のforループを実行する方法を教えてください。それとも、誰かがすでに、損切りトレードが終了したら、ロットを掛けるという機能をもっているのでしょうか?
何かコツはありますか?
というわけで、よろしくお願いします。
この機能を実装するための自分の試みを見せてください - 「初心者向けヘルプ」スレッド。
または、"search for last closed order "などで検索してください - この話題は昔からあります。
では、ヒントをください。
アバランチ支店のフクロウをご覧ください。
プログラミング言語を学習しているのですが、プログラムの動作が理解できなくて困っています。教科書を元にEAを書きましたが、少し違う動作原理でひねっています。
Expert Advisor は、2 つのムウイング平均をベースにしています。移動平均線が交差すると、注文が終了し、反対側の注文が開始されるという単純なものです。EAを書きましたが、問題なく動作しています。もちろん、若干のハンデはありますが、考え方に沿うものです。問題の全体像は次の通りです(太字)。
A=iMA(NULL,0,Period_MA_1,0,MODE_SMA, PRICE_CLOSE,1); // A
B=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,1); // Bの場合
C=iMA(NULL,0,Period_MA_1,0,MODE_SMA,PRICE_CLOSE,2); // C
D=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,2); // D
移動平均の計算方法を変えて(プラス記号を表示できる)、単純な方法(MODE_EEMA )ではなく指数法( MODE_SMA) 、さらにもう一つ(MODE_SMMA)、いわゆる平滑法を入れると、すべてがおかしくなります。EAは設定された期間の一番最初に注文を開き、最後に閉じるので、動作原理はさらに面白くなります(ストラテジーテスターで)。すなわち、1年間、期首に1つの取引を開始し、期末にそれを決済する。結果的にExpert Advisorでプラスになったが、そんなプラスは必要ない。自分でコインを使って買いか売りの注文を出し、1年後に勝っているか負けているかを見ることができるのです。ちなみに、MODE_SMAを MODE_LWMA (線形加重移動平均)に設定すると、プログラムは正常に動作 します。
何が問題なのか、アドバイスをお願いします。原理は同じですが、移動平均の計算方法が少し変わりました。
コード全体は添付ファイルのとおりです。
ここで返信をもらったが、実力がなく、メリットもない。4本の移動平均線を使っているとのことですが。これは真実ではありません、2つの移動平均がありますが、各移動平均は2つのバー(4配列呼び出しの合計、A、B、C、D)の値を取った:1および2。また、注文をクローズした場合、Totalの注文数を下げるべきと書かれていましたが、注文はOdertotal関数でカウントされており、注文をクローズすると、次の反復で注文合計自体が値を変えるので、その必要はありません。また、いわゆるマジックナンバーを使って注文を管理することも勧められていますが、私はまだその部分まで到達していません。繰り返しになりますが、MODE_SMAとMODE_LWMAを使用した場合はプログラムが動作しますが、MODE_EMAとMODE_SMMAを使用した場合は動作しません。理由を知っている人、答えを書いてください。
ヒントをください。
プログラミング言語を学習しているのですが、プログラムの動作が理解できなくて困っています。教科書を元にEAを書きましたが、少し違う動作原理でひねっています。
Expert Advisor は、2 つのムウイング平均をベースにしています。移動平均線が交差すると、注文が終了し、反対側の注文が開始されるという単純なものです。EAを作成し、問題なく動作しています。もちろん、若干のハンデはありますが、考え方に沿うものです。問題の全体像は次の通りです(太字)。
A=iMA(NULL,0,Period_MA_1,0,MODE_SMA, PRICE_CLOSE,1); // A
B=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,1); // Bの場合
C=iMA(NULL,0,Period_MA_1,0,MODE_SMA,PRICE_CLOSE,2); // C
D=iMA(NULL,0,Period_MA_2,0,MODE_SMA,PRICE_CLOSE,2); // D
移動平均の計算方法を変えて(プラス記号を表示できる)、単純な方法(MODE_EEMA )ではなく指数法( MODE_SMA) 、さらにもう一つ(MODE_SMMA)、いわゆる平滑法を入れると、すべてがおかしくなります。EAは設定された期間の一番最初に注文を開き、最後に閉じるので、動作原理はさらに面白くなります(ストラテジーテスターで)。すなわち、1年間、期首に1つの取引を開始し、期末にそれを決済する。結果的にExpert Advisorでプラスになったが、そんなプラスは必要ない。自分でコインを使って買いか売りの注文を出し、1年後に勝っているか負けているかを見ることができるのです。ちなみに、MODE_SMAを MODE_LWMA (線形加重移動平均)に設定すると、プログラムは正常に動作 します。
何が問題なのか、アドバイスをお願いします。原理は同じですが、移動平均の計算方法が少し変わっただけです。
コード全体は添付ファイルのとおりです。
ここで返信をもらったが、実力がなく、メリットもない。4本の移動平均線を使っているとのことですが。これは真実ではありません、2つの移動平均がありますが、各移動平均は2つのバー(4配列呼び出しの合計、A、B、C、D)の値を取った:1および2。また、注文が閉じられたらTotalの注文数を下げるべきと書かれていましたが、注文はOdertotal関数を使ってカウントされており、注文を閉じると次の繰り返しで注文合計自体の値が変わるので、その必要はないです。また、いわゆるマジックナンバーを使って注文を管理することも勧められていますが、まだマニュアルのその部分には至っていません。繰り返しになりますが、MODE_SMAとMODE_LWMAを使用した場合はプログラムが動作しますが、MODE_EMAとMODE_SMMAを使用した場合は動作しません。理由を知っている人、答えを書いてください。
条件も再確認しておきます。そこに問題があるのかもしれない