どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 89 1...828384858687888990919293949596...1178 新しいコメント Рустам 2013.08.26 08:48 #881 Omm: 先物のデイトレードの時間帯はどのように決めればよいのでしょうか? MarketInfo(Symbol(),MODE_STARTING)。 MarketInfo(Symbol(),MODE_EXPIRATION)です。 はゼロを返す どのブローカー? だから、まず、ブローカーに確認した方がいい。 Mikhail Kozhemyako 2013.08.26 09:17 #882 alexey1979621: フォーラムメンバーの皆様、Expert Advisorで価格がチャネルラインを超えた条件、例えば、価格がチャネルラインを上から超えて、取引が開始または終了した場合、どのように書けばよいのでしょうか?なお、このクロスオーバーの瞬間が気になるところです。喜んでお手伝いさせていただきます。 double price0=NormalizeDouble(ObjectGetValueByShift("NameYourChannelLine", 0),Digits));- バー0におけるあなたのラインの値です。 double price1=NormalizeDouble(ObjectGetValueByShift("NameYourChannelLine", 1),Digits));- バー1におけるあなたのラインの値です。 そして、ゼロバーでブレイクダウンの瞬間を判断する最も簡単な方法は、if(High[0]>price0 && High[1]<=price1) {ラインが上方に突き抜けた}、if(Low[0]<price0 && Low[1]>=price1) {ラインが下方に突き抜けた}となります。ブレイクした瞬間から現在のバーの終わりまで、ifがTRUEになります。チャンネルラインはOBJPROP_RAY==Trueの プロパティを持つことが望ましい Artyom Trishkin 2013.08.26 09:34 #883 alexey1979621: フォーラムメンバーの皆様、チャネルラインをクロスした場合、例えば価格が上からチャネルラインをクロスし、取引が開始または終了した場合、EAで条件を作るにはどうしたらよいでしょうか。なお、このクロスオーバーの瞬間が気になるところです。喜んでお手伝いさせていただきます。 いくつかの方法がある。 Ask >チャネルライン、Low[1] <=チャネルラインの場合、上方へクロス ビッド<チャネルライン、高値[1]>=チャネルラインの場合、下方向にクロスする ピリオド1でMAに確認することができます。 webip 2013.08.26 10:10 #884 ソフトウェアで最後のCLOSED オーダーを選択し、そこから情報を取得するにはどうすればよいですか? Alexey Semenov 2013.08.26 10:24 #885 ご協力ありがとうございました.質問の仕方を間違えたようです。コードの一部を添付すべきでした。訂正します。 が提案するように artmedia70では、以下のように交差点が閉鎖されることを示しました。スクリーンショットにしたがって、取引を成立させる。しかし、十字架があるところで契約を結ぶ必要があります void CheckForClose() { Double PriceHigh, PriceLow; //---- 新しいバーの最初のティクスのみ取引に行く。 if(音量[0]>1) return; PriceHigh = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 1, 0)です。 PriceLow = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 2, 0)です。 for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)ブレーク。 if(OrderMagicNumber()!=124 || OrderSymbol()!=Symbol()) continue; //---- チェックオーダータイプ if(OrderType()==OP_BUY) { if(Low[1]<=PriceHigh && Ask>=PriceHigh ) OrderClose(OrderTicket(),OrderLots(),Bid,3,White); が壊れる。 } if(オーダータイプ()==OP_SELL) { if(High[1]>=PriceLow && Bid<=PriceLow) OrderClose(OrderTicket(),OrderLots(),Ask,3,White); が壊れる。 } } //---- } Any rookie question, so コーディングのヘルプ 初心者の方からの質問 MQL5 MT5 MetaTrader Alexey Semenov 2013.08.26 10:37 #886 Mikhail Kozhemyako 2013.08.26 10:38 #887 webip: ソフトウェアで最後のCLOSED オーダーを選択し、そこから情報を得るにはどうすればよいのでしょうか? 好きなものを見つけてください。 Artyom Trishkin 2013.08.26 10:42 #888 alexey1979621: ご協力ありがとうございました.質問の仕方を間違えたようです。コードの一部を添付すべきでした。訂正します。 が提案するように artmedia70では、以下のように交差点が閉鎖されることを示しました。スクリーンショットによれば、取引は成立している。しかし、十字架があるところで契約を結ぶ必要があります void CheckForClose() { Double PriceHigh, PriceLow; //---- 新しいバーの最初のティクスのみ取引に行く。 if(音量[0]>1) return; PriceHigh = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 1, 0)です。 PriceLow = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 2, 0)です。 for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)ブレーク。 if(OrderMagicNumber()!=124 || OrderSymbol()!=Symbol()) continue; //---- チェックオーダータイプ if(OrderType()==OP_BUY) { if(Low[1]<=PriceHigh && Ask>=PriceHigh ) OrderClose(OrderTicket(),OrderLots(),Bid,3,White); が壊れる。 } if(オーダータイプ()==OP_SELL) { if(High[1]>=PriceLow && Bid<=PriceLow) OrderClose(OrderTicket(),OrderLots(),Ask,3,White); が壊れる。 } } //---- } ExtremeTMA - Ungodly overdrawing.過去30小節、いやそれ以上の大きな歴史の塊です。Expert Advisorを書くのに使いましたが、最悪です。想像してみてください:シグナルが表示され、それに到達したが、しばらくしてシグナルが履歴に存在しなくなった - インジケータが再描画され、何も入力していないことがわかった。 クロスの判定に間違いがあります: if(Low[1]<=PriceHigh && Ask>=PriceHigh ) ...if(Low[1]<=PriceHigh && Ask>PriceHigh ) ... と書くべきでしょう。そして、その逆を類推するために。 メッセージの入力ウィンドウの上部にあるパネルに、ボタンSRCの 付いたコードを挿入します。 ZZZY では、十字架のあるスクリーンショットはどこにあるのでしょうか? Alexey Semenov 2013.08.26 10:57 #889 artmedia70:ExtremeTMA - 彼らはウンザリするほど過剰に引き出されています。そして、歴史の巨大な塊である過去30小節、いや、それ以上。Expert Advisorを書くのに使いましたが、最悪です。想像してみてください。シグナルを受信して、それを入力し、しばらくして履歴にシグナルが存在しなくなった。クロスの判定に間違いがあります: if(Low[1]<=PriceHigh && Ask>=PriceHigh ) ...if(Low[1]<=PriceHigh && Ask>PriceHigh ) ... と書くべきでしょう。そして、その逆を類推するために。SZY コードは、テキスト入力ウィンドウの上部にあるパネルのボタン「SRC 」を押して貼り付けます。修正しました。上のスクリーンショットと同じ方法で取引を終了し、赤い十字がある場所にあるはずです。 ExtremeTMAが再描画するのは同意しますが、エントリーポイントの検索には影響しないのでしょう、ここでのメインはフィルターです。TDIインジケーターを使用しました。私は手が器用ではないので、Expert Advisorは良いプロジェクト だと思います)。ただ1点、1年間テスターで5時間くらいかかるのが難点です(どこかで1つミスがあったようです)。エラーを探すのが困難でない場合。 extern double Lots = 0.1; extern string Сomment = "TMA Canal2"; extern int TakeProfit = 20; //тейкпрофит (отрицательное число или ноль чтобы не использовать); extern int StopLoss = 20; // уровень Stop Loss для покупки; extern int Slippage = 2; // проскальзывание extern int Magic = 124; extern string Indi = "ExtremeTMALine"; extern string TimeFrame = "current time frame"; extern int HalfLength = 56; extern int Price = PRICE_CLOSE; extern double ATRMultiplier = 2.0; extern int ATRPeriod = 100; extern bool Interpolate = true; extern double TrendThreshold = 0.5; extern bool Distances = false; extern string Indicatora = "TradersDynamicIndex"; extern int RSI_Period = 13; //8-25 extern int RSI_Price = MODE_CLOSE; //0-6 extern int Volatility_Band = 34; //20-40 extern int RSI_Price_Line = 2; extern int RSI_Price_Type = MODE_SMA; //0-3 extern int Trade_Signal_Line = 7; extern int Trade_Signal_Type = MODE_SMA; //0-3 extern bool UseAlerts = false; double PriceHigh, PriceLow, SL, TP, TDIHigh, TDILow, RSIPriceLine, TradeSignalLine; int ticket; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { if (Digits ==3 || Digits ==3) // для пятизначного брокера { TakeProfit *= 10; StopLoss *= 10; Slippage *= 10; } return(0); } //+------------------------------------------------------------------+ //| Calculate open positions | //+------------------------------------------------------------------+ int CalculateCurrentOrders(string symbol) { int buys=0,sells=0; //---- for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderSymbol()==Symbol() && OrderMagicNumber()==124) { if(OrderType()==OP_BUY) buys++; if(OrderType()==OP_SELL) sells++; } } //---- return orders volume if(buys>0) return(buys); else return(-sells); } //+------------------------------------------------------------------+ //| Check for open order conditions | //+------------------------------------------------------------------+ void CheckForOpen() { double PriceHigh, PriceLow, TDIHigh, TDILow, RSIPriceLine, TradeSignalLine; int ticket; //---- go trading only for first tiks of new bar if(Volume[0]>1) return; PriceHigh = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength , Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 1, 0); PriceLow = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength , Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 2, 0); TDIHigh = iCustom (Symbol(), 0, "TradersDynamicIndex", RSI_Period, RSI_Price, Volatility_Band, RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type,UseAlerts, 1, 0); // голубая TDILow = iCustom (Symbol(), 0, "TradersDynamicIndex", RSI_Period, RSI_Price, Volatility_Band, RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type,UseAlerts, 3, 0); // голубая RSIPriceLine = iCustom (Symbol(), 0, "TradersDynamicIndex", RSI_Period, RSI_Price, Volatility_Band, RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type,UseAlerts, 4, 0); // зеленая TradeSignalLine = iCustom (Symbol(), 0, "TradersDynamicIndex", RSI_Period, RSI_Price, Volatility_Band, RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type,UseAlerts, 5, 0); // красная if(Open[1]>PriceHigh || Close[1]>PriceHigh || High[1]>PriceHigh && Ask<=PriceHigh || Ask>=PriceHigh && TDIHigh > 68 && RSIPriceLine < TradeSignalLine) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"TMA Canal2",124,0,Red); return; } //---- buy conditions if(Open[1]<PriceLow || Close[1]<PriceLow || Low[1]<PriceLow && Bid>=PriceLow || Bid<=PriceLow && TDILow < 32 && RSIPriceLine > TradeSignalLine) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"TMA Canal2",124,0,Blue); return; } //---- } //+------------------------------------------------------------------+ //| Check for close order conditions | //+------------------------------------------------------------------+ void CheckForClose() { double PriceHigh, PriceLow; //---- go trading only for first tiks of new bar if(Volume[0]>1) return; PriceHigh = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength , Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 1, 0); PriceLow = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength , Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 2, 0); for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderMagicNumber()!=124 || OrderSymbol()!=Symbol()) continue; //---- check order type if(OrderType()==OP_BUY) { if(Low[1]<=PriceHigh && Ask>PriceHigh) OrderClose(OrderTicket(),OrderLots(),Bid,3,White); break; } if(OrderType()==OP_SELL) { if(High[1]>=PriceLow && Bid<PriceLow) OrderClose(OrderTicket(),OrderLots(),Ask,3,White); break; } } //---- } //+------------------------------------------------------------------+ //| Start function | //+------------------------------------------------------------------+ void start() { //---- check for history and trading if(Bars<100 || IsTradeAllowed()==false) return; //---- calculate open orders by current symbol if(CalculateCurrentOrders(Symbol())==0) CheckForOpen(); else CheckForClose(); //---- } Artyom Trishkin 2013.08.26 11:14 #890 alexey1979621: 修正しました。上のスクリーンショットと同じ方法で取引を終了しましたが、赤い十字架があるべき場所にあります。 ExtremeTMAがオーバードローなのは同意しますが、エントリーポイントの検索には影響しないのでしょう、ここでのメインはフィルターです。TDIインジケーターを使用しました。私が作ったものを添付します(私の手がいかに醜いか、だからExpert Advisorは私の手のようなものなのです)。ただ1点、1年間テスターで5時間くらいかかるのが難点です(どこかで1つミスがあったようです)。エラーを探すのが困難でない場合。 まだ、エラーは探していません。 レッドクロスがあるところでSellを閉じるには、現在のバーで確認する必要があります。Ask<= クローズレベル && High[1]>クローズレベルの場合 1...828384858687888990919293949596...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
先物のデイトレードの時間帯はどのように決めればよいのでしょうか?
MarketInfo(Symbol(),MODE_STARTING)。
MarketInfo(Symbol(),MODE_EXPIRATION)です。
はゼロを返す
どのブローカー?
だから、まず、ブローカーに確認した方がいい。
フォーラムメンバーの皆様、Expert Advisorで価格がチャネルラインを超えた条件、例えば、価格がチャネルラインを上から超えて、取引が開始または終了した場合、どのように書けばよいのでしょうか?なお、このクロスオーバーの瞬間が気になるところです。喜んでお手伝いさせていただきます。
double price0=NormalizeDouble(ObjectGetValueByShift("NameYourChannelLine", 0),Digits));- バー0におけるあなたのラインの値です。
double price1=NormalizeDouble(ObjectGetValueByShift("NameYourChannelLine", 1),Digits));- バー1におけるあなたのラインの値です。
そして、ゼロバーでブレイクダウンの瞬間を判断する最も簡単な方法は、if(High[0]>price0 && High[1]<=price1) {ラインが上方に突き抜けた}、if(Low[0]<price0 && Low[1]>=price1) {ラインが下方に突き抜けた}となります。ブレイクした瞬間から現在のバーの終わりまで、ifがTRUEになります。チャンネルラインはOBJPROP_RAY==Trueの プロパティを持つことが望ましい
フォーラムメンバーの皆様、チャネルラインをクロスした場合、例えば価格が上からチャネルラインをクロスし、取引が開始または終了した場合、EAで条件を作るにはどうしたらよいでしょうか。なお、このクロスオーバーの瞬間が気になるところです。喜んでお手伝いさせていただきます。
いくつかの方法がある。
Ask >チャネルライン、Low[1] <=チャネルラインの場合、上方へクロス
ビッド<チャネルライン、高値[1]>=チャネルラインの場合、下方向にクロスする
ピリオド1でMAに確認することができます。
.質問の仕方を間違えたようです。コードの一部を添付すべきでした。訂正します。
が提案するように
artmedia70では、以下のように交差点が閉鎖されることを示しました。スクリーンショットにしたがって、取引を成立させる。しかし、十字架があるところで契約を結ぶ必要があります
void CheckForClose()
{
Double PriceHigh, PriceLow;
//---- 新しいバーの最初のティクスのみ取引に行く。
if(音量[0]>1) return;
PriceHigh = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 1, 0)です。
PriceLow = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 2, 0)です。
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)ブレーク。
if(OrderMagicNumber()!=124 || OrderSymbol()!=Symbol()) continue;
//---- チェックオーダータイプ
if(OrderType()==OP_BUY)
{
if(Low[1]<=PriceHigh && Ask>=PriceHigh ) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
が壊れる。
}
if(オーダータイプ()==OP_SELL)
{
if(High[1]>=PriceLow && Bid<=PriceLow) OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
が壊れる。
}
}
//----
}
ソフトウェアで最後のCLOSED オーダーを選択し、そこから情報を得るにはどうすればよいのでしょうか?
好きなものを見つけてください。
ご協力ありがとうございました
.質問の仕方を間違えたようです。コードの一部を添付すべきでした。訂正します。
が提案するように
artmedia70では、以下のように交差点が閉鎖されることを示しました。スクリーンショットによれば、取引は成立している。しかし、十字架があるところで契約を結ぶ必要があります
void CheckForClose()
{
Double PriceHigh, PriceLow;
//---- 新しいバーの最初のティクスのみ取引に行く。
if(音量[0]>1) return;
PriceHigh = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 1, 0)です。
PriceLow = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 2, 0)です。
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)ブレーク。
if(OrderMagicNumber()!=124 || OrderSymbol()!=Symbol()) continue;
//---- チェックオーダータイプ
if(OrderType()==OP_BUY)
{
if(Low[1]<=PriceHigh && Ask>=PriceHigh ) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
が壊れる。
}
if(オーダータイプ()==OP_SELL)
{
if(High[1]>=PriceLow && Bid<=PriceLow) OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
が壊れる。
}
}
//----
}
ExtremeTMA - Ungodly overdrawing.過去30小節、いやそれ以上の大きな歴史の塊です。Expert Advisorを書くのに使いましたが、最悪です。想像してみてください:シグナルが表示され、それに到達したが、しばらくしてシグナルが履歴に存在しなくなった - インジケータが再描画され、何も入力していないことがわかった。
クロスの判定に間違いがあります: if(Low[1]<=PriceHigh && Ask>=PriceHigh ) ...if(Low[1]<=PriceHigh && Ask>PriceHigh ) ... と書くべきでしょう。そして、その逆を類推するために。
メッセージの入力ウィンドウの上部にあるパネルに、ボタンSRCの 付いたコードを挿入します。
ZZZY では、十字架のあるスクリーンショットはどこにあるのでしょうか?
ExtremeTMA - 彼らはウンザリするほど過剰に引き出されています。そして、歴史の巨大な塊である過去30小節、いや、それ以上。Expert Advisorを書くのに使いましたが、最悪です。想像してみてください。シグナルを受信して、それを入力し、しばらくして履歴にシグナルが存在しなくなった。
クロスの判定に間違いがあります: if(Low[1]<=PriceHigh && Ask>=PriceHigh ) ...if(Low[1]<=PriceHigh && Ask>PriceHigh ) ... と書くべきでしょう。そして、その逆を類推するために。
SZY コードは、テキスト入力ウィンドウの上部にあるパネルのボタン「SRC 」を押して貼り付けます。
修正しました。上のスクリーンショットと同じ方法で取引を終了し、赤い十字がある場所にあるはずです。
ExtremeTMAが再描画するのは同意しますが、エントリーポイントの検索には影響しないのでしょう、ここでのメインはフィルターです。TDIインジケーターを使用しました。私は手が器用ではないので、Expert Advisorは良いプロジェクト だと思います)。ただ1点、1年間テスターで5時間くらいかかるのが難点です(どこかで1つミスがあったようです)。エラーを探すのが困難でない場合。
修正しました。上のスクリーンショットと同じ方法で取引を終了しましたが、赤い十字架があるべき場所にあります。
ExtremeTMAがオーバードローなのは同意しますが、エントリーポイントの検索には影響しないのでしょう、ここでのメインはフィルターです。TDIインジケーターを使用しました。私が作ったものを添付します(私の手がいかに醜いか、だからExpert Advisorは私の手のようなものなのです)。ただ1点、1年間テスターで5時間くらいかかるのが難点です(どこかで1つミスがあったようです)。エラーを探すのが困難でない場合。
まだ、エラーは探していません。
レッドクロスがあるところでSellを閉じるには、現在のバーで確認する必要があります。Ask<= クローズレベル && High[1]>クローズレベルの場合