アスク! - ページ 51 1...444546474849505152535455565758...182 新しいコメント Kale 2007.02.23 16:01 #501 pawang: こんにちは。とても基本的な質問で申し訳ないのですが。 私はmql4を学んでいます。 この数学の条件をmql4で表現する方法を教えてください。 IF( (A>B) AND (|X| <1) AND (Y<Z) ) then... ... ...。 |X|は絶対で、(X 1)を意味します。 MetaEditorからメッセージが表示されました。 "if 式が複雑すぎる" と表示されました。 何度も試してみたがもうアイデアがありません...だから、どうしたらいいか教えてください... 感謝 これを試してみてください。 if((a>b && MathAbs(x)<1) && y<z) { //ここに起こるべきことを書いてください } [Deleted] 2007.02.23 19:09 #502 オラクルに質問です... EAに最適化を実行させ、毎日自動的に設定を調整させる方法はありますか? 16個のパラメータに対して 30日間のプロフィットファクター最適化を実行し、再度取引を開始する前に設定を適用させたいと考えています。毎日8時間ほど自動的にシャットダウンされます。 どなたかコード化する方法をご存じないでしょうか?素晴らしいEAレベルから、非常識に儲かるAIレベルまで持っていけるだろう... これはまた、誰もがそこにEAで使用するための良いコードになるかもしれない。 EA fourmにも投稿したのですが、今までこのことは知りませんでした。 ご協力ありがとうございました。 dh001 2007.02.23 20:53 #503 アドバイスお願いします MACDがマイナスになったら赤いバー、マイナスになったら赤いまま、プラスになったら緑のバーなど、掲載した写真のインジケーターのように別のウィンドウにバーインディケーターを作成することは可能ですか?また、価格が移動 平均を下回る場合、同じバーインディケーターウィンドウを作成することは可能でしょうか? もしこれが馬鹿げた質問に思えるなら、どうか我慢してください。私はチャート上の指標を見るとき、私は価格が何をするかを予測しようとする傾向があるので、私はすべてが同じ色を示したときに私が取引する別々のウィンドウの指標を試して、持っていることを探しています。[心理的な理由)。これらの別々のバータイプの指標の作成は、私が作成することを学ぶことができる何か、任意の言語でプログラマから遠いイムです。 どんなアドバイスも非常に高く評価されるでしょう。 dh ファイル: chart.jpg 11 kb 削除済み 2007.02.23 22:51 #504 pawang: こんにちはとても基本的な質問で申し訳ないのですが。 私はmql4を学んでいます。 この数学の条件をmql4で表現する方法を教えてください。 IF( (A>B) AND (|X| <1) AND (Y<Z) ) then... ... ...。 |X|は絶対で、(X 1)を意味します。 MetaEditorからメッセージが表示されました。 "if 式が複雑すぎる" と表示されました。 何度も試してみたが何度も試しましたが、もうアイデアがありません。 感謝 if(a>b && (x 1) && y<z){? ;あなたのコード } というのは、MathAbs(x) < 1 が真になるのは x=0 のときだけだからです。 http://docs.mql4.com/basis/operations/bool 一方、単純にこれが必要な場合もあります。 if(a>b && x<1 && y<z) あるいは if(a>b && x<-1 && y<z) xはあなたの定義によると、0または-1では決してないので 私はあなたの絶対値の定義に混乱している Kale 2007.02.24 05:38 #505 dxx: それは、MACDが負のクロスした場合、赤のバーと言うために、私が投稿した写真の指標[彼らは正式には何と呼ばれるかわからない]のような別のウィンドウでバー指標を作成することが可能ですか、負のゾーンで、正のクロスした場合緑を維持するなど等。また、価格が移動平均を下回る場合、同じバーインディケーターウィンドウを作成することは可能でしょうか。 もしこれが馬鹿げた質問に思えるなら、どうか我慢してください。私はチャート上の指標を見るとき、価格がどうなるかを予想しようとする傾向があるので、私は別々のウィンドウの指標を試して、すべてが同じ色を示したときに私が取引することを探しています。[心理的な理由)。これらの別々のバータイプの指標の作成は、私が作成することを学ぶことができる何か、任意の言語でプログラマから遠いイムです。 任意のアドバイスは非常に感謝されるでしょう。 dh はい、これは可能です。 increase 2007.02.24 05:50 #506 dxx: MACDがマイナスを越えたら赤いバー、マイナスなら赤のまま、プラスなら緑のバーなど、掲載した写真のインジケーターのように別のウィンドウにバーインディケーターを作成することは可能ですか?また、価格が移動平均を下回る場合、同じバーインディケーターウィンドウを作成することは可能でしょうか。 もしこれが馬鹿げた質問に思えるなら、どうか我慢してください。私はチャート上の指標を見るとき、価格がどうなるかを予想しようとする傾向があるので、私は別々のウィンドウの指標を試して、すべてが同じ色を示したときに私が取引することを探しています。[心理的な理由)。これらの別々のバータイプの指標の作成は、私が作成することを学ぶことができる何か、任意の言語でプログラマから遠いイムです。 任意のアドバイスは非常に感謝されるでしょう。 dh ここであなたは正確にあなたが望むものであり、以下のように異なる設定で1つのチャートに同じ指標のすべての4つをロードし、すべての赤のときに販売し、すべての青のときに購入します。 設定 1つ目を15分に設定 2番目 30分 三番目 60分 四番目 140分 ファイル: flattrend_w_macd.mq4 4 kb dh001 2007.02.24 10:28 #507 感謝 皆さん、ありがとうございます。 とても感謝しています。 aegis 2007.02.24 15:44 #508 一定のティックチャートや一定のレンジバーを別のウィンドウにプロットする何らかのタイプのインジケータを書くことは可能でしょうか?これらは時間軸を持たない別のチャート形式です。例えば、100ティックバーは、価格が100ティック動くたびに形成されます。つまり、出来高が少ない場合はバーが形成されません。一定範囲バーは、価格が範囲内で設定されたティック数だけ動くと形成されます。例えば、20に設定されたレンジバーは、価格が20ピップのレンジを埋めるたびに形成されます。その後、次のバーが開始されます。これらは時間ベースではないので、このプラットフォームで可能かどうかはわかりません。 leo1452 2007.02.25 23:27 #509 EAに簡単なアラートを追加する こんにちは、私はここで必要な小さな助けを見つけることを望む!あなたは、例えば、このEAのためのアラートを追加する方法を私に示すことができますか? ちょうど条件が買いのために満たされたとき、それはまた私に警告する。 ありがとうございます。 レオ extern int MagicNumber = 0; extern bool SignalMail = False; extern bool EachTickMode = False; extern double Lots = 1.0; extern int Slippage = 3; extern bool StopLossMode = True; extern int StopLoss = 30; extern bool TakeProfitMode = True; extern int StopLoss = 30; extern bool TakeProfitMode = True; extern int TakeProfit = 60; extern bool TrailingStopMode = True; extern int TakeProfit = 60; extern bool TrailingStopMode = True; extern int TrailingStop = 30; extern int TrailingStop = 30; #定義 SIGNAL_NONE 0 #define SIGNAL_BUY 1 #define SIGNAL_SELL 2 #define SIGNAL_CLOSEBUY 3 #定義 SIGNAL_CLOSESELL 4 int BarCount; int Current; bool TickCheck = False; //+------------------------------------------------------------------+ //| エキスパート初期化関数 //+------------------------------------------------------------------+ int init() { BarCount = Bars; if (EachTickMode) Current = 0; else Current = 1; return(0); } //+------------------------------------------------------------------+ //| エキスパート初期化関数 //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| エキスパートスタート機能 //+------------------------------------------------------------------+ int start() { int Order = SIGNAL_NONE; int Total, Ticket; double StopLossLevel, TakeProfitLevel; if (EachTickMode && Bars != BarCount) TickCheck = False; Total = OrdersTotal(); オーダー = SIGNAL_NONE; //+------------------------------------------------------------------+ //| 変数開始 //+------------------------------------------------------------------+ double Buy1_1 = iMA(NULL, 0, 89, 0, MODE_SMA, PRICE_CLOSE, Current + 0); double Buy1_2 = iClose(NULL, 0, Current + 0); double Buy2_1 = iMA(NULL, 0, 445, 0, MODE_EMA, PRICE_CLOSE, Current + 0); double Buy2_2 = iClose(NULL, 0, PRICE_CLOSE, Current + 0); double Buy2_2 = iClose(NULL, 0, Current + 0); double Buy2_1 = iMA(NULL, 0, MODE_EMA, PRICE_CLOSE, Current + 0); //+------------------------------------------------------------------+ //| 変数終了 //+------------------------------------------------------------------+ //ポジションチェック bool IsTrade = False; for (int i = 0; i < トータル; i ++) { { {オーダーセレクト(i, SELECT_BY_PASS) OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderType() <= OP_SELL && OrderSymbol() == Symbol())) { IsTrade = True? IsTrade = Trueです。 if(OrderType() == OP_BUY){ //Close //+------------------------------------------------------------------+ //| シグナル開始(買い終了) //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| シグナル終了(買い終了) //+------------------------------------------------------------------+ if (オーダー == 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):シグナルを送信します。 if (!EachTickMode) BarCount = Bars; IsTrade = False; を続けます。 } //トレーリングストップ if(TrailingStopMode && TrailingStop > 0) { /トレーリングストップ if(ビッド - オーダーオープン価格() > ポイント * TrailingStop) { { if(オーダーストップ・ロス() < ビッド - ポイント * トレーリングストップ) { { (ビッド - ポイント * トレーリングストップ) OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen)を実行します。 if (!EachTickMode) BarCount = Bars; を続けます。 } } } } else { //Close //+------------------------------------------------------------------+ //| シグナル開始(売り終了) //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| シグナル終了(売り終了) //+------------------------------------------------------------------+ if (オーダー == 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):シグナルを送信します。 if (!EachTickMode) BarCount = Bars; IsTrade = False; を続けます。 } //トレーリングストップ if(TrailingStopMode && 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; を続けます。 } } } } } } //+------------------------------------------------------------------+ //| Signal Begin(Entry)シグナル //+------------------------------------------------------------------+ if (Buy1_1 < Buy1_2 && Buy2_1 < Buy2_2) Order = SIGNAL_BUY.Buy1_1 < Buy1_2 && Buy2_1 < Buy2_2) Order = SIGNAL_BUY; //+------------------------------------------------------------------+ //| シグナル終了 //+------------------------------------------------------------------+ //買い if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)) )){ if(!IsTrade){。 //フリーマージンチェック if (アカウントフリーマージン() < (1000 * ロット)) { Print("資金がありません。フリーマージン = ", AccountFreeMargin()); return(0); if (StopLossMode) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0; if (TakeProfitMode) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0。 Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue)。 if(チケット > 0) { if (オーダーセレクト(チケット、SELECT_BY_TICKET、MODE_TRADES)) { Print("BUY order opened : ", OrderOpenPrice()); if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy")。 } else { Print("買い注文の開始エラー :", GetLastError()); } if (EachTickMode) TickCheck = True; if (!EachTickMode) BarCount = Bars; return(0); } } //売り if (注文 == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))。{ if(!IsTrade){。 //フリーマージンチェック if (アカウントフリーマージン() < (1000 * ロット)) { Print("資金がありません。フリーマージン = ", AccountFreeMargin()); return(0); if (StopLossMode) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0; if (TakeProfitMode) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0。 Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", MagicNumber, 0, DeepPink)。 if(チケット > 0) { if (オーダーセレクト(チケット, 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) } } if (!EachTickMode) BarCount = Bars; return(0); } //+------------------------------------------------------------------+ コーディングの方法は? ICustom機能 基本的な質問 ... 削除済み 2007.02.26 03:10 #510 お礼とその他の質問 私の質問に答えてくれてありがとうございました。 newdigital, Kalenzo, asmdevの皆さん。 そして、すべての人に感謝します。 次の質問です。 1.)起こることと起こったことの値を比較する方法 例えば、時間の変数である "n "を今とすると、n-a = "a "時間前となります。 (n-a)に起こった時のRSIとRSIn(now)の値を比較する方法。 また、MA50を現在から3本前のバーと最後のバーで比較するにはどうしたらよいでしょうか。 2.)1.によると、実際のところ、強気・弱気の乖離はどのように発生するのでしょうか? その条件とは 定義された時間枠の最高値と最高値のRSIが存在する。そして、時間が経過した後...我々は新しい最高値に出会うが、新しいRSIの高値(RSIは新しい高値を作るのに失敗した)が続いていない。 このような状況は、現実性の高い売り シグナルであり、買いシグナルはその逆であることは誰もが知っていることなので、私のEAにそれを知ってもらいたい。 ありがとうございました。 1...444546474849505152535455565758...182 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは。
とても基本的な質問で申し訳ないのですが。
私はmql4を学んでいます。
この数学の条件をmql4で表現する方法を教えてください。
IF( (A>B) AND (|X| <1) AND (Y<Z) ) then... ... ...。
|X|は絶対で、(X 1)を意味します。
MetaEditorからメッセージが表示されました。
"if 式が複雑すぎる" と表示されました。
何度も試してみたがもうアイデアがありません...だから、どうしたらいいか教えてください...
感謝これを試してみてください。
if((a>b && MathAbs(x)<1) && y<z)
{
//ここに起こるべきことを書いてください
}
オラクルに質問です...
EAに最適化を実行させ、毎日自動的に設定を調整させる方法はありますか?
16個のパラメータに対して 30日間のプロフィットファクター最適化を実行し、再度取引を開始する前に設定を適用させたいと考えています。毎日8時間ほど自動的にシャットダウンされます。
どなたかコード化する方法をご存じないでしょうか?素晴らしいEAレベルから、非常識に儲かるAIレベルまで持っていけるだろう...
これはまた、誰もがそこにEAで使用するための良いコードになるかもしれない。
EA fourmにも投稿したのですが、今までこのことは知りませんでした。
ご協力ありがとうございました。
アドバイスお願いします
MACDがマイナスになったら赤いバー、マイナスになったら赤いまま、プラスになったら緑のバーなど、掲載した写真のインジケーターのように別のウィンドウにバーインディケーターを作成することは可能ですか?また、価格が移動 平均を下回る場合、同じバーインディケーターウィンドウを作成することは可能でしょうか?
もしこれが馬鹿げた質問に思えるなら、どうか我慢してください。私はチャート上の指標を見るとき、私は価格が何をするかを予測しようとする傾向があるので、私はすべてが同じ色を示したときに私が取引する別々のウィンドウの指標を試して、持っていることを探しています。[心理的な理由)。これらの別々のバータイプの指標の作成は、私が作成することを学ぶことができる何か、任意の言語でプログラマから遠いイムです。
どんなアドバイスも非常に高く評価されるでしょう。
dh
こんにちは
とても基本的な質問で申し訳ないのですが。
私はmql4を学んでいます。
この数学の条件をmql4で表現する方法を教えてください。
IF( (A>B) AND (|X| <1) AND (Y<Z) ) then... ... ...。
|X|は絶対で、(X 1)を意味します。
MetaEditorからメッセージが表示されました。
"if 式が複雑すぎる" と表示されました。
何度も試してみたが何度も試しましたが、もうアイデアがありません。
感謝if(a>b && (x 1) && y<z){?
;あなたのコード
}
というのは、MathAbs(x) < 1 が真になるのは x=0 のときだけだからです。
http://docs.mql4.com/basis/operations/bool
一方、単純にこれが必要な場合もあります。
if(a>b && x<1 && y<z)
あるいは
if(a>b && x<-1 && y<z)
xはあなたの定義によると、0または-1では決してないので
私はあなたの絶対値の定義に混乱している
それは、MACDが負のクロスした場合、赤のバーと言うために、私が投稿した写真の指標[彼らは正式には何と呼ばれるかわからない]のような別のウィンドウでバー指標を作成することが可能ですか、負のゾーンで、正のクロスした場合緑を維持するなど等。また、価格が移動平均を下回る場合、同じバーインディケーターウィンドウを作成することは可能でしょうか。
もしこれが馬鹿げた質問に思えるなら、どうか我慢してください。私はチャート上の指標を見るとき、価格がどうなるかを予想しようとする傾向があるので、私は別々のウィンドウの指標を試して、すべてが同じ色を示したときに私が取引することを探しています。[心理的な理由)。これらの別々のバータイプの指標の作成は、私が作成することを学ぶことができる何か、任意の言語でプログラマから遠いイムです。
任意のアドバイスは非常に感謝されるでしょう。
dhはい、これは可能です。
MACDがマイナスを越えたら赤いバー、マイナスなら赤のまま、プラスなら緑のバーなど、掲載した写真のインジケーターのように別のウィンドウにバーインディケーターを作成することは可能ですか?また、価格が移動平均を下回る場合、同じバーインディケーターウィンドウを作成することは可能でしょうか。
もしこれが馬鹿げた質問に思えるなら、どうか我慢してください。私はチャート上の指標を見るとき、価格がどうなるかを予想しようとする傾向があるので、私は別々のウィンドウの指標を試して、すべてが同じ色を示したときに私が取引することを探しています。[心理的な理由)。これらの別々のバータイプの指標の作成は、私が作成することを学ぶことができる何か、任意の言語でプログラマから遠いイムです。
任意のアドバイスは非常に感謝されるでしょう。
dhここであなたは正確にあなたが望むものであり、以下のように異なる設定で1つのチャートに同じ指標のすべての4つをロードし、すべての赤のときに販売し、すべての青のときに購入します。
設定
1つ目を15分に設定
2番目 30分
三番目 60分
四番目 140分
感謝
皆さん、ありがとうございます。
とても感謝しています。
一定のティックチャートや一定のレンジバーを別のウィンドウにプロットする何らかのタイプのインジケータを書くことは可能でしょうか?これらは時間軸を持たない別のチャート形式です。例えば、100ティックバーは、価格が100ティック動くたびに形成されます。つまり、出来高が少ない場合はバーが形成されません。一定範囲バーは、価格が範囲内で設定されたティック数だけ動くと形成されます。例えば、20に設定されたレンジバーは、価格が20ピップのレンジを埋めるたびに形成されます。その後、次のバーが開始されます。これらは時間ベースではないので、このプラットフォームで可能かどうかはわかりません。
EAに簡単なアラートを追加する
こんにちは、私はここで必要な小さな助けを見つけることを望む!あなたは、例えば、このEAのためのアラートを追加する方法を私に示すことができますか? ちょうど条件が買いのために満たされたとき、それはまた私に警告する。
ありがとうございます。
レオ
extern int MagicNumber = 0;
extern bool SignalMail = False;
extern bool EachTickMode = False;
extern double Lots = 1.0;
extern int Slippage = 3;
extern bool StopLossMode = True;
extern int StopLoss = 30;
extern bool TakeProfitMode = True; extern int StopLoss = 30; extern bool TakeProfitMode = True;
extern int TakeProfit = 60;
extern bool TrailingStopMode = True; extern int TakeProfit = 60; extern bool TrailingStopMode = True;
extern int TrailingStop = 30; extern int TrailingStop = 30;
#定義 SIGNAL_NONE 0
#define SIGNAL_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#定義 SIGNAL_CLOSESELL 4
int BarCount;
int Current;
bool TickCheck = False;
//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int init() {
BarCount = Bars;
if (EachTickMode) Current = 0; else Current = 1;
return(0);
}
//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int deinit() {
return(0);
}
//+------------------------------------------------------------------+
//| エキスパートスタート機能
//+------------------------------------------------------------------+
int start() {
int Order = SIGNAL_NONE;
int Total, Ticket;
double StopLossLevel, TakeProfitLevel;
if (EachTickMode && Bars != BarCount) TickCheck = False;
Total = OrdersTotal();
オーダー = SIGNAL_NONE;
//+------------------------------------------------------------------+
//| 変数開始
//+------------------------------------------------------------------+
double Buy1_1 = iMA(NULL, 0, 89, 0, MODE_SMA, PRICE_CLOSE, Current + 0);
double Buy1_2 = iClose(NULL, 0, Current + 0);
double Buy2_1 = iMA(NULL, 0, 445, 0, MODE_EMA, PRICE_CLOSE, Current + 0); double Buy2_2 = iClose(NULL, 0, PRICE_CLOSE, Current + 0);
double Buy2_2 = iClose(NULL, 0, Current + 0); double Buy2_1 = iMA(NULL, 0, MODE_EMA, PRICE_CLOSE, Current + 0);
//+------------------------------------------------------------------+
//| 変数終了
//+------------------------------------------------------------------+
//ポジションチェック
bool IsTrade = False;
for (int i = 0; i < トータル; i ++) { { {オーダーセレクト(i, SELECT_BY_PASS)
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType() <= OP_SELL && OrderSymbol() == Symbol())) { IsTrade = True?
IsTrade = Trueです。
if(OrderType() == OP_BUY){
//Close
//+------------------------------------------------------------------+
//| シグナル開始(買い終了)
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| シグナル終了(買い終了)
//+------------------------------------------------------------------+
if (オーダー == 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):シグナルを送信します。
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
を続けます。
}
//トレーリングストップ
if(TrailingStopMode && TrailingStop > 0) { /トレーリングストップ
if(ビッド - オーダーオープン価格() > ポイント * TrailingStop) { {
if(オーダーストップ・ロス() < ビッド - ポイント * トレーリングストップ) { { (ビッド - ポイント * トレーリングストップ)
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen)を実行します。
if (!EachTickMode) BarCount = Bars;
を続けます。
}
}
}
} else {
//Close
//+------------------------------------------------------------------+
//| シグナル開始(売り終了)
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| シグナル終了(売り終了)
//+------------------------------------------------------------------+
if (オーダー == 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):シグナルを送信します。
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
を続けます。
}
//トレーリングストップ
if(TrailingStopMode && 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;
を続けます。
}
}
}
}
}
}
//+------------------------------------------------------------------+
//| Signal Begin(Entry)シグナル
//+------------------------------------------------------------------+
if (Buy1_1 < Buy1_2 && Buy2_1 < Buy2_2) Order = SIGNAL_BUY.Buy1_1 < Buy1_2 && Buy2_1 < Buy2_2) Order = SIGNAL_BUY;
//+------------------------------------------------------------------+
//| シグナル終了
//+------------------------------------------------------------------+
//買い
if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)) )){
if(!IsTrade){。
//フリーマージンチェック
if (アカウントフリーマージン() < (1000 * ロット)) {
Print("資金がありません。フリーマージン = ", AccountFreeMargin());
return(0);
if (StopLossMode) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;
if (TakeProfitMode) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0。
Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue)。
if(チケット > 0) {
if (オーダーセレクト(チケット、SELECT_BY_TICKET、MODE_TRADES)) {
Print("BUY order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy")。
} else {
Print("買い注文の開始エラー :", GetLastError());
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}
//売り
if (注文 == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))。{
if(!IsTrade){。
//フリーマージンチェック
if (アカウントフリーマージン() < (1000 * ロット)) {
Print("資金がありません。フリーマージン = ", AccountFreeMargin());
return(0);
if (StopLossMode) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0;
if (TakeProfitMode) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0。
Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", MagicNumber, 0, DeepPink)。
if(チケット > 0) {
if (オーダーセレクト(チケット, 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) } } if (!EachTickMode) BarCount = Bars;
return(0);
}
//+------------------------------------------------------------------+
お礼とその他の質問
私の質問に答えてくれてありがとうございました。
newdigital, Kalenzo, asmdevの皆さん。
そして、すべての人に感謝します。
次の質問です。
1.)起こることと起こったことの値を比較する方法
例えば、時間の変数である "n "を今とすると、n-a = "a "時間前となります。
(n-a)に起こった時のRSIとRSIn(now)の値を比較する方法。
また、MA50を現在から3本前のバーと最後のバーで比較するにはどうしたらよいでしょうか。
2.)1.によると、実際のところ、強気・弱気の乖離はどのように発生するのでしょうか?
その条件とは 定義された時間枠の最高値と最高値のRSIが存在する。そして、時間が経過した後...我々は新しい最高値に出会うが、新しいRSIの高値(RSIは新しい高値を作るのに失敗した)が続いていない。
このような状況は、現実性の高い売り シグナルであり、買いシグナルはその逆であることは誰もが知っていることなので、私のEAにそれを知ってもらいたい。
ありがとうございました。