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

 
peshihod:


保留中の注文と未決済の注文は異なる注文であることを理解しています。そして、保留中の注文がオープンされた場合、タスクは最初のもの、オープンオーダーに還元されます。私の理解が正しければ、非常に複雑になってきています。

課題は何ですか?もしかして、もっとシンプルな方法ですべてができるのでは?

保留と未決済注文は異なる注文であることは理解しています。-------------- はい(たぶん) いいえ(たぶん)です。主な内容は、この保留中の注文の 開始時にスクリプトが起動すること、つまり、それが置かれたときではなく、それが開かれたときに起動することである。

スクリプトを書くのに助けが必要です。プロフェッショナル、専門家、優秀な人たち、動作させたいなら変更を提案してください。


保留中の注文がある場合、その価格がそれに到達するとロボットも反応するはずです。そんなオーダーにも対応できるようにしてほしい。

さて、今テストしているところですが、うまくいきました。1回目のテストではなぜうまくいかなかったのか......。コンピュータの再起動が原因かもしれませんが・・・予定通り再起動したらロボットが笑顔になりました(動きました)。

もうひとつ、細かいことですが.このスクリプトはヒストリカルチャートで動作しません、なぜですか?

//+------------------------------------------------------------------+
//| Order_act.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright ""
#property link ""
int Order_array[200];
int Total=0;
int j,pos,count,order_tick,type;
bool found;

//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
// создаем список ордеров (туда входят и открытые, и отложенные)
Total=OrdersTotal();

for(pos=0;pos<Total;pos++)
{
if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==true)
{ Order_array[pos]=OrderTicket();}
}

// проверочная часть скрипта
int i=0;
while ( !IsStopped() )
{
count=OrdersTotal();
for(pos=0;pos<count;pos++)
{
if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==true)
{
found=false;
order_tick=OrderTicket();

for (j=0;j<Total;j++)
{

if (order_tick==Order_array[j]) {found=true;}
}
if (!found)
{
type=OrderType();

if ((type==OP_BUY) || (type==OP_SELL))
{
Total++; // в случае,если есть новый открытый
Order_array[Total-1]=order_tick; //ордер - добавляем в список

Alert("Новый открытый ордер"); // и делаем с ним что хотим

}
}
}
// если планируется, что скрипт будет работать долго или открываемся часто
// удаляем из списка все закрытые ордера чтобы не было переполнения.
// А чтобы работало быстрее, количество записей можно уменьшить (лишь бы не превысило
// максимально возможного числа открытых и отложенных поз.
if (Total>190)
{
for (j=0;j<Total;j++)
{
if(OrderSelect(Order_array[j],SELECT_BY_TICKET)==true)
{
if (OrderCloseTime()!=0)
{
Alert("нашли закрытый в списке и удалили");
for (i=j+1;i<Total;i++) {Order_array[j]=Order_array[i];}
Total--;
}
}
}
}
Sleep(100);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+

Его написал RAVen_ Спасибо этому профессионалу .

 

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

同じ通貨ペアで動作している別のEAから情報を読み取るようにEAを教えるにはどうすればよいですか?

 
demlin:

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

同じ通貨ペアで動作している別のEAから情報を読み取るようにEAを教えるにはどうすればよいですか?


別の方法、つまりグローバル変数を使って EA間で値を交換する方法を試してみてください...。自分で使ったわけではないので、詳しくはわかりません、検索して使ってみてください・・・。
 
demlin:

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

同じ通貨ペアで動作している別のEAから情報を読み取るようにEAを教えるにはどうすればよいですか?

こんな図書館も あるんですね。
 
semiromid:

保留中の注文と未決済の注文は異なる注文であることを理解しています。-------------- はい(たぶん) いいえ(たぶん)です。主な内容は、保留中の注文が開かれたときにスクリプトが動作すること、つまり、注文が発注されたときではなく、開かれたときに動作することです。


これはショベルカーで木を何本も掘っているんですよ!?注文を分ける意味は何ですか?価格はすべて同じです。注文は常に 同じベストバリアントでまとめて処理されます。

つまり、誰が注文を出すかは問題ではなく、個々の注文がどのようなパラメータを持っているかが重要なのです。空っぽのものを探しているんですね。

タスク1とタスク2を実行する場合、各オーダーに対して必要なタスクが実行されているかどうかをチェックしなければならない。また、この注文が今開封されているのか、直前なのか、これから開通するのかを確認する必要はありません。

 
peshihod:


ショベルカーで木を何本も掘り起こすんですよ!?注文を分ける意味は何ですか?価格はすべて同じです。注文は常に一緒に、まとめて、同じ最適なオプションで処理されます。

つまり、誰が注文を出すかは問題ではなく、重要なのは個々の注文のパラメータなのです。空っぽのものを探しているんですね。

タスク1とタスク2を実行する場合、各オーダーに対して必要なタスクが実行されているかどうかをチェックしなければならない。また、この注文が今開封されているのか、ちょっと前なのか、これから開通するのかを確認する必要はない。

ショベルカーで数本の木を掘り起こしているのです!----------- もっとシンプルな選択肢はないのか?

注文を分割する意味は何ですか?-------------- 注文をブイとセルに分けたいのですが。 それとも注文の処理のことでしょうか?せめて、どうすればもっとシンプルなスクリプトになるのか、ヒントをください。

Stano、現在テスト中ですが、すべて動作しています。1回目のテストではなぜうまくいかなかったのか......。コンピュータの再起動があったためか・・・しかし、予定されていた再起動後は、ロボットが笑顔(動作)で動いていました。では、なぜうまくいかなかったのか、その理由は何なのでしょうか?ただ、今後、同じような誤動作が起こるかもしれません。

 

皆さん、ごきげんよう。

こんな疑問があります。指標XXXXXX(名前は関係ない)があるとする

残念ながら、インジケーターのソースコードは持っていません。したがって、何を根拠にしているのか理解できない)

売り注文と買い注文を開始するためのXXXXXX指標のシグナルに基づいてExpert Advisorを開発することは可能ですか?

以下はスクリーンショットの例です。

 
FreeSerfer:

皆さん、ごきげんよう。

こんな疑問があります。指標XXXXXX(名前は関係ない)があるとする

残念ながら、インジケーターのソースコードは持っていません。したがって、何を根拠にしているのか理解できない)

売り注文と買い注文を開始するためのXXXXXX指標のシグナルに基づいてExpert Advisorを開発することは可能ですか?

以下はスクリーンショットの例です。


ええ、そうかもしれません。七面鳥の種類も当てられるし...。:-)))
 

アドバイスをお願いします。このロボットを20秒で買わせるにはどうしたらいいでしょうか?

20秒で買って、そのあとまた20秒の値打ちで、40秒でしか勝てないというのは困りますね。

int start()
{

OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-15*Point,Bid+15*Point, "Order #", 0); //買い注文を 出す
Sleep(20000); // 20秒間タイマー

return(0);
} ............net..................net...............net

 
ティックではなく時間で動作するループスクリプトが必要です。