[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 59 1...525354555657585960616263646566...631 新しいコメント 削除済み 2012.04.07 16:51 #581 皆さん、本当にありがとうございました!全ては思い通りに動いています。スマイリーフェイスがあればいいのに、いっぱい入れたい :) Igor Makanu 2012.04.07 16:53 #582 oleg_felix: 売買が成立する時間帯を設定する方法を教えてください。 (開始時刻と終了時刻) こちらもご覧ください: https://www.mql5.com/ru/forum/135030 削除済み 2012.04.07 17:01 #583 助かりました!ありがとうございます!間に合いました。 削除済み 2012.04.07 17:16 #584 簡単なコマンドの書き方を教えてください。 - 注文を指定されたpips数のロスレス・ポジションに移行 させるために Igor Makanu 2012.04.07 17:24 #585 oleg_felix: 簡単なコマンドの書き方を教えてください。 - オープンオーダーで、トレードで一定の利益が出た時点で、ブレイクイーブン(スプレッドを考慮)になるようにストップロスを設定する。 同じマジックナンバーのオーダーを白黒に変換する関数がありますので、試してみてください。 extern int LevelWLoss = 100; // Уровень безубытка в пп extern int LevelProfit = 300; // Уровень профита в пп //+----------------------------------------------------------------------------+ //| Перенос стопа в безубыток | //+----------------------------------------------------------------------------+ void MovingInWL(int Magic) { int i, k; string sym; double ord_open,ord_TP,ord_SL; k = OrdersTotal()-1; sym = Symbol(); for (i=k; i>=0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sym && OrderMagicNumber()==Magic) { ord_open = OrderOpenPrice(); ord_TP = OrderTakeProfit(); ord_SL = OrderStopLoss(); if (OrderType()==OP_BUY) { if (NormalizeDouble(ord_SL,Digits)==NormalizeDouble(0,Digits) || NormalizeDouble(ord_SL-ord_open,Digits)<NormalizeDouble(LevelWLoss*Point,Digits)) { if (NormalizeDouble(Bid-ord_open,Digits)>NormalizeDouble(LevelProfit*Point,Digits)) { OrderModify(OrderTicket(), ord_open, NormalizeDouble(ord_open+LevelWLoss*Point,Digits), ord_TP, 0, Yellow); } } } if (OrderType()==OP_SELL) { if (NormalizeDouble(ord_SL,Digits)==NormalizeDouble(0,Digits) || NormalizeDouble(ord_open-ord_SL,Digits)<NormalizeDouble(LevelWLoss*Point,Digits)) { if (NormalizeDouble(ord_open-Ask,Digits)>NormalizeDouble(LevelProfit*Point,Digits)) { OrderModify(OrderTicket(), ord_open, NormalizeDouble(ord_open-LevelWLoss*Point,Digits), ord_TP, 0, Yellow); } } } } } } return; } //_______________________________________________________________________ 削除済み 2012.04.07 17:34 #586 イゴールM 以下は私のEAコードです: Breakeven関数をどこに挿入したいですか? extern int tp = 0; extern int sl = 0; extern int BeginHour = 0; // 開始時刻 extern inttern EndHour = 0; // 終了時刻 int start() { //---- if(OrdersTotal()==0 &&Hour() >=BeginHour&&Hour() <EndHour&&Close[1]<Open[1] &&High[1]<Bid) // 前のバーの価格がオープンより低いかどうかをチェックします。 の価格が現在のバーのBid価格 に達したとき、 前のバーの高値に 達したときに買い注文。 OrderSend(Symbol(),OP_BUY,1,Ask,0,Ask-sl*Point,Ask+tp*Point,", 777,0,Red); if(OrdersTotal()==0 &&Hour() >=BeginHour&&Hour() <EndHour&&Close[1]>Open[1] &&Low[1]>Bid) // 注文がオープンされているか、前のバーの終値がオープン価格より低いかどうかをチェックします。価格が現在のバー価格 Bid , 直前のバーの高水準に 達したときに買い注文。 OrderSend(Symbol(),OP_SELL,1,Bid,0,Ask+sl*Point,Ask-tp*Point,", 777,0,Red) を実行します。 //---- return(0)です。 } MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 [アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. [アーカイブ!】どんなエキスパートやインジケーターでも無料で書きます。 Igor Makanu 2012.04.07 17:43 #587 oleg_felix:以下は私のEAコードです: Breakeven関数をどこに置くべきでしょうか?今の段階では、あなたのコードの最後に私の関数を追加して、少なくともあなたのコードで次のようなことをすれば十分だと思うのですが。 if(OrdersTotal()>0) MovingInWL(777); コードの先頭に追加する extern int LevelWLoss = 100; // Breakeven level in pips extern int LevelProfit = 300; // Profit level in pips この問題を自分で解決できるかどうかは疑問ですが......。) Юсуфходжа 2012.04.08 04:01 #588 DmitriyN: できます。また、職場に 設置したパソコンから、あるいはその逆に自宅にいるときにアカウントを管理することも可能です。 ありがとうございます。 削除済み 2012.04.08 04:12 #589 ある人の関数をやり直そうとしたら、「ちょっと」失敗した、コードの一部を紹介します。 string FileName = test.txt; int FileHandle=FileOpen(FileName,FILE_READ); if (FileHandle < 0) { Print("Файл не найден."); } string strInfo; int i; if (FileHandle>0) { while (i<20) { if (FileHandle == 1) { string strInfo1=FileReadString(FileHandle); }else{ if (FileHandle == 2) { string strInfo2=FileReadString(FileHandle); }else{ if (FileHandle == 3) { string strInfo3=FileReadString(FileHandle); }else{ if (FileHandle == 4) { string strInfo4=FileReadString(FileHandle); }else{ if (FileHandle == 5) { string strInfo5=FileReadString(FileHandle); }else{ if (FileHandle == 6) { string strInfo6=FileReadString(FileHandle); }else{ if (FileHandle == 7) { string strInfo7=FileReadString(FileHandle); }else{ if (FileHandle == 8) { string strInfo8=FileReadString(FileHandle); }else{ if (FileHandle == 9) { string strInfo9=FileReadString(FileHandle); }else{ if (FileHandle == 10) { string strInfo10=FileReadString(FileHandle); }else{ Print("Ошибка! В файле должно быть не более 10 записей!"); } } } } } } } } } } if (StrToInteger(strInfo1)==12345||StrToInteger(strInfo2)==12345|| StrToInteger(strInfo3)==12345||StrToInteger(strInfo4)==12345|| StrToInteger(strInfo5)==12345||StrToInteger(strInfo6)==12345|| StrToInteger(strInfo7)==12345||StrToInteger(strInfo8)==12345|| StrToInteger(strInfo9)==12345||StrToInteger(strInfo10)==12345) { isNumInFile = TRUE; } if (FileIsEnding(FileHandle) && isNumInFile == FALSE) { Print("Достигнут конец файла, искомое значение не найдено"); break; } i++; if (i>100) break; } FileClose(FileHandle); } test.txtファイルの最初の10行にある特定の値を検索し、行数が10行を超えると "Error!"というエラーが発生します。このファイルには10件以上のレコードがないはずだ!」と言っても、なぜかすべてのレコードを通過してしまいます。この問題を解決するために、もしコードを簡略化して別の関数として作ることができるのなら、どうか助けてください。 削除済み 2012.04.08 05:14 #590 パラメータ参照渡しとは 何か、わかりやすく教えてください。ドキュメントを読みましたが、可能であることと、変数の識別の後に修飾子&を付けることが義務付けられていることのみ理解しました。解説付きの小型プログラムがあれば最高なのですが...。通常のパラメータ渡しと、参照によるパラメータ渡しの違いは何ですか? 1...525354555657585960616263646566...631 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こちらもご覧ください: https://www.mql5.com/ru/forum/135030
簡単なコマンドの書き方を教えてください。
- 注文を指定されたpips数のロスレス・ポジションに移行 させるために
簡単なコマンドの書き方を教えてください。
- オープンオーダーで、トレードで一定の利益が出た時点で、ブレイクイーブン(スプレッドを考慮)になるようにストップロスを設定する。
同じマジックナンバーのオーダーを白黒に変換する関数がありますので、試してみてください。
イゴールM
以下は私のEAコードです: Breakeven関数をどこに挿入したいですか?
extern int tp = 0;
extern int sl = 0;
extern int BeginHour = 0; // 開始時刻
extern inttern EndHour = 0; // 終了時刻
int start()
{
//----
if(OrdersTotal()==0 &&Hour() >=BeginHour&&Hour() <EndHour&&Close[1]<Open[1] &&High[1]<Bid) // 前のバーの価格がオープンより低いかどうかをチェックします。 の価格が現在のバーのBid価格 に達したとき、 前のバーの高値に 達したときに買い注文。
OrderSend(Symbol(),OP_BUY,1,Ask,0,Ask-sl*Point,Ask+tp*Point,", 777,0,Red);
if(OrdersTotal()==0 &&Hour() >=BeginHour&&Hour() <EndHour&&Close[1]>Open[1] &&Low[1]>Bid) // 注文がオープンされているか、前のバーの終値がオープン価格より低いかどうかをチェックします。価格が現在のバー価格 Bid , 直前のバーの高水準に 達したときに買い注文。
OrderSend(Symbol(),OP_SELL,1,Bid,0,Ask+sl*Point,Ask-tp*Point,", 777,0,Red) を実行します。
//----
return(0)です。
}
以下は私のEAコードです: Breakeven関数をどこに置くべきでしょうか?
今の段階では、あなたのコードの最後に私の関数を追加して、少なくともあなたのコードで次のようなことをすれば十分だと思うのですが。
if(OrdersTotal()>0) MovingInWL(777);
コードの先頭に追加する
extern int LevelWLoss = 100; // Breakeven level in pips
extern int LevelProfit = 300; // Profit level in pips
この問題を自分で解決できるかどうかは疑問ですが......。)
できます。また、職場に 設置したパソコンから、あるいはその逆に自宅にいるときにアカウントを管理することも可能です。
ある人の関数をやり直そうとしたら、「ちょっと」失敗した、コードの一部を紹介します。
test.txtファイルの最初の10行にある特定の値を検索し、行数が10行を超えると "Error!"というエラーが発生します。このファイルには10件以上のレコードがないはずだ!」と言っても、なぜかすべてのレコードを通過してしまいます。この問題を解決するために、もしコードを簡略化して別の関数として作ることができるのなら、どうか助けてください。
パラメータ参照渡しとは 何か、わかりやすく教えてください。ドキュメントを読みましたが、可能であることと、変数の識別の後に修飾子&を付けることが義務付けられていることのみ理解しました。解説付きの小型プログラムがあれば最高なのですが...。通常のパラメータ渡しと、参照によるパラメータ渡しの違いは何ですか?