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

 
FelixFX:

しゃい

コンパイル時に多くのエラーが見つかりました
 
RoniIron:

すみません......マーチンゲールアドバイザーですが、その中でストップロスを規定することは可能なのでしょうか、それとも不可能なのでしょうか......。ありがとうございます。

OrderSend()関数は、パラメータの1つとしてストップロスを持ちます。そして、秩序を決めるのはそれである。そこで、必要な注文のストップレベルを計算し、関数に入力します。
 
FelixFX:

コンパイルで多くの誤りが判明

まあ、そうなるでしょうね。私のサブルーチンが絡んでくることは予告してありますからね。それらを削除し、GetLastError()であなたのプリンターと置き換えます。
 
drknn:

まあ、そうなるでしょうね。私のサブルーチンが関係していると言ったでしょうそれらを削除し、GetLastError()クエリであなたのプリンターに置き換えてください。

mqlに精通している人なら簡単にできますよ。私はまだ勉強中なので、不要なものを取り除き、必要なものだけを残すというのはちょっと難しいですね。
 
// =================================================================================================
// ************************* Трейлинг рыночных ордеров *********************************************
// =================================================================================================


// =================  TrailingRyn() =============================================================
// функция осуществляет трейлинг рыночных ордеров 
// ----------------------------------------------
void TrailingRyn_b(int ryn_TrStop, int ryn_TrStep, int Proskalz, int MAGIC, bool WaitProfit,  bool UseTrailingSound) {
  string SMB=Symbol(); 
  int i;
  int MinLevel=MarketInfo(SMB,MODE_STOPLEVEL);//Минимально допустимый уровень стоп-лосса/тейк-профита в пунктах   
  int SchBuy=SchBuy(MAGIC);
  int SchSell=SchSell(MAGIC);
  if(ryn_TrStop>=MinLevel && ryn_TrStep>0 && (SchBuy>0 || SchSell>0)){    
    for (i=OrdersTotal()-1;i>=0;i--){
      if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {Print("Ошибка № ",GetLastError()," при выборе ордер № ",i);}
      else {
        if (OrderSymbol()==SMB && OrderMagicNumber()==MAGIC){
          TrailingPositions_b(ryn_TrStop,ryn_TrStep,Proskalz,WaitProfit,UseTrailingSound);
        }
      }
    }
  }
 if(ryn_TrStop>=MinLevel && ryn_TrStep==0)
 Print("Трейлинг невозможен - ryn_TrStep==0");
} 
// =================================================================================================

//+------------------------------------------------------------------+
//| Сопровождение позиции простым тралом                             |
//+------------------------------------------------------------------+
void TrailingPositions_b(int ryn_TrStop, int ryn_TrStep, int Proskalz, bool WaitProfit, bool UseTrailingSound){
  if(OrderType()==OP_BUY){
    if(!WaitProfit || (Bid-OrderOpenPrice())>ryn_TrStop*Point){
      if (OrderStopLoss()<Bid-(ryn_TrStop+ryn_TrStep-1)*Point){
        ModifyStopLoss_b(Bid-ryn_TrStop*Point,UseTrailingSound);
      }
    }
  }
  if(OrderType()==OP_SELL){
    if(!WaitProfit || OrderOpenPrice()-Ask>ryn_TrStop*Point) {
      if(OrderStopLoss()>Ask+(ryn_TrStop+ryn_TrStep-1)*Point || OrderStopLoss()==0){
        ModifyStopLoss_b(Ask+ryn_TrStop*Point,UseTrailingSound);
      }
    }
  }
}

//+------------------------------------------------------------------+
//| Перенос уровня StopLoss                                          |
//| Параметры:                                                       |
//|   ldStopLoss - уровень StopLoss                                  |
//+------------------------------------------------------------------+
void ModifyStopLoss_b(double ldStopLoss, bool UseTrailingSound){
  bool fm=false;
  string NameTrallingSound  = "ok.wav";// Наименование звукового файла для трейлинга
  fm=OrderModify(OrderTicket(),OrderOpenPrice(),ldStopLoss,OrderTakeProfit(),0,CLR_NONE);
  if(fm!=0 && fm!=-1){
    if(UseTrailingSound) { PlaySound(NameTrallingSound);}
  }   
  if(fm==0 || fm==-1) { Print("Ошибка № ",GetLastError()," при модификации ордера № ",OrderTicket());}
}
//+------------------------------------------------------------------+
 
VOLDEMAR:
みんなありがとう......。
iCustomの使い方と、ある地点で矢印を描いてEAにオープンを指示するインジケーター ......。
iBandsがAsk > BBUPなら理解できるが、表示されるかどうかわからないオブジェクト(矢印のようなもの)はどうなんだろう?


どのバッファにどの行の値が格納されているかは、インジケータのコードを見て確認する必要があります。

iCustom関数にインジケータパラメータを入力する場合、Expert Advisorのカスタム変数にインジケータパラメータを追加する必要があります。そうしないと、EAはリストアップされた変数にどんな値があるのか理解できません。

 
こんにちは!もし私が間違った質問をしていたら蹴らないでくださいね!しかし、フォーラムやインターネットをくまなく探しましたが、私が探しているものは見つかりませんでした。問題はこれだ!それは彼らが他にやっていないまで、もし(最後のStopLossの後(時間で)例えば2利益を閉じる必要があります)の条件を作成することは可能ですか...そして、それはコードで小さなスケッチが可能であれば、それは可能であり、単に言葉でスキームを描画する - 事前にありがとうございました
 
ruzzo:
こんにちは!もし私が間違った質問をしていたら蹴らないでください。問題はこれだ!それは彼らが他にやっていないまで、もし(最後のStopLossの後(時間で)例えば2利益を閉じる必要があります)の条件を作成することは可能ですか...可能であれば、コードで小さなスケッチが、あなたは言葉でスキームを描くことができます、事前にありがとうございました


一般的には、まあ、具体的に何が必要かは不明ですが。

if()内の条件を挿入することができる。何らかのイベントが発生した後に挿入することができます。しかし、2つの利益を閉じるとはどういうことなのか。そして、それ以外のことも可能です。以上です...。


if(условие){

// какой-то код 

}

else{

// какой-то код 

} 
 
drknn:


実は、実際に何が必要なのかがわからないのです。

if()内の条件を挿入することができる。何らかのイベントが発生した後に挿入することができます。しかし、2つの利益を閉じるとはどういうことなのか。そして、それ以外のことも可能です。要は...


私は最初の条件、次にコードを理解しているが、私は条件を作成したい、私はStopLossを取得し、別のロットで動作し、例えば - 私は2つの利益との契約を終了するまで - 私はちょうどもしでバランスを比較したくない - すべて私はバランスを比較すると、私は時間制限付き保留中の注文を持っているので - によって変更ロットはスキップ - 注文は増加ロットと有効期限が切れるので - 多分私は掘っていないのだろうか?
 

理解するためにplzを助ける。

MACDサンプルを使ってみようと思ったのですが、何が問題なのか理解できません。どのバージョンでも、ターミナルにあるネイティブのものでも。

はすべてエラーを出します。

2011.02.28 23:01:53 MACD Sample EURUSD,M15: Error openingBUY order: 130

5桁のアカウント1:500、ロット0.1または1、差はありません、リアルアカウントです。

SLとTPを10倍にしても何も変わらず、さらに変えても結果は出ず、そこで何かを開かせることができない((

動作がはっきりしているのは、私が手でディールを開くと、それを損切り位置に転送してトローリングを開始するが、自分で開こうとしないことです

この1週間、私は何を間違えているのだろう?