コーディングの方法は? - ページ 60 1...535455565758596061626364656667...347 新しいコメント fracte 2007.12.22 09:30 #591 Kalenzoさん、ありがとうございます。 OP_BUYLIMITで試したのですが、うまくいきません。 OP_BUYSTOPで試してみます。 MrM 2007.12.25 17:06 #592 クイックコーディングの質問 画面上に(すべての終値の)平均値で横線を 引くにはどうしたらいいのでしょうか?そのための具体的なコードはあるのでしょうか? jjk2 2007.12.26 06:31 #593 シンプルなブレイクアウトEA //+------------------------------------------------------------------+ //| SimpleBreakoutEA.mq4 | //| | //| | //+------------------------------------------------------------------+ #property copyright "jjk2" #property link "" //---- input parameters extern int ____TIME_RANGE____; extern int TimeRange = 1; // # of Hours to look back from TimeEnd. ex) if breakout is @ 22:00 GMT to 23:00 GMT. Total TimeRange to lookback is 8 hrs. extern int TimeBegin = 22; extern int TimeEnd = 23; extern int CancelTime = 20; // ALL REMAINING ORDERS WILL BE CANCELED AT THIS INDICATED TIME. extern int ______FILTERS______; extern int TriggerFilter = 0; extern bool AllowBreakEven = True; extern int ______ORDERS______; extern double Lots = 0.1; extern int StopLoss = 50; extern int TakeProfit = 100; extern int Slippage = 2; extern int MagicNumber = 23423; int init() { return(0); } int deinit() { return(0); } int start() { // OPEN ORDERS @ HIGH/LOW from TIMEBEGIN to TimeEND if (Hour() >= TimeBegin-1 && Hour() >= TimeEnd) { int HH = iHighest(NULL, 0, MODE_HIGH,TimeRange,0); int LL = iLowest(NULL, 0, MODE_LOW,TimeRange,0); } double SL_High = Ask - (StopLoss * Point); double SL_Low = Bid + (StopLoss*Point); double TP_High = Ask + (TakeProfit*Point); double TP_Low = Bid - (TakeProfit*Point); if ( Ask > HH + TriggerFilter) OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, SL_High, TP_High, "Breakout Buy", MagicNumber, NULL, Blue); if ( Bid < LL + TriggerFilter) OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, SL_Low, TP_Low, "Breakout Sell", MagicNumber, NULL, Red); // MOVE SL @ BreakEven if allowed. MarketPrice distance Open Price > stop*point, then stop must equal to MarketPrice - Stop*point as new stoploss. int total = 0; if ( AllowBreakEven == True ) { for(total = OrdersTotal() - 1; total >= 0; total--) { OrderSelect(total, SELECT_BY_POS); if ( Bid - OrderOpenPrice() > SL_High*Point ) OrderModify(OrderTicket(), OrderOpenPrice(), Bid - SL_High*Point, OrderTakeProfit(),0, CLR_NONE); if ( OrderOpenPrice() - Ask > SL_Low*Point ) OrderModify(OrderTicket(), OrderOpenPrice(), Ask + SL_Low*Point , OrderTakeProfit(),0, CLR_NONE); } } return(0); } //+------------------------------------------------------------------+ がなぜか動作しない・・・誰か原因わかる? How to code? オジャラEA MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 Beno 2007.12.27 18:18 #594 ericlooi 2007.12.28 17:44 #595 インジケータをEA化するには? こんにちは、インジケータをEAにする方法を教えてください。 多くのインジケータは、ある条件になると矢印のサインを出すので、EAでテストしてみたいのです。 私はEAが形成された矢印に従って取引を行うようにしたいです。 どなたか教えてください。ありがとうございます。 Sergey Golubev 2007.12.28 18:01 #596 こちらは矢印記号によると https://www.mql5.com/en/forum/173249/page51 ericlooi 2007.12.29 02:24 #597 付属のインジケータをEAにするのはどうでしょうか? どなたか教えてください。ありがとうございます。 削除済み 2007.12.29 06:01 #598 ファイル: envelopes.mq4 3 kb Ingvar Engelbrecht 2007.12.29 10:07 #599 コード構成 こんにちは。 私はメタトレーダーは初めてですが、プログラミングはとても経験豊富です。MTでExpert Advisorのサンプルと少し複雑なIndicatorをいくつか作りました。しかし、複雑なEAをどのように構成すればよいのかがわかりません。私は、EAが異なるセットアップ条件をチェックするためにいくつかの「シグナル」関数を呼び出すことを望んでいます。 これらの関数はどのようにコーディングすればよいのでしょうか? 1.EA内の「インライン」関数として 2.画面に書き込むのではなく、値を返す「別の」インジケータとして? 3. iMAを呼び出すような、他の "別の "関数として呼び出す。 1を選択した場合、EAのインライン関数がCloseを使用して過去200バーを実行し、iMAを呼び出すことができますか? 2.は大丈夫でしょうか?インジケータをコーディングする場合、「利用可能な」すべてのバーが処理されますが、もちろんEAには必要ありません。 代替案3は論理的な選択のように思えますが、バック テストで動作するようにそれをどのように構成するか、それに何を渡す必要があるか、関数がデフォルトでアクセスできるもの(例えばCloseなど)は何か、よくわかりません。 シグナル」関数で確立する必要がある例として、現在のトレンドは何か、いつ始まったのか、があります。私はそれをインジケータでコード化しましたので、実際のコードを行う方法を知っています。 何かアドバイスがあれば幸いです。 Ingvar wolfe 2007.12.29 18:01 #600 ingvar_e: こんにちは。 私はメタトレーダーは初めてですが、プログラミングはとても経験豊富です。MTでExpert Advisorのサンプルと少し複雑なIndicatorをいくつか作りました。明確でないのは、かなり複雑なEAをどのように構成するかということです。私は、EAが異なるセットアップ条件をチェックするためにいくつかの「シグナル」関数を呼び出すことを望んでいます。これらの関数はどのようにコーディングすればよいのでしょうか?1.EA内の「インライン」関数として2.画面に書き込むのではなく、値を返す「別の」インジケータとして?3. iMAを呼び出すような、他の "別の "関数として呼び出す。1を選択した場合、EAのインライン関数がCloseを使用して過去200バーを実行し、iMAを呼び出すことができますか?2.は大丈夫でしょうか?インジケータをコーディングする場合、「利用可能な」すべてのバーが処理されますが、もちろんEAには必要ありません。代替案3は論理的な選択のように思えますが、バックテストで動作するようにそれをどのように構成するか、それに何を渡す必要があるか、関数がデフォルトでアクセスできるもの(例えばCloseなど)は何か、よくわかりません。シグナル」関数で確立する必要がある例として、現在のトレンドは何か、いつ始まったのか、があります。私はそれをインジケータでコード化しましたので、実際のコードを行う方法を知っています。何かアドバイスがあれば幸いです。 イングヴェール おそらく、すでにこの方法を知っていると思いますので、そうであれば申し訳ありません。 現在の バーの移動平均 iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,0); 200本前の 移動平均 iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,200) です。 現在のバーから過去のバーまで、好きなバーから移動平均を呼び出すことができます。 1...535455565758596061626364656667...347 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
Kalenzoさん、ありがとうございます。
OP_BUYLIMITで試したのですが、うまくいきません。
OP_BUYSTOPで試してみます。
クイックコーディングの質問
画面上に(すべての終値の)平均値で横線を 引くにはどうしたらいいのでしょうか?そのための具体的なコードはあるのでしょうか?
シンプルなブレイクアウトEA
//| SimpleBreakoutEA.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright "jjk2"
#property link ""
//---- input parameters
extern int ____TIME_RANGE____;
extern int TimeRange = 1; // # of Hours to look back from TimeEnd. ex) if breakout is @ 22:00 GMT to 23:00 GMT. Total TimeRange to lookback is 8 hrs.
extern int TimeBegin = 22;
extern int TimeEnd = 23;
extern int CancelTime = 20; // ALL REMAINING ORDERS WILL BE CANCELED AT THIS INDICATED TIME.
extern int ______FILTERS______;
extern int TriggerFilter = 0;
extern bool AllowBreakEven = True;
extern int ______ORDERS______;
extern double Lots = 0.1;
extern int StopLoss = 50;
extern int TakeProfit = 100;
extern int Slippage = 2;
extern int MagicNumber = 23423;
int init()
{
return(0);
}
int deinit()
{
return(0);
}
int start()
{
// OPEN ORDERS @ HIGH/LOW from TIMEBEGIN to TimeEND
if (Hour() >= TimeBegin-1 && Hour() >= TimeEnd)
{
int HH = iHighest(NULL, 0, MODE_HIGH,TimeRange,0);
int LL = iLowest(NULL, 0, MODE_LOW,TimeRange,0);
}
double SL_High = Ask - (StopLoss * Point);
double SL_Low = Bid + (StopLoss*Point);
double TP_High = Ask + (TakeProfit*Point);
double TP_Low = Bid - (TakeProfit*Point);
if ( Ask > HH + TriggerFilter) OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, SL_High, TP_High, "Breakout Buy", MagicNumber, NULL, Blue);
if ( Bid < LL + TriggerFilter) OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, SL_Low, TP_Low, "Breakout Sell", MagicNumber, NULL, Red);
// MOVE SL @ BreakEven if allowed. MarketPrice distance Open Price > stop*point, then stop must equal to MarketPrice - Stop*point as new stoploss.
int total = 0;
if ( AllowBreakEven == True )
{
for(total = OrdersTotal() - 1; total >= 0; total--)
{
OrderSelect(total, SELECT_BY_POS);
if ( Bid - OrderOpenPrice() > SL_High*Point )
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - SL_High*Point, OrderTakeProfit(),0, CLR_NONE);
if ( OrderOpenPrice() - Ask > SL_Low*Point )
OrderModify(OrderTicket(), OrderOpenPrice(), Ask + SL_Low*Point , OrderTakeProfit(),0, CLR_NONE);
}
}
return(0);
}
//+------------------------------------------------------------------+がなぜか動作しない・・・誰か原因わかる?
インジケータをEA化するには?
こんにちは、インジケータをEAにする方法を教えてください。
多くのインジケータは、ある条件になると矢印のサインを出すので、EAでテストしてみたいのです。
私はEAが形成された矢印に従って取引を行うようにしたいです。
どなたか教えてください。ありがとうございます。
こちらは矢印記号によると
https://www.mql5.com/en/forum/173249/page51
付属のインジケータをEAにするのはどうでしょうか?
どなたか教えてください。ありがとうございます。
コード構成
こんにちは。
私はメタトレーダーは初めてですが、プログラミングはとても経験豊富です。MTでExpert Advisorのサンプルと少し複雑なIndicatorをいくつか作りました。しかし、複雑なEAをどのように構成すればよいのかがわかりません。私は、EAが異なるセットアップ条件をチェックするためにいくつかの「シグナル」関数を呼び出すことを望んでいます。
これらの関数はどのようにコーディングすればよいのでしょうか?
1.EA内の「インライン」関数として
2.画面に書き込むのではなく、値を返す「別の」インジケータとして?
3. iMAを呼び出すような、他の "別の "関数として呼び出す。
1を選択した場合、EAのインライン関数がCloseを使用して過去200バーを実行し、iMAを呼び出すことができますか?
2.は大丈夫でしょうか?インジケータをコーディングする場合、「利用可能な」すべてのバーが処理されますが、もちろんEAには必要ありません。
代替案3は論理的な選択のように思えますが、バック テストで動作するようにそれをどのように構成するか、それに何を渡す必要があるか、関数がデフォルトでアクセスできるもの(例えばCloseなど)は何か、よくわかりません。
シグナル」関数で確立する必要がある例として、現在のトレンドは何か、いつ始まったのか、があります。私はそれをインジケータでコード化しましたので、実際のコードを行う方法を知っています。
何かアドバイスがあれば幸いです。
Ingvar
こんにちは。
私はメタトレーダーは初めてですが、プログラミングはとても経験豊富です。MTでExpert Advisorのサンプルと少し複雑なIndicatorをいくつか作りました。明確でないのは、かなり複雑なEAをどのように構成するかということです。私は、EAが異なるセットアップ条件をチェックするためにいくつかの「シグナル」関数を呼び出すことを望んでいます。
これらの関数はどのようにコーディングすればよいのでしょうか?
1.EA内の「インライン」関数として
2.画面に書き込むのではなく、値を返す「別の」インジケータとして?
3. iMAを呼び出すような、他の "別の "関数として呼び出す。
1を選択した場合、EAのインライン関数がCloseを使用して過去200バーを実行し、iMAを呼び出すことができますか?
2.は大丈夫でしょうか?インジケータをコーディングする場合、「利用可能な」すべてのバーが処理されますが、もちろんEAには必要ありません。
代替案3は論理的な選択のように思えますが、バックテストで動作するようにそれをどのように構成するか、それに何を渡す必要があるか、関数がデフォルトでアクセスできるもの(例えばCloseなど)は何か、よくわかりません。
シグナル」関数で確立する必要がある例として、現在のトレンドは何か、いつ始まったのか、があります。私はそれをインジケータでコード化しましたので、実際のコードを行う方法を知っています。
何かアドバイスがあれば幸いです。
イングヴェールおそらく、すでにこの方法を知っていると思いますので、そうであれば申し訳ありません。
現在の バーの移動平均
iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,0);
200本前の 移動平均
iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,200) です。
現在のバーから過去のバーまで、好きなバーから移動平均を呼び出すことができます。