記事"MQL5でExpert Advisorを書くための初心者向けステップバイステップガイド"についてのディスカッション - ページ 12 1...5678910111213141516171819...30 新しいコメント Grenjohn 2014.10.28 12:02 #111 お許しください。当時はこのボタンの使い方がわからなかったのですが、今はわかるような気がします。extern int tp = 1000; extern int sl = 1000; extern double Lots = 0.2; int ticket; void OnStart() { datetime date1=D'2014.10.28.13.22.13'; if(OrdersTotal()==0) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red); } if (OrdersTotal()==1 && Hour( )==13 && Minute( )==23 && Seconds ( )>=00) { bool select1=OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES); bool close1=OrderClose(ticket,Lots,Bid,20,Green); } return(0); } 削除済み 2014.10.28 12:22 #112 Grenjohn:お許しください。当時はこのボタンの使い方がわからなかったのですが、今はわかるような気がします。それは条件についてだ:if( OrdersTotal() == 0 )指定した日付date1が発生したかどうかのチェックが欠けているのです。もし未決済の注文がなければ、最初のティックですぐに注文を出す必要があります!つまり、ここと同じことをする必要があります、if (OrdersTotal()==1 && Hour( )==13 && Minute( )==23 && Seconds ( )>=00)ただし、正しい日、時、分、秒(数秒)を指定してください。そしてもう一つ。価格slとtpは正規化されている必要があります。 Grenjohn 2014.10.28 13:09 #113 SLとTPの価格を正常化するとはどういうことですか?extern int tp = 1000; extern int sl = 1000; extern double Lots = 0.3; int ticket; void OnStart() { datetime date1=D'2014.10.28.15.08.30'; if(OrdersTotal()==0 && Hour( )==15 && Minute( )==08 && Seconds( )>=30) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red); } if (OrdersTotal()==1 && Hour( )==15 && Minute( )==09 && Seconds( )>=00) { bool select1=OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES); bool close1=OrderClose(ticket,Lots,Bid,20,Green); } return(0); } Andrey Khatimlianskii 2014.10.28 14:26 #114 Grenjohn:このボタンの使い方がよくわからなかったのですが、今はわかったような気がします。extern datetime date1=D'2014.10.28 13:22:13'; extern datetime date2=D'2014.10.29 13:22:13'; extern int tp = 1000; extern int sl = 1000; extern double Lots = 0.2; int ticket = 0; void OnStart() { static int flag = 0; switch ( flag ) { // 0 - ポジションなし case 0: { // date1の時刻になったら、ポジションをオープンする。 if ( TimeCurrent() >= date1 ) { if ( ticket <= 0 ) { ticket = OrderSend( ... ); } if ( ticket > 0 ) { flag = 1; } } break; } // 1はポジション case 1: { // date2の時刻が来たらポジションを閉じる if ( TimeCurrent() >= date2 ) { if ( ticket > 0 && OrderSelect( ticket, SELECT_BY_TICKET ) && OrderCloseTime() <= 0 ) { if ( OrderClose( ticket, ... ) == true ) { ticket = 0; flag = 2; } } } break; } } }date1が発生したらポジションをオープン し、date2が発生したらポジションをクローズします。 削除済み 2014.10.28 16:10 #115 Grenjohn:それはチャートに参加することを停止し、それはSLとTPの価格を正規化するために何を意味するのか教えてください何か?https://www.mql5.com/ja/docs/convert/normalizedouble Документация по MQL5: Преобразование данных / NormalizeDouble www.mql5.com Преобразование данных / NormalizeDouble - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Grenjohn 2014.10.29 20:39 #116 皆さん、本当にありがとうございます。Expert Advisorを追加しようとしているのですが、追加されません。extern datetime date1=D'2014.10.29 22:29:10'; extern datetime date2=D'2014.10.29 21:30:00'; extern int tp = 1000; extern int sl = 1000; extern double Lots = 0.30; int ticket = 0; void OnStart() { static int flag = 0; switch ( flag ) { // 0 - ポジションなし case 0: { // date1の時刻になったら、ポジションをオープンする。 if ( TimeCurrent() >= date1 ) { if ( ticket <= 0 ) { ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red); } if ( ticket > 0 ) { flag = 1; } } break; } // 1はポジション case 1: { // date2の時間が来たらポジションを閉じる if ( TimeCurrent() >= date2 ) { if ( ticket > 0 && OrderSelect( ticket, SELECT_BY_TICKET ) && OrderCloseTime() <= 0 ) { if ( OrderClose( ticket,Lots,Bid,20,Green) == true ) { ticket = 0; flag = 2; } } } break; } } } Andrey Khatimlianskii 2014.10.30 00:30 #117 Grenjohn:皆さん、本当にありがとうございます。Expert Advisorを追加しようとしているのですが、追加されません。Expert Advisorではなく、インジケーターを作成したことになります。ウィザードから 新しいEAを 作成し、OnStart関数のコードとすべてのグローバル変数/外部パラメータのみを置き換えてください。 削除済み 2014.10.30 05:34 #118 komposter:これはエキスパートアドバイザーではなく、インジケーターを作成したことを意味します。ウィザードから 新しいEAを 作成し、OnStart関数のコードとすべてのグローバル変数/外部パラメータのみを置き換えてください。 おそらく、Expert Advisorを作成したが、スクリプト専用のOnStart()関数を使用したのでしょう。 削除済み 2014.10.30 05:40 #119 Grenjohn:皆さん、本当にありがとうございます。Expert Advisorを追加しようとしているのですが、追加されません。MQL4で新しいExpert Advisorを作成し、既存のコードをコピーして、次の行を置き換えます。void OnStart()をクリックしてください。void OnTick()これはExpert Advisorを作成 する場合です。スクリプトを作成したい場合は、新しいスクリプトを作成し、そこにある既存のコードを変更せずに完全にコピーしてください(時間ベースの取引の場合、スクリプトの意味はありませんが)。 Tron_KZ 2015.01.14 14:20 #120 記事より Новый бар характеризуется величиной тикового объема, равной 1, если он больше 1, то выполнение функции OnTick завершается.この説明を満たすコードはどこにありますか?それとも、そのようなコードは存在しないのでしょうか? 1...5678910111213141516171819...30 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
お許しください。当時はこのボタンの使い方がわからなかったのですが、今はわかるような気がします。
お許しください。当時はこのボタンの使い方がわからなかったのですが、今はわかるような気がします。
それは条件についてだ:
指定した日付date1が発生したかどうかのチェックが欠けているのです。もし未決済の注文がなければ、最初のティックですぐに注文を出す必要があります!つまり、ここと同じことをする必要があります、
ただし、正しい日、時、分、秒(数秒)を指定してください。
そしてもう一つ。価格slとtpは正規化されている必要があります。
SLとTPの価格を正常化するとはどういうことですか?
このボタンの使い方がよくわからなかったのですが、今はわかったような気がします。
date1が発生したらポジションをオープン し、date2が発生したらポジションをクローズします。
それはチャートに参加することを停止し、それはSLとTPの価格を正規化するために何を意味するのか教えてください何か?
皆さん、本当にありがとうございます。
Expert Advisorを追加しようとしているのですが、追加されません。
皆さん、本当にありがとうございます。
Expert Advisorを追加しようとしているのですが、追加されません。
Expert Advisorではなく、インジケーターを作成したことになります。
ウィザードから 新しいEAを 作成し、OnStart関数のコードとすべてのグローバル変数/外部パラメータのみを置き換えてください。
これはエキスパートアドバイザーではなく、インジケーターを作成したことを意味します。
ウィザードから 新しいEAを 作成し、OnStart関数のコードとすべてのグローバル変数/外部パラメータのみを置き換えてください。
皆さん、本当にありがとうございます。
Expert Advisorを追加しようとしているのですが、追加されません。
MQL4で新しいExpert Advisorを作成し、既存のコードをコピーして、次の行を置き換えます。
をクリックしてください。
これはExpert Advisorを作成 する場合です。スクリプトを作成したい場合は、新しいスクリプトを作成し、そこにある既存のコードを変更せずに完全にコピーしてください(時間ベースの取引の場合、スクリプトの意味はありませんが)。
この説明を満たすコードはどこにありますか?それとも、そのようなコードは存在しないのでしょうか?