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

 
Integer писал(а)>>
どんな台本?

見つけて、見てみました。ここの皆さんは「矢面に立たない」主義で行動しているのでしょう、作者の自信満々な姿にただただ圧倒され、行く手を阻まれるばかりです。

 
ForexTools >> :
AGの議論に関係のない私の書き込みはすべて削除しました。他の「フリーライダー」にも同じことをするよう呼びかけます。他の人の仕事を尊重しましょう:(モデレーター)が掃除するところはきれいではありませんが、(ユーザーが)ポイ捨てしないところはきれいです ;)

私の「取り組み」を理解し、支持してくれたsablukに 感謝します。もしかしたら、他の人も私たちを見習うかもしれませんよ?

 

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

変更を行いました。
1.ティックをミュートするオプションを追加しました。
2. 楽器17と20の管理の誤りを修正しました(AGまたはATモードが無効の場合、楽器の市場価格が行使価格に達したとき、楽器が削除されませんでしたが、現在は自動的に削除されます)。
新バージョンのダウンロードはこちらhttp://autograf.dp.ua/Pages/4/421.htm.

 

オートグラフ4は、5thサインの革新性にもきちんと対応しています。(http://forum.alpari-idc.ru/thread44876.html)


単純に今までと同じように使える。修正は必要ありません(それは正しく書かれているからです - プログラムは数値で定義された変数値を使用しません - すべては変数で構築され、サーバー上で変更されると更新されます、特に、ポイント、デジット、StopLevelなど)。)

Expert Advisor の設定で行わなければならない自然な変更は、価格パラメーターのプリセット値に関するものです。例えば、SL(StopLoss in pips) = 25とした場合、現在は250またはユーザーの判断で任意の値に設定する必要がありますが、100以下にはなりません(つまり、StopLevelの現在の値以下にはなりません)。他のパラメータも同様に操作してください。

エキスパート設定ウィンドウでパラメータを設定した後、設定を保存(there)することをお勧めします。また、新しいテンプレートを作成することをお勧めします:「テンプレート」-「名前を付けて保存」ボタン。

===

映画の人が、古い家が爆破されるのを撮影したことがある。
爆薬を入れたのは...ドキッ!家が建っている。さらに植えたのです。ドカンと1階部分が崩れる。上層部(4階建て)全体が倒壊したわけではなく、家が1階分たわんだだけです。5回目の挑戦でようやく吹き飛ぶことができた。

建設会社はその映像を高額で買い取り、その映像を見せることで仕事の質の高さを宣伝していたのです:)

 

レディース&ジェントルマンズ!

質問にお答えください。

AT機能が自分への指示(端末の参照など)であって、自分自身の取引ではないことを、アプリケーションはどのように区別しているのでしょうか。

Исполнение функции АТ связано с двумя основными возможностями.

1つは、AT機能が単独で取引できること、つまり取引注文を形成してサーバーに送信することです。この場合、関数はアプリケーションから受け取ったデータを処理することはできません(またはその一部を処理します)が、注文を処理するための端末へのアドレス指定、現在の相場の取得、取引条件の計算、グラフィックオブジェクトの管理など、MQL4 言語のすべての機能を使って独自の計算を実行することができます。

2つ目の特徴は、「オートグラフ 4」のアプリケーションに直結していることです。この機能は、AutoGraf 4 アプリケーションに対して、特定の注文や価格チャートにあらかじめ設定された必要な計測器の設置、アプリケーションの一般設定の変更、計測器の削除、ユーザーへのメッセージ表示など(出力パラメータ)を指示することが可能です。(出力パラメータ)。

 

レディース&ジェントルマンズ!

質問にお答えください。

上記の「例2.カスタムオートトレード」機能の例では、「例2.成行注文の開始と終了」成行注文は開始されますが、保留注文は終了されると思います。

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
// AG_AT.mq4                                             Пример 0 (инструментов нет)
// Пользовательская функция Автоматической Торговли.
// Используется при построении функции автоматической торговли для приложения AutoGraf 4
// Сергей Ковалёв, Днепропетровск, sk@autograf.dp.ua, ICQ 64015987, http://autograf.dp.ua
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж 0 жж
#property library   
 
#import "AG_Lib.ex4"
   int AG_Magic_Number();                          // Вычисление MN 
   int AG_Message(string& Message[], string _Text);// Запись сообщений в массив Message[]
#import "AG_Trade_Criterion.ex4"
   int AG_Trade_Criterion_1();                     // Ф-ия определен. торгов. критериев 1
   int AG_Trade_Criterion_2();                     // Ф-ия определен. торгов. критериев 2
#import
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж 1 жж
.......
//================================================================================== 7 ==
/*
                                       // Cнять блок комментариев с Примера 2
                                       // и закомментировать Пример 1
                                       // Пример 2. Открытие и закрытие рыночных ордеров.
   int Crit = AG_Trade_Criterion_2();  // Вызов функции вычисления торговых критериев
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   if (OrdersTotal()==0)               // Если нет ордеров, то интересуемся ..
      {                                // .. критериями открытия
      switch(Crit)                     // В этом блоке рассматриваются критерии открытия
         { 
         case 10:                      // Торговый критерий = Открыть_Buy
            MN = AG_Magic_Number();    // Вычисление MagicNumber (рекомендуется)
                                       // Открытие ордера Buy:
            OrderSend(Symbol(),OP_BUY, 0.1,Ask,2,Bid-100*Point,Bid+40*Point,Comm,MN); 
            break;
         case 20:                      // Торговый критерий = Открыть_Sell
            MN = AG_Magic_Number();    // Вычисление MagicNumber (рекомендуется)
                                       // Открытие ордера Sell:
            OrderSend(Symbol(),OP_SELL,0.1,Bid,2,Ask+100*Point,Ask-40*Point,Comm,MN);
         }
      }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   if (OrdersTotal()==1)               // По стратегии возможен только 1 рыночный ордер
      {
      switch(Crit)                     // В этом блоке рассматриваются критерии закрытия
         {
         case 11:                      // Торговый критерий = Закрыть_Buy
            if (NormalizeDouble(Order[1][6],0) == 0.0)            // Если тип ордера Buy
               {                                      
               int _Ord_Ticket = NormalizeDouble(Order[1][4],0);  // Номер ордера
               double _Ord_Lots = NormalizeDouble(Order[1][5],2); // Полное закрытие
               OrderClose(_Ord_Ticket, _Ord_Lots, Bid, 2);        // Закрыть ордер Buy
               }
            break;
         case 21:                      // Торговый критерий = Закрыть_Sell
            if (NormalizeDouble(Order[1][6],0) == 1.0)      // Если тип ордера Sell
               {
               _Ord_Ticket = NormalizeDouble(Order[1][4],0);// Номер ордера
               _Ord_Lots = NormalizeDouble(Order[1][5],2);  // Будем закр.ордер полностью
               OrderClose(_Ord_Ticket, _Ord_Lots, Ask, 2);  // Закрыть ордер Sell
               }
         }
      }
*/
//================================================================================== 8 ==
   return(1);
   }
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж Конец модуля жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж 10 жж
if (NormalizeDouble(Order[1][6],0) == 0.0)            // Если тип ордера Buy
и
if (NormalizeDouble(Order[1][6],0) == 1.0)            // Если тип ордера Sell 

それとも、私が何か誤解しているのでしょうか?

Общее количество ордеров в приложении AutoGraf 4 не должно превышать 30. Нумерация ордеров в приложении AutoGraf 4 начинается с 1. Нулевой индекс в первом измерении массива Order[][] для учёта параметров ордеров не используется. Поэтому массив Order[][] в первом измерении имеет размерность 31. Каждая строка в массиве соответствует одному ордеру и содержит значения следующих параметров ордеров:

[0][0] - オーダーの合計数です。

[][0] - 使用されません。

[1][1] - OpenPrice - 注文の開始(設定)価格(絶対価格値)です。

[][2] - 注文のStopLoss(絶対価格値)。

[][3] - TakeProfit注文(価格の絶対値)。

[][4] - NumberOrders オーダーの番号です。

[][5] - 注文のロット数です。

[][6] - 注文の種類(0=B、1=S、2=BL、3=SL、4=BS、5=SS、Trades)。

[][7] - MagicNumber - オーダーのマジックナンバーです。

[][8] - 0/1のコメントファクト。

[][9] -PrOld- 注文開始の初期価格 (価格の絶対値).


マニュアルより

OrderSend() 関数の操作の種類。以下の値のいずれかとする。

定数 価値 商品説明
OP_BUY0購入
OP_SELL1販売する
OP_BUYLIMIT2買い指値注文
OP_SELLLIMIT3売り指値注文の保留
OP_BUYSTOP4買付停止注文の保留
OP_SELLSTOP5売り停止注文の保留

I.e.であるべきです。

if (NormalizeDouble(Order[1][0],0) == 0.0)            // Если тип ордера Buy
и
if (NormalizeDouble(Order[1][1],0) == 1.0)            // Если тип ордера Sell 
 

レディース&ジェントルマンズ!

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

EAのプロパティで、ストラテジー名「L_1」が記憶されないのはなぜですか?


AG_exp.をインストールする際に、メモしておくと、ラインには表示されますが、プロパティには記憶されないのでしょうか?

 

レディース&ジェントルマンズ!

質問にお答えください。

アプリケーションの終了時やアンインストール後に、アプリケーションでサポートされていないグラフィカルオブジェクトを 削除する方法。例えばOBJ_ARROWのように?

 
LeonidSB писал(а)>>

すなわち、そうでなければならないのです。

if (NormalizeDouble(Order[1][0],0) == 0.0)            // Если тип ордера Buy
и
if (NormalizeDouble(Order[1][1],0) == 1.0)            // Если тип ордера Sell 

いいえ、正しくありませんhttp://autograf.dp.ua/Pages/2/26/267/2674.htm の表(オーダーセット例)をもう一度見てください。

このページでは、配列のインデックスと配列に含まれるパラメーターの対応についても説明します。ここでは、配列の2次元目のOrder[][]のインデックスについて述べていることに留意してください。

[0][0] - オーダーの合計数です。

[][0] - 使用されません。

[][1] - OpenPrice - 注文が開始(設定)される価格(絶対価格値)です。

[][2] - 注文のStopLoss(絶対価格値)。

[][3] - TakeProfit注文(価格の絶対値)。

[][4] - NumberOrders オーダーの番号です。

[][5] - 注文のロット数です。

[][6] - 注文の種類(0=B、1=S、2=BL、3=SL、4=BS、5=SS、Trades)。

[][7] - MagicNumber - オーダーのマジックナンバーです。

[][8] - 0/1のコメントファクト。

[][9] -PrOld- 注文の開始の初期価格 (価格の絶対値).

---------------

パラメータ "Order type "は、配列Order[][]の2次元目の6番目のインデックスに相当する。

if (NormalizeDouble(Order[1][6],0) == 0.0)            // Если тип ордера Buy
и
if (NormalizeDouble(Order[1][6],0) == 1.0)            // Если тип ордера Sell 
 
LeonidSB писал(а)>>

レディース&ジェントルマンズ!

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

EAのプロパティで、ストラテジー名「L_1」が記憶されないのはなぜですか?

AG_exp.を設定すると、書き込んだ内容は行に表示されますが、プロパティには記憶されないのでしょうか?

正しくやっていれば、記憶されるはずです。

そして、Expert Advisorをウィンドウからアンロードするまで記憶されます。

次回から再入力したくない場合は、次の2つのうちどちらかを行うことができます。

1.テンプレートに設定したExpert Advisorを保存します。新しいテンプレートから新しい読み込みを開始します。

2.Expert Advisor の設定を保存し(Preferences ウィンドウの Save ボタン)、次回 Expert Advisor を起動するときに設定を読み込みます(Preferences ウィンドウの Load ボタン)。

ストラテジーの添付順はこちら(http://autograf.dp.ua/Pages/2/26/267/26711/26711_2.htm)です。

LeonidSB さんが書き込みました :>>。

Dear!

質問にお答えください。

アプリケーションの終了時やアンインストール後に、アプリケーションでサポートされていないグラフィカルオブジェクトを 削除する方法。OBJ_ARROWのような?

オブジェクトを選択し、削除する(Deleteキーを押す)。
プログラム的に行う場合は、ObjectsDelete()またはObjectsDeleteAll()を使用することができます。

理由: