[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 191

 
solnce600:

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

しかし、テスターでは1分足の ローソク足 ごとに トレードを開始します。このリンク先の情報 http://clip2net.com/s/2T98Y

5分 足のローソク足で1つの注文を出すようにしたいのですが、すべての ローソク足で 出すのは無理です。

また、現在の 5分足ローソク足が≧30ポイント (始値から最大値まで)の場合のみ

すなわち、ゼロ=現在の5分足の始値から30pip目の成行注文を1つ建てる。

現在の5分足のローソク足が、建値から最大で30pips以下であれば、成行注文を出さないこと。

5分足チャートにEAを落とすだけで、お書きになった通りになります。

あるいは、Open[0] を iOpen(Symbol (), PERIOD_M5, 0) に置き換えれば、どのチャートからでも動作するようになります。

コードの2つ目の条件は、現在の5分足の終値≧注文の始値であることです。

いいえ、Close[0] はバー 0 の現在の終値、つまり現在の価格だけです。Bidと書けばいいのに、結果は同じ。


つまり、注文は多くない。1999年以来、エクセルで計算したところ、ユーロで両方向に3000件強の注文がある。

我々は、次の5分足に行くと、それは、すなわち、現在の5分>または= 30ピップス、我々は30ピップで開き、以下であれば、我々は次の5分足に行く...と、チャートの最後まで。

ただ、ざっと見積もって、5分足で>または=30pipsの プランのほとんどは、 30pipのストップで決済されるよりも、15pipを飛び越える可能性の 方が高いということです。

条件があります - 未決済の注文がない場合

しかし、私のシステムでは、上記のようなパラメータを持つ 5分足を2つ連続して形成 し、 前の5分足の注文が決済されなければ、2つ目の5分足では注文は出ません。

取引中の注文の有無にかかわらず、上記のパラメータで 5分足ごとに1つずつ注文を出す必要があるのですが、どうすればいいですか?

なるほど、では条件を変えてみましょう。出てくるわけです。

int start()

{

 double Price=iOpen (Symbol (),PERIOD_M5,0)+300*Point;        
 double SL=NormalizeDouble (Price-300*Point, Digits);         
 double TP=NormalizeDouble (Price+150*Point, Digits);    
 
 int last_order_bar = 0;
 int ot = OrdersTotal();

 if (ot>0) //если есть ордера в рынке
 {
   if (OrderSelect (ot-1,SELECT_BY_POS)) //выбрали последний ордер
      if (OrderType ()==OP_BUY || OrderType ()==OP_SELL) //проверили тип
         last_order_bar = iBarShift (Symbol (),PERIOD_M5,OrderOpenTime ()); //запомнили, на каком 5-минутном баре открыт последний ордер (если он есть)
 }
 
 if (OrdesTotal()==0 || last_order_bar>0) //если ордеров нет либо последний открыт не на текущем баре
    if (Bid>=Price)                       //если текущая цена доползла до цены открытия
       int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,SL,TP );

}
 
beginner:
アドバイザーやオブジェに興味があるのですが、キャンドルを自分で描くのでしょうか?

原理は理解できるはずです。

//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
//|  Автор : TarasBY, taras_bulba@tut.by                                              |
//+-----------------------------------------------------------------------------------+
//|        Рисуем на чарте бары                                                       |
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
void fDraw_Bars (string fs_Pref,          // Префикс имени объекта
                 int fi_NUMPeriod,        // Индекс (номер) периода, на котором будет виден объект
                 bool fb_IsNullBar,       // флаг рисования 0-го бара
                 double ar_Price[][][4])  // Массив с ценами
{
    int      li_widht = 6;
    string   ls_Name;
    color    lc_color = Aqua;
    datetime ldt_Time;
//----
    //---- Определяем время текущей свечи (её место в истории)
    if (fb_IsNullBar) {ldt_Time = Time[0];}
    else {ldt_Time = Time[1];}
    //---- Рисуем свечу
    ls_Name = StringConcatenate (fs_Pref, "_Candle_", TimeToStr (ldt_Time));
    if (ar_Price[0][1][3] < ar_Price[0][1][0]) {lc_color = Red;} else {if (ar_Price[0][1][3] == ar_Price[0][1][0]) {li_widht = 8;} else {lc_color = Blue;}}
    fDraw_OBJ (ls_Name, OBJ_TREND, ldt_Time, ar_Price[0][1][3], ar_Price[0][1][0], lc_color, li_widht, fi_NUMPeriod, "", 0, 10, "Arial", 0);
    //---- Рисуем тени свечи
    ls_Name = StringConcatenate (fs_Pref, "_Shadow_", TimeToStr (ldt_Time));
    if (ar_Price[0][1][3] <= ar_Price[0][1][0]) {lc_color = Gold;} else {lc_color = DeepSkyBlue;}
    fDraw_OBJ (ls_Name, OBJ_TREND, ldt_Time, ar_Price[0][1][1], ar_Price[0][1][2], lc_color, 1, fi_NUMPeriod, "", 0, 10, "Arial", 0);
//---- 
}
//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+
 
Diubakin:
テスターでその関数のテストEAをご覧になりましたか?注文の数が2つでも20つでも、最大損失と最大利益を正確にクローズします。
明日、あなたのテストEAにさらにいくつかの関数を貼り付けて、純粋な実験を行う予定ですので、今のところ関数に関する質問は未解決です。ビジュアルモードで見ていますが、ほぼ全てのダブルクローズは最後、先のものはSLとTPでクローズ、つまり選ぶものがないのです。選択できるようにするため、Stop and Takesを削除しました。明日は、このExpert Advisorに追加された機能とコメントをご紹介します。機能がどのように働くのか、ご自身の目で確かめてください。私が間違っていたことを示すために、本当に欲しいのです当たっていれば、頑張ります!では、また明日
 
alsu:

5分足チャートにEAを放り込むだけで、お書きのような状態になります。

あるいは、Open[0] を iOpen(Symbol (), PERIOD_M5, 0) に置き換えれば、どのチャートからでも動作するようになります。

いいえ、Close[0] はバー 0 の現在の終値、つまり現在の価格だけです。Bidって書けばいいじゃん、結果同じじゃん。


よし、それなら条件を変えてみよう。出てくるんです。




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

1.5分間で1オーダー以上開くこともある。

2.コードで規定された価格と異なる価格の逆指値注文で、一部の注文が決済される。

添付ファイルに注文データをマークしています。

 
alsu:

5分足チャートにExpert Advisorを投げるだけで、書いてあるとおりになります。

あるいは、Open[0] を iOpen(Symbol (), PERIOD_M5, 0) に置き換えれば、どのチャートからでも動作するようになります。

いいえ、Close[0] はバー 0 の現在の終値、つまり現在の価格だけです。Bidって書けばいいじゃん、結果同じじゃん。


よし、それなら条件を変えてみよう。出てくるんです。




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

1.5分間で1オーダー以上開くこともある。

2. コードで規定された価格と異なる価格の逆指値注文によって、一部の注文が決済される。

上記の注文に関する情報は、こちらのリンクから ご覧いただけます。

http://clip2net.com/s/2Tfym

 

I'm sorry . please help. I'm copying a program with some changes. Compiler gives me a error: '(' -function definition unexpected F:\forexMetaTrader NordFXexpertsia.mq4 (305, 16) .

とはどういう意味でしょうか?

- この部分を削除しようとしたのですが、次のようにも書かれています。

- この部分を変更しないでおこうとしたのですが、結果は同じです(同じエラー)。

ネイティブプログラムのコンパイルに成功しました。

 
TarasBY:

原理が理解できる。



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

すいません。助けてください。 プログラムをコピーして 編集してるんですけど→ コンパイラーが エラーを出します。

とはどういう意味でしょうか?

- この部分を削除しようとしたのですが、次のようにも書かれています。

- この部分を変更しないでおこうとしたのですが、結果は同じです(同じエラー)。

ネイティブプログラムのコンパイルに成功しました。

こちら

このエラーは、他の関数の内部で関数を定義していることを示唆しています。すべての関数はグローバルに定義する必要があります

 

助けてほしい。

ポーズを開いたり閉じたりするときなど、ある時点でスクリーンショットを撮る方法を知っている関数またはスクリプトを探しています。

必要がないときは、たまに出会っていたのですが、今は見つけられません。

HELP!
 
DhP:

助けてほしい。

ポーズを開いたり閉じたりするときなど、ある時点でスクリーンショットを撮る方法を知っている関数またはスクリプトを探しています。

必要がないときは、たまに出会っていたのですが、今は見つけられません。

HELP!
イゴール・キムのExpert Advisorで、一定時間ごとにスクリーンショットを作成するものがあります。