[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 623

 
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 
               
               //SELL
               
               //EMA – период 10 пересекает с верху в низ EMA – период 200 , CCI пересекает уровень
 0,100 или-100 с вверху в низ; Свеча закрывается или находится ниже LMA – период 100
 
 bool CCInapravlenie=false;
 if(( CCI_50S>100&&CCI_50<100) ||(CCI_50S>0&&CCI_50<0)||( CCI_50S>-100&&CCI_50<-100 ) )CCInapravlenie=true;
 if(EMA_10S>EMA_20S&&EMA_10<EMA_20&&CCInapravlenie&&LMA_100<Ask&&!sellistavili){
 
 RefreshRates();   
           tocket=OrderSend (Symbol( ), OP_SELL,   lot , NormalizeDouble (Bid, Digits), 5 ,
 NormalizeDouble( Bid+ (stoploss*Point),Digits),   NormalizeDouble( Bid-( teykprofit*Point),Digits),   NULL, 450, 0, CLR_NONE);
           Error=GetLastError();if (Error==0){  
           Sleep(2000); RefreshRates();  
           tecket=OrderSend (Symbol( ), OP_SELL,  lot ,NormalizeDouble(Bid, Digits), 5,
 NormalizeDouble( Bid+ (stoploss*Point),Digits),   0, NULL, 450, 0, CLR_NONE); 
           if (Error==0){ profitsell = NormalizeDouble( Bid-( teykprofit*Point),Digits); tsenasell=Bid;  
           sellistavili= true; perenossell= false;  }}}
           
           if (Error!=0){  errorcomment = "Ошибка открытия  ордера OP_SELL"  + " " + Symbol() +  " " + ErrorDescript(Error); 
           Print (errorcomment);}
 
 
 if(tsenasell-30*Point>Bid&&!perenossell){Print ("третямодифи    " );
 OrderSelect( tocket, SELECT_BY_TICKET ); 
ポジショニング
[Deleted]  
Dimka-novitsek:

こんばんは!(^o^)すみません、もうどこかで質問したような気がするのですが。1つはtakeprofitで、もう1つはtrailing stopが有効なはずです。

片方が利食いすると同時に、もう片方にはトレーリングストップが効き始めます。まあ、両方の注文が入るとすぐに動き出すんですけどね~。

チケットの注文が まだ履歴にない場合、OrderSelectは 何をどのように選択するのでしょうか?

ループの中で、履歴OrderSelect(index, SELECT_BY_POS , MODE_HISTORY) を通過し、 toket の値と選択中の注文のチケットを比較 します。

OrderSelect(tocket, SELECT_BY_TICKET , MODE_HISTORY) は、このチケットの注文がターミナルに存在する場合にも、true を返します。

Pool - 選択肢のデータソースです。selectパラメータがSELECT_BY_POSと等しい場合に使用します。以下の値のいずれかとする。

MODE_TRADES(デフォルト) - 注文は、未決済注文と保留注文から 選択されます。

MODE_HISTORY - 注文は、クローズされた注文と削除された注文の中から選択されます。

そして、念のため、NormalizeDouble(Bid+treylingstop*Point,Digits)を入れておく。

 
ありがとうございます!!!自分のコードをいじってみる!
 
トレードを可視化 するために、どのExpert Advisorを使うのがベストなのか。ここでも、異なるTFを同時に使用できることが望ましい。ありがとうございました。
 

参議院議員を終わらせた!やりたいようにやってくれるけど...。

最初に考えたのは、「テスターは取引履歴 をどう扱うか」ということです。例えば、「直近の2本のバーが損失であった場合、購入しない」という条件がある場合。 それだけでなく、私のExpert Advisorはこの条件を無視します(多分ミス - 私はもう一度考えてみます)。しかし、テスターが自分のディールを開くとどうなるのでしょうか(すでに端末の履歴にはありません)。 どのテスターに、どの履歴で適用するのでしょうか。テスターはトレードにティッカーを割り当てないようです!テスターはトレードの履歴を独自に作成するのでしょうか?

削除済み  
lottamer:

参議院議員を終わらせた!やりたいようにやってくれるけど...。

最初に考えたのは、「テスターは取引履歴をどう扱うか」ということです。例えば、「直近の2ポイントが損失だった場合、購入しない」という条件がある場合。 それだけでなく、私のExpert Advisorはこの条件を無視します(多分ミス - 私はもう一度考えてみます)。しかし、テスターが自分のディールを開くとどうなるのでしょうか(すでに端末の履歴にはありません)。 どのテスターに、どの履歴で適用するのでしょうか。テスターはトレードにティッカーを割り当てないようです!テスターはトレードの履歴を独自に作成するのでしょうか?


しかし、テスターは奇跡を起こすものではありません。
 
YOUNGA:

しかし、テスターは奇跡を起こすものではありません。

現実のような数桁のテロップはありません。案件のシリアルナンバーがあります。本心か?
[Deleted]  
lottamer:

実際の取引のような多値のテロップはありません。案件の連番があります。本心か?


テスターにサーバーと同じ数の注文があれば、データも数桁になる。

テスターもサーバーと同様に、新しい注文ごとに固有の注文番号(チケット)を割り当てますが、サーバーは証券会社が設立されたときから、すべての顧客とすべての商品についてこの作業を行います。

 
int Count=0;
//+------------------------------------------------------------------------------+
//|エキスパート初期化関数|
//+------------------------------------------------------------------------------+
int init()
{
Alert ("The init() function failed on startup");
return;
}
//+--------------------------------------------------------------------+
//|エキスパートスタート関数|
//+------------------------------------------------------------------------------+
int start()
{
double Price = Bid;
Count++;
Alert("New Tick ",Count," Price = ",Price);
return;
}
//+------------------------------------------------------------------------+
int deinit()
{
Alert ("Deinit() triggered on unloading");
return;

}

私の理解では、このスクリプトでは、各新しい入札価格でメッセージ......が表示されるべきであるが、それはない......何が間違っている? ......どうすればよい?

[Deleted]  
i999i:
int Count=0; //+------------------------------------------------------------------------------+ //|エキスパート初期化関数| //+------------------------------------------------------------------------------+ int init() { Alert ("The init() function failed on startup"); return; } //+--------------------------------------------------------------------+ //|エキスパートスタート関数| //+------------------------------------------------------------------------------+ int start() { double Price = Bid; Count++; Alert("New Tick ",Count," Price = ",Price); return; } //+------------------------------------------------------------------------+ int deinit() { Alert ("Deinit() triggered on unloading"); return;























}

私の理解では、このスクリプトでは、各新しい入札価格でメッセージ......が表示されるべきであるが、それはない......何が間違っている? ......どうすればよい?

おそらく端末の設定で「EAの取引を許可 する」をオンにしているのでしょう。