どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 153

 
EVladMih:

アルテミスさん、2番目の投稿から「白と熱を合わせている」と男性に説明していましたが、説明したのは誰も質問していない部分だけでしたね。私はたまたまこの人が書いたコードの量を知っているのですが、ポイントに入りきらなかったのは彼ではなく、YOUの方でした。ちなみに、このコードは彼が自分のために書いているのではなく、人のために書いているのだそうです。

ですから、もしあなたが助けたくない、あるいは助けられないのであれば、少なくとも干渉せず、自分の罪を他人になすりつけないようにしましょう。

もっと詳しい男性の方、satorifxを助けてください。彼は本当に白と熱を混ぜないといけないのですが、彼のせいではありません...。MT4では、同じオペラのものが異なる舞台(異なる座標系)で歌われる仕様になっていますよね。

まず第一に。まず第一に、私はあなたとファーストネームで話しているわけではありません。2つ目 - 人のニックネームは使えないので、正しく読めるようになること。3つ目-トレンドラインとのクロスオーバーの見極め方のヒントを あげます。初心者のために書かれた例では、トレンドラインそのものを計算に使うことはありません。あくまでも、進むべき方向性を示す手がかりに過ぎない。しかし、この問題には様々な方法があります。座標の非互換性の問題にこだわる必要はなく、利用可能な入力データでどのように状況を打開するかということです。

И...これあなたがまだ夢にも思っていないことを書くことができる...。

 

EVladMih:,

が、地元・非地元で銭湯に人を分けるのはやめたほうがいいかもしれませんね。

特定の人物の「ローカル/ノンローカル」が問題なのではありません。その人の質問の仕方が問題なのです。もし私が彼の質問を間違えたとしても、それは彼に失礼なことをする権利を与えるものではありません。正直なところ、彼を助けようとしたんです。そして、私の回答後に「これは自分が望んで頼んだことではない」と言い、与えられた具体的なタスクを説明していれば、すべてを素早く効率的に行う方法がわかったと思うのです。

今、トレンドライン とのクロスオーバーを見極められないという話になっていますね。でも、それだけで笑顔になれる。それとも、また勘違いしてしまって、また猪突猛進に値するのでしょうか?単純なObjectGetValueByShift()関数は、あるバーでのトレンドラインの価格を返します。だから、ある価格と別の価格を比較する。

 
artmedia70:
私が理解する限り、彼は画面に表示されているバーの最安値でオブジェクトを水平方向にずらさず、垂直方向に配置することを望んでいるようです。私は、彼の質問の最初の部分、つまりチャート上の最小価格を見つける方法を示した。彼は理解できず、私に吠えた。では、どうすれば2つの座標系をまたがずに必要なことができるのか、自分で考えてみよう。これは簡単なことです。誰かが代わりにやってくれるかもしれませんが、私はこれで失礼します。私は野暮ったい人間やフリーランサーは嫌いだ。わざわざ自分で調べてコードで何かを書こうともしない。 。

artmedia70 さん、私は対立しない人間なので、もし間違ったことを言ったのなら、謝って、失礼にあたらないようにお願いします。

どうすれば解決できるのか、本当にわからない。

ラベルを作成し、手動で最低価格にそれを置く - ので、私は座標のYラベルを持っており、それは私が関数WindowPriceMin( )で取得した最低 価格に対応しています:簡単な方法でこれまでに2つの座標系を横断。でも、手動 なので、プログラムで 追跡して修正したいです。

本当に解決策があるのなら、しかも簡単なものであれば、ありがたいことです。


 
artmedia70:

今度は、トレンドラインとのクロスオーバーを検出できないと言うことですね。でも、それだけで笑顔になれるんです。それとも、私はまたすべてを誤解して、また猪突猛進に値するのでしょうか?単純なObjectGetValueByShift()関数は、あるバーでのトレンドラインの価格を返します。だから、ある価格と別の価格を比較する。


EVladMihの言うことを聞いてはいけない - 彼は何の意味もない。
価格に関しては、トレンドとの距離の見つけ方がとてもよくわかるんです。質問が違う。

私は、画面上部に常時ぶら下がるマーカーをインジケーターに使っています。マーカーからトレンドラインまでの距離を決定するのは、任意のマーカーをシフトした後ですが、マークは画面上の座標(x,y)を持っていますが、ObjectGetValueByShiftは価格、つまり別の座標系で動作します。そこで大騒ぎになったのです。

価格ラベルではなく、ラベル(OBJ_LABEL オブジェクト)のように一箇所に留まるようにしたいので、価格座標でOBJ_TEXT オブジェクトを使用することはできないのです。

 
satorifx:

EVladMihに耳を貸してはいけません - 彼は無意味な ことを書いています。
価格に関しては、トレンドとの距離の見つけ方がとてもよくわかるんです。質問が違う。

私のインジケーターでは、画面上部に常にホバリングしているマーカーを使用しています。マーカーからトレンドラインまでの距離を決定するのはマーカーの移動後ですが、マークは画面上の座標(x,y)であるのに対し、ObjectGetValueByShiftは価格、すなわち別の座標系で動作します。そこで大騒ぎになったのです。

事前に言っておきますが、ラベルの代わりに価格座標を持つOBJ_TEXT オブジェクトは使えません。なぜなら、(ラベルは)チャートを動かすと価格に移動するのではなく、ラベルのように一箇所に留まっていて欲しいからです(OBJ_LABEL オブジェクト)。

再計算の手間を省くために、ラベルの代わりにx座標が一定のARROW=特定のバーを使用します。オブジェクトの説明でバーを保存し、変更することができます。オブジェクトが移動したらすぐに、新しいバーと 等しい新しいX座標をその説明に書き込む。そうすれば、価格検索で困ることはないでしょう。そして、常に横軸の説明でオブジェクトの位置を確認します。縦軸は価格です。これは、コストを抑えたオプションです。そして、オブジェクトは常にX軸上の同じ位置にあり、特定のバー・ナンバーに対応する。

ZS 「...申し訳ありません。野暮なことは言わないで下さいね」 いいんです、放っておいて...。;)

 

指標を作りました。1つのペアを別のペアで分割し、ターミナルに含まれない楽器を取得します。しかし、今はターミナルを読み込んで、1ティックごとに再計算しています。Expert Advisorのように入力しました。

if (Time[0]<=PrevTime) return(0);

PrevTime=Time[0]です。

現在は、新しいキャンドルにのみ描画されます。どうすればいいのか教えてください。指標のテキスト。

P/S/ところで。すべてのペアが正常に表示されます。Appl to Rubleを見たい。見たくないです。

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 ライム
//--- 入力パラメータ
extern string Paar_1="EURUSD"; //比較したいシンボル
extern string Paar_2="GBPUSD"; // 比較対象として望ましい楽器
extern bool Mirroring_Paar_2=false;
//--- バッファ
double ExtMapBuffer1[]。
静的 int PrevTime=0;
int start=1;


//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{
//---- インジケータ
文字列 short_name=Paar_1;
SetIndexStyle(0,DRAW_LINE)を設定します。
SetIndexBuffer(0,ExtMapBuffer1)を設定します。
IndicatorShortName(short_name)。
SetIndexLabel(0,short_name)を設定する。
//----
return(0)です。
}
//+------------------------------------------------------------------+
//| カスタムインジケーター初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0)です。
}
//+------------------------------------------------------------------+
//| カスタムインジケータ反復関数
//+------------------------------------------------------------------+
int start()
{
if (Time[0]<=PrevTime && start==1) return(0);
PrevTime=Time[0]です。
int i, counted_bars=IndicatorCounted();
i=counted_bars-1である。
//----
while(i>=0){
double Compare1=iClose(Paar_1,0,iBarShift(Paar_1,0,iTime(Paar_1,0,i),FALSE)));
double Compare2=iClose(Paar_2,0,iBarShift(Paar_1,0,iTime(Paar_1,0,i),FALSE)));
if(Compare2!=0 && Compare1!=0) double Compare=Compare1/Compare2.If(Compare2!=0&&Compare1!=0)とする。
if(Mirroring_Paar_2==1) Compare=1/Compare.If(Mirroring_Paar_2=1)とする。

ExtMapBuffer1[i]=Compare;
RefreshRates()。
i--;
}
//----
start=0とする。
return(0)です。
}
//+------------------------------------------------------------------+y

 
こんにちは
Help!

注文開始までの遅延時間、Sleep 3000を作るには?
int start() {
string ls_0;
int li_8;
bool li_12;
int li_20;
int li_24;
double ld_28;
int li_36;
int li_40;
string ls_48;
string ls_56;
string ls_64;
double ld_76;
int li_84;
でこんな風に貼り付けると良いそうです。

万が一、フクロウ本体が

もう一つ質問ですが、このフクロウは一度に7組セットされていますが、具体的には注文開始までの間を 空ける必要があるのです例えば、今日はニュースで10個の注文が同時に開かれていて、遅れて必要なんだ!

ありがとうございました。

/* デコンパイル削除 - Vinin */。

 

今思い出したのですが、Sleep(60000); をどこに挿入すれば、オープニングの間に遅延が 発生するのか教えてください。

if (ai_8 == OP_BUY) ad_20 = Ask;
if (ai_8 == OP_SELL) ad_20 = Bid;
if (!IsTradeContextBusy()){
li_68 = OrderSend(as_0, ai_8, ad_12,NormalizeDouble(ad_20, MarketInfo(as_0, MODE_DIGITS)), ai_28, NormalizeDouble(ad_32, MarketInfo(as_0, MODE_DIGITS)), NormalizeDouble(ad_40,
・ MarketInfo(as_0, MODE_DIGITS)), as_48, ai_56, ai_60, ai_64)
if (li_68 > 0) {
Print("orderSendReliable()"。成功!Ticket: " + li_68);
return (li_68);
}.



 

盗んだはいいが、使い道がない))

私は自分のためのアドバイザーを書いたことはない。ただ、本を読み、曲がったフクロウのブロック・スキームを調べ、最善の方法を理解しようとしている。

ということで、私が間違っているかもしれません。

int counterrore=0, //подщет количества ошибок открытия ордера
timesleep=10000; // время задержки
while () // до тех пор пока не будет выход с цыкла
{
 if (!IsTradeContextBusy())
 { 
  RefreshRates(); // последние данные
  if (ai_8 == OP_BUY) ad_20 = Ask;
  if (ai_8 == OP_SELL) ad_20 = Bid;
  li_68 = OrderSend(as_0, ai_8, ad_12, NormalizeDouble(ad_20, MarketInfo(as_0, MODE_DIGITS)), ai_28, NormalizeDouble(ad_32, MarketInfo(as_0, MODE_DIGITS)), NormalizeDouble(ad_40,
  MarketInfo(as_0, MODE_DIGITS)), as_48, ai_56, ai_60, ai_64);
  if (li_68 > 0) 
  {
   Print("orderSendReliable(): Success! Ticket: " + li_68);
   return (li_68);
  }
  Print("orderSendReliable(): False! Error " + GetlastError()); // поищите коректную функцию обработки ошибок
  counterrore++; // количество неудач - сумирование

  if(counterrore>6) // если не удалось 6 раз открыть
  {
   Print("orderSendReliable(): Error!!! " +counterrore+"times --return(-1)" ); // сообщаем логу о даной трагедии
   return (-1); // -1 или что там Вы придумаете для отработки ситуации
  }
 }
 Sleep (timesleep); // время сна для цикла посылки  запроса на сервер и для !IsTradeContextBusy()
}
 
今度はモデレーターが来て、私の目の前で最後の二人を追放するのでしょう :-))