コーディングの方法は? - ページ 210 1...203204205206207208209210211212213214215216217...347 新しいコメント sunshineh 2009.10.16 04:35 #2091 たくさんのありがとう!!! cockeyedcowboyさん、本当に最高でした!!! エラーメッセージは消えました。 しかし、2番目のインジケータが描画されないのですが、なぜでしょうか? Buffer_Ma=iMAOnArray(Buffer_Mom,0,Periode_MA_Momentum,0,MODE_SMA,i); kossh 2009.10.16 05:10 #2092 2番目のバッファは、計算するためのデータを持っていないため、問題があります。 Buffer_Mom にあるすべての要素を計算し、次に Buffer_Ma を計算してみてください。 例 void start() { int counted_bars=IndicatorCounted(); int limit=Bars-counted_bars; if(counted_bars>0) limit++; for(int i=0; i<limit; i++) { Buffer_Mom=iMomentum(NULL,Timeframe_Momentum,Periode_Momentum,PRICE_CLOSE,i); } for( i=0; i<limit; i++) { Buffer_Ma=iMAOnArray(Buffer_Mom,0,Periode_MA_Momentum,0,MODE_SMA,i); } return(0); } がんばってください。 Sadly 2009.10.18 20:08 #2093 特定のバーのOHLCを見つける MQLコードを使用して、特定のバーの終値を見つける方法を教えてください。 時間によってバーを参照することはできますか? 例えば、closing_price_of_bar = Close("04:59:00 AM") ...それが簡単であればいいのですが! ありがとうございます。 drhouse7 2009.10.18 20:27 #2094 皆さん、こんにちは。 さて、私はもう一つ大きな問題を抱えています。 この条件をどのようにコード化するか。 初回のみロングまたはショートを入力する (つまり、多くのロングシグナルがある場合、EAは最初の1回だけ入力する) 私はこのことについて私を助けることができる皆を支払います。 これは私の簡単な買い条件のコードです。 //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, "Buy(#" + MagicNumber + ")", 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); } } EAとインジケータの売買 Experts: exad... コーディングのヘルプ Roger09 2009.10.18 21:27 #2095 Sadly: MQLコードを使用して、特定のバーの終値を調べる方法を教えてください。時間によってバーを参照することはできますか? つまり、Closing_price_of_bar = Close("04:59:00 AM") ...これが簡単ならいいんですけどね。 ありがとうございます。 これを試してみてください。 closing_price_of_bar =iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIOD_M1,StrToTime("04:59"))) です。 sparow21 2009.10.19 01:33 #2096 買うか売るか 皆さん、こんにちは。 私は買いEAと売りEAを持っていますが、常に複数のポジションを開いています。1つの口座で1つの買いポジションと1つの売りポジションのみを許可するようにコードを変更または修正する方法について、いくつかのヘルプを得たいと思います。 SLとTPはプライスターゲットを使用します。つまり、買い価格がプライスターゲットに達した場合、ポジションを閉じます。売りの価格も同様です。 このフォーラムでコードの専門家から助けを得ることを感謝します。 ありがとうございました。 =s21= ファイル: opensell.mq4 2 kb sparow21 2009.10.19 01:36 #2097 購入・販売 おっと...。 ここからは買いEAです。 ファイル: openbuy.mq4 2 kb Avalanche2k 2009.10.19 04:38 #2098 注文を1つだけ出す必要がある場合は、次の条件を追加すればよいでしょう。もし(OrdersTotal()==0)であれば。 つまり、買い注文のルールはこのようなものになります。 if (Order == SIGNAL_BUY && (OrdersTotal==0) && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) [/CODE] So you will not get second-third-... orders opened until you current order open. dr.house7: hy folks ! ok i have another big problem... how to code this condition : enter long or short only first time (so if i have many following long signal ea enter only at first time) i'll pay everyone could help me on this this is my simple code for buy condition: [CODE] //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, "Buy(#" + MagicNumber + ")", 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); } } Sadly 2009.10.19 05:19 #2099 Roger09: これを試してみてください:closing_price_of_bar = iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIOD_M1,StrToTime("04:59")); Fab! インタープリタがエラーを訴えないようにするために、閉じ括弧を1つ追加しなければなりませんでしたが、とてもうまくいきました。 Roger09さん、ありがとうございました。 drhouse7 2009.10.19 08:06 #2100 Avalanche2k: もし、1つだけ注文を出す必要があるのなら、次の条件を追加すればよいでしょう。If (OrdersTotal()==0).BUY注文のルールはそのようなものになるのですね。 if (Order == SIGNAL_BUY && (OrdersTotal==0) && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) そうすれば、現在の注文が開くまで、2番目、3番目...の注文が開かれることはないでしょう。 ありがとうアバランチ。 しかし、それは私のためのソリューションではありません、私はTPを持っているので、私は反対の条件まで待つことはありません。 他のアイデア?私はあなたを支払うことになるPM私 1...203204205206207208209210211212213214215216217...347 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
たくさんのありがとう!!! cockeyedcowboyさん、本当に最高でした!!!
エラーメッセージは消えました。
しかし、2番目のインジケータが描画されないのですが、なぜでしょうか?
Buffer_Ma=iMAOnArray(Buffer_Mom,0,Periode_MA_Momentum,0,MODE_SMA,i);
2番目のバッファは、計算するためのデータを持っていないため、問題があります。
Buffer_Mom にあるすべての要素を計算し、次に Buffer_Ma を計算してみてください。
例
{
int counted_bars=IndicatorCounted();
int limit=Bars-counted_bars;
if(counted_bars>0) limit++;
for(int i=0; i<limit; i++)
{
Buffer_Mom=iMomentum(NULL,Timeframe_Momentum,Periode_Momentum,PRICE_CLOSE,i);
}
for( i=0; i<limit; i++)
{
Buffer_Ma=iMAOnArray(Buffer_Mom,0,Periode_MA_Momentum,0,MODE_SMA,i);
}
return(0);
}がんばってください。
特定のバーのOHLCを見つける
MQLコードを使用して、特定のバーの終値を見つける方法を教えてください。 時間によってバーを参照することはできますか?
例えば、closing_price_of_bar = Close("04:59:00 AM") ...それが簡単であればいいのですが!
ありがとうございます。
皆さん、こんにちは。
さて、私はもう一つ大きな問題を抱えています。
この条件をどのようにコード化するか。
初回のみロングまたはショートを入力する
(つまり、多くのロングシグナルがある場合、EAは最初の1回だけ入力する)
私はこのことについて私を助けることができる皆を支払います。
これは私の簡単な買い条件のコードです。
//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, "Buy(#" + MagicNumber + ")", 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);
}
}MQLコードを使用して、特定のバーの終値を調べる方法を教えてください。時間によってバーを参照することはできますか?
つまり、Closing_price_of_bar = Close("04:59:00 AM") ...これが簡単ならいいんですけどね。
ありがとうございます。これを試してみてください。
closing_price_of_bar =iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIOD_M1,StrToTime("04:59"))) です。
買うか売るか
皆さん、こんにちは。
私は買いEAと売りEAを持っていますが、常に複数のポジションを開いています。1つの口座で1つの買いポジションと1つの売りポジションのみを許可するようにコードを変更または修正する方法について、いくつかのヘルプを得たいと思います。
SLとTPはプライスターゲットを使用します。つまり、買い価格がプライスターゲットに達した場合、ポジションを閉じます。売りの価格も同様です。
このフォーラムでコードの専門家から助けを得ることを感謝します。
ありがとうございました。
=s21=
購入・販売
おっと...。
ここからは買いEAです。
注文を1つだけ出す必要がある場合は、次の条件を追加すればよいでしょう。もし(OrdersTotal()==0)であれば。
つまり、買い注文のルールはこのようなものになります。
if (Order == SIGNAL_BUY && (OrdersTotal==0) && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))
[/CODE]
So you will not get second-third-... orders opened until you current order open.
hy folks !
ok i have another big problem...
how to code this condition :
enter long or short only first time
(so if i have many following long signal ea enter only at first time)
i'll pay everyone could help me on this
this is my simple code for buy condition:
[CODE]
//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, "Buy(#" + MagicNumber + ")", 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);
}
}これを試してみてください:closing_price_of_bar = iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIOD_M1,StrToTime("04:59"));
Fab! インタープリタがエラーを訴えないようにするために、閉じ括弧を1つ追加しなければなりませんでしたが、とてもうまくいきました。
Roger09さん、ありがとうございました。
もし、1つだけ注文を出す必要があるのなら、次の条件を追加すればよいでしょう。If (OrdersTotal()==0).
BUY注文のルールはそのようなものになるのですね。
if (Order == SIGNAL_BUY && (OrdersTotal==0) && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))
ありがとうアバランチ。
しかし、それは私のためのソリューションではありません、私はTPを持っているので、私は反対の条件まで待つことはありません。
他のアイデア?私はあなたを支払うことになるPM私