AutoGrafシリーズ4-MQL機能。 - ページ 35

 

Не очень понятно что Вы называете "строка кода для учёта в приложении".

AG_Srtategy_Channal_Inside.mq4からのフラグメント。

//================================================================================== 6 ==
   if ( Channal == false)                           // Если объекта заданного типа нет
      {
      ObjectCreate ( My_Chan_Name, OBJ_STDDEVCHANNEL,0,0,0); // Создаём его.. 
      int Сoor_X2 = Time[0];                                // 1я точка СПРАВА, 2я СЛЕВА
      int Сoor_X1 = Сoor_X2 - With*60;                      // Канал длиной 3 часа
      ObjectSet( My_Chan_Name, OBJPROP_TIME1, Сoor_X1);      // Устанавливаем координаты
      ObjectSet( My_Chan_Name, OBJPROP_TIME2, Сoor_X2);      // Устанавливаем координаты 
      ObjectSet( My_Chan_Name, OBJPROP_COLOR, Orange);       // Устанавливаем координаты 
      AG_Message( Message, "АТ: Устанавливаем объект OBJ_STDDEVCHANNEL.");// Сообщение

      return(1);                 // Это необходимо, чтоб установл. канал был учтён AG 4    Имелась ввиду эта строка

      }
//---------------------------------------------------------------------------------- 7 --

このセリフに戸惑いました。

1つ目は、AT機能が単独で取引できること、つまり取引注文を生成してサーバーに送信することです

AT機能でアプリケーションを無視して勝手にサーバーに送れるようです・・・・・・。

どうやらこれは、経験不足による私の問題のようです。私の脳はまだプログラミングのために研ぎ澄まされていないのです。

 
LeonidSB писал(а)>>

..あなたの脳は、まだプログラミングのために研ぎ澄まされていないのです。

自分で簡単なプログラムを書いてみてください。

 

まったくその通りです。私はそれを目指しており、早く実行したいのですが、まず、すでに経験のある人たちが、何を、どのように、なぜ書いているのかを理解したいのです。大雑把に言うと、知識を得て、それをもとに自分で何かを書けるようになることです。

要するに、どんな「複雑な」プログラムも、単純なプログラムの集合が相互に結びついているのである。家とレンガのようなものです(私は訓練と職業上、元建築家です)。つまり、私にとってプログラミングは建築セットのようなものです。

ところで、仕事中の私のインジケーターをじっくりと見てください。チャート上にターゲットライン、利益確定ライン、損失確定ラインを描画して残すので、それらを使ってテスターや実際のチャート上で戦略の実装を視覚的に分析することができます。さらに、適切なオプションを有効にすると、セッションの結果をあなた自身の (一般的ではない)ログファイルに表示し、さらに処理に適用することができます。

extern bool   PrDeal=false;                                      // Выключатель. Печатать отчет по каждой сделке
extern bool   PrCol=false;                                       // Выключатель. Печатать отчет в колонку
extern bool   PrTab=true;                                        // Выключатель. Печатать отчет в таблицу

これまでは、1つのファイルで3種類のレポートを同時に作成していました。ウラジスラフ・ゴシュコフ氏が開発した指標をもとに報告したことは、すでに述べた。280行であった。2300行まで改良しました。その言葉通り、積み重ねるものがあったのです。明らかに、ひと言では言い表せないようなコードが書かれていた。しかし、これが私の最初のコードで、これが動作することが最も重要なことなのです。だから、私は正しい方向に進んでいる(正しい方法ではないが)。そして、その問題点を説明するためにあなたの助けを借りて、すべては時間の問題なのだ。

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


機会を捉えて、もうひとつ質問。

チュートリアルに書いてあるんですけどね。

Если в результате исполнения торгового приказа функция OrderClose() вернула значение false, то это значит, что ордер не закрыт. Чтобы выяснить причину неудачи выполняется анализ последней ошибки, возникшей при попытке осуществления торговой операции. Для этого вызывается функция Errors() (см. раздел Функция обработки ошибок). Если при исполнении этой функции обнаруживается, что ошибка является непреодолимой (например, торговля запрещена), то функция Close_All() заканчивает работу и возвращает управление в управляющую торговую функцию Trade(), что в конечном счёте приводит к завершению исполнения специальной функции start() эксперта. На следующем тике торговый терминал снова запустит на исполнение функцию start(), и если критерий закрытия на тот момент будет ещё актуален, то это снова приведёт к вызову на исполнение функции закрытия всех ордеров Close_All().

質問です。

2つのオープンオーダーBUY-1とBUY-2があり、それぞれロットは3、5です。Close_All()関数を使用した取引注文があります。注文は、最初にBUY-2(5ロット)、次にBUY-1(3ロット)の順で決済されます。同時にBUY-2(5ロット)がクローズできない→エラーは元に戻らない→退場→BUY-1注文(3ロット)がクローズできない→損失拡大→次のティックで同じことが起こる(損失拡大)、等々です。すなわち、何らかのやむを得ない理由でクローズできないリストの最初の注文をクローズできない場合、リスト上の後続の注文はすべてオープンしたまま、しばらくの間、オープンしたままになります、それは明らかではありません。これは許されるべきではありません。これはプログラムのアルゴリズムでは許されないことなのでしょうが、一生懸命解析してみたのですが、理解できませんでした。

      //--------------------------------------------------------- 4 --
      if ( Ans==false)                     // Не получилось :( 
        {                                // Поинтересуемся ошибками:
         if( Errors(GetLastError())==false)// Если ошибка непреодолимая
            return;                       // .. то уходим.
        }
      //--------------------------------------------------------- 5 --
      Terminal();                         // Функция учёта ордеров 
      Events();                           // Отслеживание событий
     }
   return;                                // Выход из пользов. функции
  }
//--------------------------------------------------------------- 6 --

もう少し詳しく説明してください。

レオニードさん、尊敬と感謝をこめて、よろしくお願いします。

 
LeonidSB писал(а)>>

質問です。

2つのオープンオーダーBUY-1とBUY-2があり、それぞれロットは3、5です。Close_All()関数を使用した取引注文があります。注文のクローズ順:最初にBUY-2(5ロット)、次にBUY-1(3ロット)。同時にBUY-2(5ロット)がクローズできない→エラーは元に戻らない→退場→BUY-1注文(3ロット)がクローズできない→損失拡大→次のティックで同じことが起こる(損失拡大)、等々です。すなわち、何らかのやむを得ない理由でクローズしていないリストの最初の注文をクローズできない場合、リスト上の後続の注文はすべてオープンしたまま、しばらくの間、オープンしたままになります、それは明らかではありません。これは許されるべきではありません。これはプログラムのアルゴリズムでは許されないことなのでしょうが、一生懸命解析してみたのですが、理解できませんでした。

もう少し詳しく説明してください。

レオニードさん、前もって、そして敬意を込めて、よろしくお願いします。

insurmountable errorとは、乗り越えられないエラーのことです。例えば、Market_closed。

この点から、どの注文をクローズするか、オープンするかは問題ではない。どうせ市場は閉まっているのだから:)。

しかし、もし取引を実行しようとするならば、それは(ストラテジーから見て)最も高い優先順位を持つものでなければなりません。

 

皆さん、こんにちは。

私の質問に答えてください。

トレンドの変化-フラット-を最も確実に表示する指標はどれですか?

AG_Srtategy_Channal_Insideと AG_Srtategy_Channal_Outsideの ストラテジーにこのインジケータを追加して、ストラテジーから別のストラテジーに切り替えたいのですが、どうすればいいですか?

 
SK. писал(а)>>

課題は、ユーザーがAutoGraf 4アプリケーションに、MQL4で書かれた独自の取引アルゴリズムを添付し、.ex4ストラテジーファイルとして実行できるようにすることでした。この問題を解決するために、Expert Advisor AG_exp.ex4 には、Expert Advisor に自動売買機能 AG_AT をインポートするコードが含まれており、.ex4 および mq4 ファイルとして提供されています。さらに、コードをどのように配置するかは、ユーザー自身が決めることができます。最も便利なのは、2つのバリエーションのどちらかを使うことです...。

このようなバリエーションは考慮されていません:オープンコードのメインモジュール、クローズドコードになったメインは、インポートを通じて呼び出され、インクルードを通じて取引戦略(または最初にインクルードを通じて、インクルードへインポート)...。要は、外部変数を可視化するためのインルーダーという中間リンクです。よく考えれば、うまくいくはずだと思えるのです。一度に「無理だ」と言わないでください ;)

 
LeonidSB писал(а)>>

皆さん、こんにちは。

私の質問に答えてください。

トレンドの変化-フラット-を最も確実に表示する指標はどれですか?

AG_Srtategy_Channal_Insideと AG_Srtategy_Channal_Outsideの ストラテジーにこのインジケータを追加して、ストラテジーから別のストラテジーに切り替えたいのです。

そして、STD、ATR、ADXと、選択肢は大きくありません。時計やニュースリリースカレンダーも。

 

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

ページにコメントが追加されると、自動的に更新されるようなオプションはないのでしょうか?

定期的にページにアクセスし、手動で更新する必要があるのです。

 
Integer писал(а)>>

このオプションは考慮されていません:オープンソースのコアモジュールは、現在閉じているコードは、インポート、incluid(または最初のincluidを介して、その後incluidnikにインポート)経由で取引戦略を介して呼び出されているコア1...要は、外部変数を可視化するためのインルーダーという中間リンクです。よく考えれば、うまくいくはずだと思えるのです。一度に「無理です」と言わないでください;)

やることに困難はありません。でも、商用のオープンソース製品を出荷するのは......解決策になりませんよね。

アプリケーションプログラムは、メインプログラムから呼び出さなければならない。必要なのは、完成したEAを管理する能力である。この場合、カスタマイズされたストラテジーは、分析ユニットと「サブルーチン」呼び出しユニットで構成される可能性があります。スクリプトを呼び出すとfibaが描画され、インジケータを呼び出すと、すべてを終了し、仕事の後の夕方にpipsqueakしたい:).

AND APIです。そうすれば、真にモダンな道具を作ることができるのです。

ユーザーは、私たちの飾り(あらゆる種類のスクリプト、エキスパートと見分けがつかないエキスパート・アドバイザー:)には関心がありません。便利で高品質、多機能なサービスを求めている。MT4では、DOSのような顔をして、限られた可能性しかできなかったのです。

MT5に期待。

 

AGシリーズ4の新バージョン -AutoGraf 4.90714を リリースしました。

変更を行いました。
1.工具制御解析アルゴリズム14 Close_Allを最適化しました。
2.新しいツール管理ルール14 Close_Allが導入されました: 現時点でのツールのソフトウェア設定が許可されます。そのためには、ツールランタイム設定パラメータに1を入力します(Instrument [0][2][32][1] = 1)。

ダウンロードはこちら: http://autograf.dp.ua/Pages/4/421.htm