[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 193

 
olis:

こんにちは。

注文を出すのに一番簡単な例を教えてください(すぐに、ifを使わずに)。
チュートリアルは非常に複雑です。

注文送信(OrderSend)

int OrderSend( string symbol,int cmd, double volume,double price, int slippage,double stoploss, double takeprofit,string comment=NULL,int magic=0,datetime expiration=0,color arrow_color=CLR_NONE).

ポジションを建てるとき、または注文を出すときに使用する基本的な機能。
トレードサーバーが注文に割り当てたチケット番号、または失敗した場合は -1 を返します。エラーの詳細な情報を得るには、GetLastError() 関数を呼び出す必要があります。
注意事項
成行注文(OP_SELLまたはOP_BUY)を発注する場合、最新のBid(売り)またはAsk(買い)の価格のみを開始価格として使用することができます。現在の金融商品とは異なる金融商品に対して操作を行う場合、その金融商品の最新の相場を取得するには、MarketInfo() 関数にMODE_BIDまたはMODE_ASKパラメータを指定して使用する必要があります。推定価格や正規化されていない価格を使用することはできません。要求した始値が価格フローにない場合、または要求した価格が小数点 以下の桁数で正規化されていない場合、エラー 129(ERR_INVALID_PRICE)が発生します。要求された始値が著しく古い場合、slimage パラメータの値に関係なく、エラー 138(ERR_REQUOTE)が発生します。要求された価格が期限切れであっても、価格の流れの中に存在する場合、ポジションは現在の価格で、現在の価格が価格+スリッページの 範囲に収まる場合にのみ建てられます。

StopLossとTakeProfitの価格は、市場に近づけすぎないようにしてください。最小ストップ距離(pips)は、MarketInfo() 関数でMODE_STOPLEVELパラメータを使用して取得することができます。エラー 130 (ERR_INVALID_STOPS) は、誤操作または正規化されていない停止があった場合に発生する。

保留中の注文を出す場合、始値は市場に近すぎてはいけません。また、MarketInfo() 関数のMODE_STOPLEVELパラメータを使用して、現在の市場価格からの保留価格の最小距離(ポイント)を取得することも可能です。保留中の注文の開始価格が正しくない場合、エラー 130 (ERR_INVALID_STOPS) が発生します。

一部の取引サーバーでは、保留中の注文の有効期限を設定することができます。この場合、expiration パラメータに0以外の値を設定しようとすると、エラー 147 (ERR_TRADE_EXPIRATION_DENIED) が発生する。

一部のトレードサーバーでは、未決済注文と保留注文の合計 数に上限を設定することができます。この制限を超えた場合、新しいポジションは開設されず(保留注文は設定されず)、取引サーバーはエラー 148(ERR_TRADE_TOO_MANY_ORDERS)を返します。
パラメータ
記号 - 取引されている金融商品の名称。
コマンド - 貿易業務。取引 値のいずれかを指定することができます。
ボリューム - ロット数
価格 - オープニング価格です。
ずれ - 成行注文(買いまたは売り注文)において、許容される最大限の価格変動。
ストップロス - 損失が発生したときにポジションを閉じるときの価格(損失がない場合は0)。
テイクプロフィット - 収益性水準に達したときのポジションの終値(収益性水準がない場合は0)。
コメント - 注文コメント文。コメントの最後の部分は、取引サーバーで変更することができます。
魔法 - 注文のマジックナンバー。ユーザー定義識別子として使用できる。
満了 - 保留中の注文の有効期限。
矢印の色 - チャート上の始動矢印の色。パラメータがない場合、または値がCLR_NONEの場合、チャート上にオープニングの矢印は表示されません。
 
ULAD:

パターン形成から0小節までのライフタイムの計算方法がわからない。

パターンが存在し、価格と時間に関する難しい言及がない場合。

そのパターンは常に存在するわけではありません。ある瞬間に形成されたものです。ここでは、その形成時刻と現在のバーの時刻、またはその形成時刻のバーと現在のバーへのリンクを示します。パターン形成と現在時刻 の差を見つけることができるか?
 
olis:

こんにちは。

注文を出すのに一番簡単な例を教えてください(すぐに、if抜きで)。
教科書はとても複雑です。


//--------------------------------------------------------------------
// simpleopen.mq4 
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
int start()                                  // Спец. функция start()
  {                                          // Открытие BUY
   OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point);
   return;                                   // Выход из start()
  }
//--------------------------------------------------------------------
 
Roll:


ありがとうございます!うまくいきました
 

S.K.さんの本、rocseparate.mq4 Expert Advisorの例を把握したいのですが、テストを開始し、チャートを表示させます。一番下にrocseparateウィンドウがありますが、空っぽです。メインウィンドウに描画されるインジケータを作る方法を教えてください。コードは書籍の通りです。

//-------------------------------------------------------------- 5a --
   double L_1=iCustom(NULL,0,"rocseparate",H,P,B,A,1,0);
   double L_5=iCustom(NULL,0,"rocseparate",H,P,B,A,5,0);
//-------------------------------------------------------------- 5b --
   if (L_5<=-Level && L_1>L_5)
     {
      Opn_B=true;                               // Критерий 
 
ScioMe:

S.K.さんの本、rocseparate.mq4 Expert Advisorの例を把握したいのですが、テストを開始し、チャートを表示します。一番下にrocseparateウィンドウがありますが、空っぽです。メインウィンドウに描画されるインジケータを作る方法を教えてください。書籍にあるようなコードです。


Tutorial: "...The
rocseparate.mq4 customindicator of pricechange rate on current, nearest larger and next larger timeframes..."...現在のタイムフレーム、直近の大きなタイムフレーム、次の大きなタイムフレームの価格変動 率のカスタムインディケータは roc.mq4 インジケーターの完全なアナログ ですが、別ウィンドウに表示されます。これにより、異なる時間軸の速度線の値を、MA基準ではなく、水平ゼロ線に対する相対値として算出することができました」。

 
Roll:


Tutorial: "..
. 現在、直近の大きな時間枠、次の大きな時間枠の価格変動率のカスタムインジケーターrocseparate.mq4は 、別ウィンドウに表示されます ... は roc.mq4 インジケーターの完全なアナログ ですが、別ウィンドウに表示されます。これにより、異なる時間軸の速度線の値を、MA基準ではなく、水平ゼロ線に対する相対値として算出することができました」。


そうです、全くその通りです。チャートに投げると、rocseparateはそれ自身のウィンドウで下部に表示されます。しかし、テスト後に「Open Chart」をクリックすると、チャートウィンドウが空っぽになってしまいます。何が問題なのか理解できないのですが?
 
そして、キーボードのEndを押して(EA shared.mq4)、インジケータを観察します(ウィンドウは空ではありません)。
 

こんにちは、皆さん。

この質問については、まだあなたのアドバイスが必要です。

EAを書いていて、問題にぶつかった。TSによると、Expert Advisorは指定された分数の間、1分ごとに計算を実行する必要があります。その後、すべてのデータをリセットし、最初から計算を開始する必要があります。

そして、そのサイクルごとに時間周期は1分から60分までです。これをコードで正しく記述する方法をご教示ください。次のコードを周期的に実行し、周期時間を1分から60分の間で設定できるようにするにはどうすればよいでしょうか。

今のところ、私の5分間のループは次のようなものです。

if ((TimeMinute(TimeCurrent()))==time1)

Price20=koef_10;

if ((TimeMinute(TimeCurrent()))==time2)

Price20=koef_10;

if ((TimeMinute(TimeCurrent()))==time3)

Price20=koef_10;

if ((TimeMinute(TimeCurrent()))==time4)

Price20=koef_10;

if ((TimeMinute(TimeCurrent()))==time5)

Price20=koef_10;


ご協力をお願いします。

 
extralifes:

こんにちは、皆さん。

この質問にはまだアドバイスが必要です。

EAを書いていて、問題にぶつかった。TSによると、Expert Advisorは指定された分数の間、1分ごとに計算を実行する必要が あります。その後、すべてのデータをリセットし、最初から計算を開始する必要があります。

そして、そのサイクルごとに時間周期は1分から60分までです。これをコードで正しく記述する方法をご教示ください。次のコードを周期的に実行し、周期時間を1分から60分の間で設定できるようにするにはどうすればよいでしょうか。

今のところ、私の5分間のループは次のようなものです。


ご協力をお願いします。

これは、あなたの繰り返しの投稿です。

と聞かれても、理解できないだけだと思われます。

ハイライトされたフレーズを言い換えてみてください。