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

 
Zhunko:

残念ながら、DDEを搭載していないすべてのバリエーションは、パックからティックを失う運命にあります。近似によって回復させることができるが、これはあまり良いことではない。

エクセルから直接DDEで取得するオプションもあります。


ヴァディム ありがとうございます。見てみるよ。
 
granit77:
1.https://www.mql5.com/ru/articles/1368
2.https://www.mql5.com/ru/forum/100028/page58#94290

そして、第一近似値では、それで十分です。

ビクター、心から感謝します。この記事とRoshさんのおすすめをぜひ見てみたいと思います。
 

皆さん、こんにちは! 試み3号です:))

プロフェッショナルの皆様へ!!!

いいですか、お願いです、何が問題なのか理解できないんです。保留中の注文を1つ出そうとすると、2つ注文が出る。

while (Ticket2<0)

{

RefreshRates()。

Ticket2=OrderSend(Symbol(),2,Lots_New*2,価格,2,0,TP,", MN); //1注文は保留 買い

アラート("Error in Cycle",GetLastError()); アラート("TIK2= ",Ticket2;")

Sleep(500)です。

}

回答してくれた皆さん、ありがとうございました。

 
demlin:

皆さん、こんにちは! 試み3号です:))

プロフェッショナルの皆様へ!!!

いいですか、お願いです、何が問題なのか理解できないんです。保留中の注文を1つ出そうとすると、2つ注文が出る。

while (Ticket2<0)

{

RefreshRates()。

Ticket2=OrderSend(Symbol(),2,Lots_New*2,価格,2,0,TP,", MN); //1注文は保留 買い

アラート("Error in Cycle ",GetLastError()); アラート("TIK2= ",Ticket2;")

Sleep(500)です。

}

回答してくれた皆さん、ありがとうございました。


チケット番号に条件としてフラグ(注文の保留の 有無)を追加する。つまり、最初のフラグはfalse、次に条件としてwhile ticket < 0 and flag==false - pendingを設定し、フラグはtrueにする。保留中の注文が成行でトリガーされた後、または保留中の注文が削除された後、フラグをfalseにリセットしてください。こうしてみると...
 

トレンドラインの端にある価格をどのように表示するかという問題があります。また、右(左)の価格マーカーをトレンドラインや安値(高値)バーに磁着させることも可能です。MT4標準のチャート ツールを使いたいのですが。しかし、これが不可能な場合、ウィンドウ内のすべてのトレンドライン(私は4つのトレンドラインを使用しており、すべての端に価格が必要です)に右(左)値札を添付するインジケータが必要かもしれません?トレンドラインは梁がなく、エッジは高値または安値のバーに取り付けられている - 当然、手動で。4本のトレンドラインが連なったものは、ジグザグに似ています。インジケーターを書いた経験がない。実はそのおかげで書いているんです。インジケーターを書いた経験がない。

 
demlin:

皆さん、こんにちは! 試み3号です:))

プロフェッショナルの皆様へ!!!

いいですか、お願いです、何が問題なのか理解できないんです。保留中の注文を1つ出そうとすると、2つ注文が出る。

while (Ticket2<0)

{

RefreshRates()。

Ticket2=OrderSend(Symbol(),2,Lots_New*2,価格,2,0,TP,", MN); //1注文は保留 買い

アラート("Error in Cycle ",GetLastError()); アラート("TIK2= ",Ticket2;")

Sleep(500)です。

}

ご回答いただけると幸いです。

理屈はとても簡単です。

もし、正しいタイプの保留中の注文が なければ、それを設定します。以上です。

 

質問なのですが、ある条件に達するとシグナルを出すインジケータがあります。

質問は、シグナルの代わりに注文を開くようにするにはどうしたらいいかということです。

以下は、信号とメッセージのコードです。

if (SoundON==true && i==1 && CrossUp[i] > CrossDown[i] && alertTag!=Time[0]){
         Alert("Открываем Селл ",Symbol()," ",Period());
        alertTag = Time[0];

アラートを 開く場所だけを配置しようとしたのですが、うまくいきません。

もし、インジケータから何を添付するのかが記述されているEAがあれば、非常にありがたいです。

 
FoxUA:

質問なのですが、ある条件に達するとシグナルを出すインジケータがあります。

質問は、シグナルの代わりに注文を開くようにするにはどうしたらいいかということです。

以下は、信号とメッセージのコードです。

if (SoundON==true && i==1 && CrossUp[i] > CrossDown[i] && alertTag!=Time[0]){
         Alert("Открываем Селл ",Symbol()," ",Period());
        alertTag = Time[0];

アラートを開く場所だけを配置しようとしたのですが、うまくいきません。

信号の置き方がわからなければ、アラートを出さないし、アラートを見逃すこともないでしょう。

インジケータは注文を開くことができません。これはEAの仕事です。このコードがインジケータに属する場合、このデータのために特別に作成されたバッファにデータを書き込む必要があります。シグナルがないときは、0または空の値をバッファに書き込み、シグナルがあるとき(あなたの例のように)、Alert();の代わりに、バッファに値を書き込みます。
例:買いの場合、
+1売りの場合、
-1
次にExpert AdvisorでiCustom(); を使ってバッファからデータを読み込みます。

または、Expert Advisorに直接これらの条件をすべて書き込む。

 

おはようございます。

毎日注文を受け付けています。

Magic_b++; OrderSend (Symbol(), OP_BUY, Loot,Ask, 50, SL, TP,NULL,Magic_b,0,L) (or Magic_s++; OrderSend (Symbol(), OP_BUY, Loot,Bid, 50, SL, TP,NULL,Magic_s,0,L; depending on conditions) です。

毎日決まった時間に新規注文を決済したい。 そのために以下のスキームを使っている(金曜日は除く)。

if ((DayOfWeek () == 1) || (DayOfWeek () == 2) || (DayOfWeek () == 3) || (DayOfWeek () == 4 )))

{if (((タイムカー > "23:59:00") && (タイムカー < "23:59:04")))&& (iOpen(Symbol (),PERIOD_H4, 0))

!= iOpen(Symbol (), PERIOD_D1, 0))

{if (iOpen(Symbol (), PERIOD_H4, 0) > iOpen(Symbol (), PERIOD_D1, 0))

{ アラート(「価格が高くなりました」)。

for(i=OrdersTotal()-1;i>=0;i--)

{ OrderSelect(i, SELECT_BY_POS)

if(OrderMagicNumber()==Magic_b)

{Alert("orderticket",OrderTicket())。

OrderClose(OrderTicket(),Loot,Bid,80,R)を実行します。

アラート(「GetLastError」)。

コントロール=0。

Magic_b++です。

} } }

if (((timecur > "22:59:00") && (timecur < "22:59:04")))&& (iOpen(Symbol (), PERIOD_H4, 0))

!= iOpen(Symbol (), PERIOD_D1, 0))

{if (iOpen(Symbol (), PERIOD_H4, 0) < iOpen(Symbol (), PERIOD_D1, 0))

{ アラート(「 価格が高いです」)

for(i=OrdersTotal()-1;i>=0;i--)

{ OrderSelect(i, SELECT_BY_POS)

if(OrderMagicNumber()==Magic_s)

{Alert("orderticket",OrderTicket())。

OrderClose(OrderTicket(),Loot,Ask,80,R)を実行します。

Alert(GetLastError)です。

コントロール=0。

Magic_s++。

} } } } }.

しかし、何らかの理由でテスターで毎日(23.08から23.10 2010からテストで例)だけ27.09を閉じていない。そして24.08は、nytp、無SL -貿易が閉じていないという事実にもかかわらず、すでに三日頭痛、私は何が間違っているか把握することはできません。

P.S.入る条件は必ず閉じる条件と一致する(もちろん時間を除いて、ここでは10月22日午前1時00分と認めることができる)。

 
射程距離が4秒と短いからかな?この時、バーの刻みは少なく、テスターは設定した間隔に当たらない可能性があります。