基本的な質問 ... - ページ 6 1234567891011 新しいコメント Sanzabri2 2008.06.02 08:11 #51 faifarni 2008.06.03 01:22 #52 MTF RWIトリガー? これらの指標について、すべての緑で買いトリガー、すべての赤で売りトリガーをプログラムするにはどうすればよいでしょうか? 助けてください... ニック ファイル: rads_mtfrwi_bar_a.mq4 9 kb rwi.mq4 4 kb Jason 2008.06.07 13:44 #53 1ティックに1回だけ使えるEA やあ、みんな。 私はこれが前に投稿されたかどうか知らない(私はスレッドを検索する忍耐力がない、申し訳ありません!)しかし、私はそれが多くのことを求められていることを知っています。 このコードは1ティックに1回だけ実行されます。新しいティックが導入されるとすぐに実行され、その時だけで、その後、別のものが発生するまで機能 しません。 このことは、時には問題になることがあることを心に留めておいてください。もしあなたの注文が何らかの理由で通らなかった場合、それは再び開始されることはないでしょう。もし、そうするためにコードを修正したいのであれば、どうぞ。というようなことを提案します。 if order fails, fileseek to front of f, write Open[2] to f これは、次のティックを新しいものと思わせるものです。 ファイル: newtick.mq4 3 kb gcgipson 2008.06.11 10:40 #54 MQL4の書き方に関する本やオンラインチュートリアル、ビデオなどはありますか? Sergey Golubev 2008.06.11 10:48 #55 https://www.mql5.com/en/forum/178427 https://www.mql5.com/en/forum/178677 https://www.mql5.com/en/forum forexcel 2008.06.11 13:40 #56 皆さん、こんにちは。 このコードを書くのに助けが必要です。 日足チャートに基づいています。 a) 条件が1日目の終値で満たされ、その日を6月9日とします。 b) 次に、2日目または6月10日の終値の高値と安値に買いストップと売りストップを置きたい。 c) 最後に、取引は3日目にトリガーされるようにしたい。 また、LONGが先に発動された場合、セルストップがクローズされるようにしたいのですが、逆も同様です。 よろしくお願いします。 よろしくお願いします。 フォアセル kawase 2008.06.22 22:38 #57 曜日と時間を指定するEA 曜日(例えば、水曜と木曜だけ)と開店・閉店時間を指定するEAをご存知ですか? 多くの場合 水曜日と木曜日はSWAPを取得する人が多いので、レートが上昇する。 この時に買ってポジションを取る。 そして、SWAPが発生すると同時にレートが下落します。 この時に売って、ポジションを取る。 このようなトレードに使用するEAを探しています。 削除済み 2008.06.27 13:51 #58 助けてください! こんにちは、みんな。 私は助けが必要です。私はこのEAを作成しました。 #define SIGNAL_NONE 0 #define SIGNAL_BUY 1 #define SIGNAL_SELL 2 #define SIGNAL_CLOSEBUY 3 #define SIGNAL_CLOSESELL 4 #property copyright "FxAttack" #property link "http://www.ioinvesto.com" extern int MagicNumber = 0; extern bool SignalMail = False; extern bool EachTickMode = True; extern double Lots = 0.1; extern int Slippage = 3; extern bool UseStopLoss = True; extern int StopLoss = 25; extern bool UseTakeProfit = True; extern int TakeProfit = 25; extern bool UseTrailingStop = False; extern int TrailingStop = 30; extern bool Use.Time.Filter = true; extern string Server.Time.To.Start = "00:00"; extern string Server.Time.To.Stop = "17:00"; extern bool Not.Trade.Fri.Sun = True; int BarCount; int Current; bool TickCheck = False; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { BarCount = Bars; if (EachTickMode) Current = 0; else Current = 1; return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { int Order = SIGNAL_NONE; int Total, Ticket; double StopLossLevel, TakeProfitLevel; if (EachTickMode && Bars != BarCount) TickCheck = False; Total = OrdersTotal(); Order = SIGNAL_NONE; //+------------------------------------------------------------------+ //| Variable Begin | //+------------------------------------------------------------------+ double OpenPrice = iOpen(NULL, PERIOD_D1, Current + 0); double Buy_Sign = (OpenPrice + (30*Point)); double Sell_Sign = (OpenPrice - (30*Point)); double start_time = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + Server.Time.To.Start); double end_time = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + Server.Time.To.Stop); Comment("Open Price = ",OpenPrice); //+------------------------------------------------------------------+ //| Variable End | //+------------------------------------------------------------------+ if(Use.Time.Filter && (TimeCurrent() = end_time)) return(0); if(Not.Trade.Fri.Sun && (DayOfWeek()==6 || DayOfWeek()==1 )) return(0); //Check position bool IsTrade = False; for (int i = 0; i < Total; i ++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) { IsTrade = True; if(OrderType() == OP_BUY) { //Close //+------------------------------------------------------------------+ //| Signal Begin(Exit Buy) | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Signal End(Exit Buy) | //+------------------------------------------------------------------+ if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen); if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy"); if (!EachTickMode) BarCount = Bars; IsTrade = False; continue; } //Trailing stop if(UseTrailingStop && TrailingStop > 0) { if(Bid - OrderOpenPrice() > Point * TrailingStop) { if(OrderStopLoss() < Bid - Point * TrailingStop) { OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen); if (!EachTickMode) BarCount = Bars; continue; } } } } else { //Close //+------------------------------------------------------------------+ //| Signal Begin(Exit Sell) | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Signal End(Exit Sell) | //+------------------------------------------------------------------+ if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange); if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Close Sell"); if (!EachTickMode) BarCount = Bars; IsTrade = False; continue; } //Trailing stop if(UseTrailingStop && TrailingStop > 0) { if((OrderOpenPrice() - Ask) > (Point * TrailingStop)) { if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) { OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange); if (!EachTickMode) BarCount = Bars; continue; } } } } } } //+------------------------------------------------------------------+ //| Signal Begin(Entry) | //+------------------------------------------------------------------+ if (Bid > Buy_Sign) Order = SIGNAL_BUY; if (Ask < Sell_Sign) Order = SIGNAL_SELL; //+------------------------------------------------------------------+ //| Signal End | //+------------------------------------------------------------------+ //Buy if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { if(!IsTrade) { //Check free margin if (AccountFreeMargin() < (1000 * Lots)) { Print("We have no money. Free Margin = ", AccountFreeMargin()); return(0); } if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0; if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0; Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "MaxPower Buy Order", MagicNumber, 0, DodgerBlue); if(Ticket > 0) { if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) { Print("BUY order opened : ", OrderOpenPrice()); if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy"); } else { Print("Error opening BUY order : ", GetLastError()); } } if (EachTickMode) TickCheck = True; if (!EachTickMode) BarCount = Bars; return(0); } } //Sell if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { if(!IsTrade) { //Check free margin if (AccountFreeMargin() < (1000 * Lots)) { Print("We have no money. Free Margin = ", AccountFreeMargin()); return(0); } if (UseStopLoss) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0; if (UseTakeProfit) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0; Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "MaxPower Sell Order", MagicNumber, 0, DeepPink); if(Ticket > 0) { if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) { Print("SELL order opened : ", OrderOpenPrice()); if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell"); } else { Print("Error opening SELL order : ", GetLastError()); } } if (EachTickMode) TickCheck = True; if (!EachTickMode) BarCount = Bars; return(0); } } if (!EachTickMode) BarCount = Bars; return(0); } //+------------------------------------------------------------------+[/PHP] ......but I don't understand how to put the code below inner it. [PHP]... for (int i=0; i<OrdersTotal(); i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==Symbol() ) return(0); .... 私が書いたコードの最後のブロックは: "1つのSYMBOLに1つの注文がすでに開かれている場合、そのSYMBOLに新しい注文を開けないでください "です。 誰かがそれを統合するために私を助けることができますか? ありがとうございます。 マウロ アスク! コーディングの方法は? ICustom機能 scottymoll 2008.07.21 06:38 #59 EAが1回しか取引しない... こんにちは、皆さん、ちょっと質問です。最近、あるEAを作りました。パラメータは 正しく、チャートに追加したところ、適切な買いを入れ、その後、売りを入れました。しかし、次に買いのシグナルが来ても、一度も取引を行いませんでした。どうやら、このEAは最初の取引だけで、その後は何もしていないようです。なぜこのようなことが起こるのか、何か心当たりはありませんか?何かご教示いただければ幸いです。ありがとうございます!!! repelsteeltje 2008.07.21 07:07 #60 多分それは、eaを表示するためのアイデアですか?そうすれば、コードを見ることができるのでは? 1234567891011 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
MTF RWIトリガー?
これらの指標について、すべての緑で買いトリガー、すべての赤で売りトリガーをプログラムするにはどうすればよいでしょうか? 助けてください...
ニック
1ティックに1回だけ使えるEA
やあ、みんな。
私はこれが前に投稿されたかどうか知らない(私はスレッドを検索する忍耐力がない、申し訳ありません!)しかし、私はそれが多くのことを求められていることを知っています。
このコードは1ティックに1回だけ実行されます。新しいティックが導入されるとすぐに実行され、その時だけで、その後、別のものが発生するまで機能 しません。
このことは、時には問題になることがあることを心に留めておいてください。もしあなたの注文が何らかの理由で通らなかった場合、それは再び開始されることはないでしょう。もし、そうするためにコードを修正したいのであれば、どうぞ。というようなことを提案します。
if order fails, fileseek to front of f, write Open[2] to f
これは、次のティックを新しいものと思わせるものです。
MQL4の書き方に関する本やオンラインチュートリアル、ビデオなどはありますか?
https://www.mql5.com/en/forum/178427
https://www.mql5.com/en/forum/178677
https://www.mql5.com/en/forum
皆さん、こんにちは。
このコードを書くのに助けが必要です。
日足チャートに基づいています。
a) 条件が1日目の終値で満たされ、その日を6月9日とします。
b) 次に、2日目または6月10日の終値の高値と安値に買いストップと売りストップを置きたい。
c) 最後に、取引は3日目にトリガーされるようにしたい。
また、LONGが先に発動された場合、セルストップがクローズされるようにしたいのですが、逆も同様です。
よろしくお願いします。
よろしくお願いします。
フォアセル
曜日と時間を指定するEA
曜日(例えば、水曜と木曜だけ)と開店・閉店時間を指定するEAをご存知ですか?
多くの場合
水曜日と木曜日はSWAPを取得する人が多いので、レートが上昇する。
この時に買ってポジションを取る。
そして、SWAPが発生すると同時にレートが下落します。
この時に売って、ポジションを取る。
このようなトレードに使用するEAを探しています。
助けてください!
こんにちは、みんな。
私は助けが必要です。私はこのEAを作成しました。
#define SIGNAL_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4
#property copyright "FxAttack"
#property link "http://www.ioinvesto.com"
extern int MagicNumber = 0;
extern bool SignalMail = False;
extern bool EachTickMode = True;
extern double Lots = 0.1;
extern int Slippage = 3;
extern bool UseStopLoss = True;
extern int StopLoss = 25;
extern bool UseTakeProfit = True;
extern int TakeProfit = 25;
extern bool UseTrailingStop = False;
extern int TrailingStop = 30;
extern bool Use.Time.Filter = true;
extern string Server.Time.To.Start = "00:00";
extern string Server.Time.To.Stop = "17:00";
extern bool Not.Trade.Fri.Sun = True;
int BarCount;
int Current;
bool TickCheck = False;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init() {
BarCount = Bars;
if (EachTickMode) Current = 0; else Current = 1;
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit() {
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start() {
int Order = SIGNAL_NONE;
int Total, Ticket;
double StopLossLevel, TakeProfitLevel;
if (EachTickMode && Bars != BarCount) TickCheck = False;
Total = OrdersTotal();
Order = SIGNAL_NONE;
//+------------------------------------------------------------------+
//| Variable Begin |
//+------------------------------------------------------------------+
double OpenPrice = iOpen(NULL, PERIOD_D1, Current + 0);
double Buy_Sign = (OpenPrice + (30*Point));
double Sell_Sign = (OpenPrice - (30*Point));
double start_time = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + Server.Time.To.Start);
double end_time = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + Server.Time.To.Stop);
Comment("Open Price = ",OpenPrice);
//+------------------------------------------------------------------+
//| Variable End |
//+------------------------------------------------------------------+
if(Use.Time.Filter && (TimeCurrent() = end_time)) return(0);
if(Not.Trade.Fri.Sun && (DayOfWeek()==6 || DayOfWeek()==1 )) return(0);
//Check position
bool IsTrade = False;
for (int i = 0; i < Total; i ++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {
IsTrade = True;
if(OrderType() == OP_BUY) {
//Close
//+------------------------------------------------------------------+
//| Signal Begin(Exit Buy) |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Signal End(Exit Buy) |
//+------------------------------------------------------------------+
if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen);
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
continue;
}
//Trailing stop
if(UseTrailingStop && TrailingStop > 0) {
if(Bid - OrderOpenPrice() > Point * TrailingStop) {
if(OrderStopLoss() < Bid - Point * TrailingStop) {
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
} else {
//Close
//+------------------------------------------------------------------+
//| Signal Begin(Exit Sell) |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Signal End(Exit Sell) |
//+------------------------------------------------------------------+
if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange);
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Close Sell");
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
continue;
}
//Trailing stop
if(UseTrailingStop && TrailingStop > 0) {
if((OrderOpenPrice() - Ask) > (Point * TrailingStop)) {
if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) {
OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
}
}
}
//+------------------------------------------------------------------+
//| Signal Begin(Entry) |
//+------------------------------------------------------------------+
if (Bid > Buy_Sign) Order = SIGNAL_BUY;
if (Ask < Sell_Sign) Order = SIGNAL_SELL;
//+------------------------------------------------------------------+
//| Signal End |
//+------------------------------------------------------------------+
//Buy
if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (1000 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0;
Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "MaxPower Buy Order", MagicNumber, 0, DodgerBlue);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("BUY order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy");
} else {
Print("Error opening BUY order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}
//Sell
if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (1000 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (UseStopLoss) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0;
Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "MaxPower Sell Order", MagicNumber, 0, DeepPink);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("SELL order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
} else {
Print("Error opening SELL order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}
if (!EachTickMode) BarCount = Bars;
return(0);
}
//+------------------------------------------------------------------+[/PHP]
......but I don't understand how to put the code below inner it.
[PHP]...
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol() )
return(0);
....私が書いたコードの最後のブロックは: "1つのSYMBOLに1つの注文がすでに開かれている場合、そのSYMBOLに新しい注文を開けないでください "です。
誰かがそれを統合するために私を助けることができますか?
ありがとうございます。
マウロ
EAが1回しか取引しない...
こんにちは、皆さん、ちょっと質問です。最近、あるEAを作りました。パラメータは 正しく、チャートに追加したところ、適切な買いを入れ、その後、売りを入れました。しかし、次に買いのシグナルが来ても、一度も取引を行いませんでした。どうやら、このEAは最初の取引だけで、その後は何もしていないようです。なぜこのようなことが起こるのか、何か心当たりはありませんか?何かご教示いただければ幸いです。ありがとうございます!!!
多分それは、eaを表示するためのアイデアですか?そうすれば、コードを見ることができるのでは?