[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 95

 
dixi:

ターミナルの再インストール後、MetaEditorが動作しなくなった。インジケーターコードを何も変更しない場合のみ動作します。何かを変更すると、たとえ線の色であってもエラーが発生します。

OSはWindows 7です。もしかしたら、このような不具合に直面した人がいるかもしれません。どうすればいいか教えてください。


まず、ターミナルのプロパティを 開き、「互換性」タブで「管理者として実行」にチェックを入れてください。次に、コードエディタを起動するファイルにも同じことをします。ファイルは、MetaEditor.exeです。3つ目は、OSのカスタマイズです。最後のポイントは、必要なものがはっきりわかっていれば、かなり手っ取り早いです。
 
demlin:

皆さん、こんにちは。

新しいバー(D間隔)の出現でインジケータが再描画されないのですが、どうしたらいいでしょうか?П

手動で再起動する必要があります。


44行目は絶対に不要です。未計算のローソク足の再計算を行う関数呼び出しでは、すべてのローソク足が返されます。さらに、開始関数のコードで、同じ関数を呼び出すと(64行目)、理論上はゼロを返すはずです。ここに注目してください。新しい日が来た(新しいローソク足)。何が起こっているのかはっきりしない。昨日切れたインディケータが今日再開したのか、テスターでテスト中なのか。再起動すると初期化機能が働き、その後起動が開始されます。起動時に計算されていないバーをすでに呼び出しているので、スタートは何も再描画しません。テスターの場合、再描画される場合があります。

 
FxPro2:
みなさん、こんにちは。asctrendインジケータで動作する古いエキスパートに出会いました。 このインジケータがリアルタイムでどのように動作するかを確認したいのですが、常にドットを追うことができず、私の取引は満遍なく行われているわけではありません。私はテスターをチェックし、すべてのポイントで信号がありますが、デモにそれを置くと、ログは専門家に何かを書いていない間、デモは、信号をスキップすることに気づいた、コードを掘って、何が問題かを理解していない:(多分誰かが問題であるかもしれないものに鼻を突き出すか?

厄介なのは、自分が使っているコードを理解していないことです。問題は、マシンガンを構えているのに、なぜかいつも発射されないことです。すべてを理解した上で、デバイスを手にしたほうがいいのでは?А?
 
drknn:

まず、端末のプロパティを開き、「互換性」タブで「管理者として実行」にチェックを入れてください。次に、コードエディタを起動するファイルにも同じことをします。ファイルは、MetaEditor.exeです。3つ目は、OSのカスタマイズです。最後のポイントは、何をしたいのかが分かれば、かなり簡単に解決できます。
ありがとうございました。ゲットだぜ!!! :)))
 
Dimka-novitsek:

if (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(), Digits)<0.5*Point)

ただ、NormalizeDoubleを使わないバリアントは、ゼロと比較するとあまり信頼性がありません。ここで働く。


NDのことではないんです。Pointはポイントの大き さです。例えば0.5倍してみましょう、0.00005になります。この数値とOrderClosePrice()-OrderTakeProfit()を比較しても意味がないように思います。TPは、全く同じ終値を保証するものではありません。さらに、ベイスとセルフィッシュではチェックの条件が違ってきます。

if(OrderType() == OP_SELL)
       {
        if( NormalizeDouble(OrderTakeProfit()-OrderClosePrice(),Digits) >= 0
          && OrderTakeProfit() != 0)    

このデザインは、より信頼性の高いものです。

 
drknn:

問題は、あなたが使っているコードを理解していないことです。問題は、あなたがマシンガンを拾ったのに、なぜかいつも発射されないことです。すべてを理解した上で、デバイスを手にしたほうがいいのでは?А?
そうかもしれませんね。しかし、あなたの最近の2つの投稿はモラルに反するものばかりで、正しい考えを指し示した方が良いでしょう。そういう思いがないのであれば、なぜ余計なことを書くのか。無理に手伝わせたわけでもなく、希望がなければ悪びれることもなく、仕事は難しい、それはよく理解している。
 
drknn:
長いコードを持つ君たち!他人の暗号は、まず暗号であり、まだ解読されていない!ということを改めて強調したい。何キロもあるリストを調べたいプログラマーがいると思いますか?私のコードを3,000行だけ、ある人に渡して、このコードに対する小さな誤解をなくしてもらうことにしましょう。私の脳内妄想に浸りたいだけなのか?また疑問です。そこで皆さんにお願いがあるのですが、重要な質問をするときは、問題をできるだけ簡潔に記述すると同時に、その本質を理解するのに十分な記述をすることです。そうでなければ、あなたの叫びは空虚な叫びになってしまいます。コードは投稿に添付することができます。これはすべて必要かつ十分なことです。

全く同感です。


FxPro2 です。

drknn:

キャッチは、あなたが使っているコードを理解していないことです。 キャッチは、あなたがマシンガンを拾ったのに、なぜかいつも発射されないことです。すべてを理解した上で、デバイスを手にしたほうがいいのでは?А?
そうかもしれませんね。あなたのここ2回の書き込みだけ、どこまでもモラルがない、いや、むしろ正しい考えを指し示してるんです。そのような願望がないのであれば、なぜ不必要なことを書くのでしょうか。無理に手伝わせたわけでもない、希望がなければ悪びれることもない、仕事は難しい、それは十分理解している。

でも、さっきのコード、本当に理解してないんでしょう?

 

みなさん、こんにちは!!!ヘルプplzは、ちょうど書くことを学ぶ、peredomnoyはこの問題を得た、私はprametrovで与えられた特定のステップによってロットサイズを増やすためにコードを書くことができない、顧問の束を見直し、整理することができた、私は唯一のマージンに応じて、ロットを増やすために持っている。どこを見ればいいのかアドバイスしてください、もう頭が壊れそうです。もう、頭の中がぐちゃぐちゃです。 ありがとうございました。

 
SeALALex:

みなさん、こんにちは!!!ヘルプplzは、ちょうど書くことを学ぶ、peredomnoyはこの問題を得た、私はprametrovで与えられた特定のステップによってロットサイズを増やすためにコードを書くことができない、顧問の束を見直し、整理することができた、私は唯一のマージンに応じて、ロットを増やすために持っている。どこを見ればいいのかアドバイスしてください、もう頭が壊れそうです。もう、頭の中がぐちゃぐちゃです。 ありがとうございました。

あるステップでロットを増やす必要がある、という条件をパラメータで設定し、それをどのように実装しようとしたのか、コードを示してください。
 
Болк открытия на бай
if(Buy==true) 
  {Buy=false;

   ticket=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask, Digits),5,SL,TP,Order,070177,0,Orange);
   if(ticket>0)
    { 
     if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) 
      {Print("BUY order opened : ",OrderOpenPrice());
       Alert("Buy Order for ",Symbol());
       SendMail("Buy Order "+Symbol()+" "+Ask,SL);     
       }
     }
     else Print("Error opening BUY order : ",GetLastError()); 
     return(0); 
   }

Умножение лота в зависимости от маржи нашел в советнике, 
код вставил работает вот только в советнике он увеличивает на определенный шаг, у меня просто в %-ом соотношении

double LotSize() 
  
   {
   double lots_0;
   if (MicroLots == FALSE) {
      lots_0 = NormalizeDouble(AccountFreeMargin() * RiskPercent / 1000.0, 1);
      if (lots_0 < 0.1) lots_0 = Lots;
      if (lots_0 >= 1.0) lots_0 = NormalizeDouble(lots_0, 1);
      if (lots_0 >= 100.0) lots_0 = 100;
   } else {
      lots_0 = NormalizeDouble(AccountFreeMargin() * RiskPercent / 1000.0, 2);
      if (lots_0 < 0.01) lots_0 = Lots;
      if (lots_0 >= 1.0) lots_0 = NormalizeDouble(lots_0, 2);
      if (lots_0 >= 100.0) lots_0 = 100;
   }
   return (lots_0);
}
こんな感じです。