アドバイザーの書き方を勉強中...。 - ページ 2

 
Figar0 >> :

...プログラマーでない初心者にとっては、違いが分かるかもしれません...。

))私にとっては大言壮語です!私はFXを始めてまだ2年半ですが...。1回目はデモで(入金額を50倍にした)、2回目はリアルで(結果はもっと控えめ)です。

結論はただ一つ、「規律がない」です。自分の感情に左右されないものを書いてみようと思いました)。

 
rid >> :

そして、より早く考えるために、まず、あなたの専門家をALL TICSに走らせ、その結果をここに書いてください。

テストはとにかく全てのダニを通過させた!写真で見る限りでは...。

 

このコードで何か失敗したようだ...。

void ClosePos()
   {
      double pp;

        if (OrderType()==OP_BUY)
          {
            pp=MarketInfo(OrderSymbol(), MODE_BID);
            OrderClose( OrderTicket(), OrderLots(), Bid, 0, Blue);
          }
        if (OrderType()==OP_SELL)
          {
            pp=MarketInfo(OrderSymbol(), MODE_ASK);
            OrderClose(OrderTicket(), OrderLots(), Ask, 0, Red);
          }
   }


ログにエラーが表示されるのですが・・・。

invalid ticket forOrderClose function
OrderClose error 4051
OrderSend error 130

この閉じるためのチェックは、反対の入力信号の前に行く...

買い気配がすれば

(OrderType()==OP_BUY)
清算する

OrderClose( OrderTicket(), OrderLots(), Bid, 0, Blue)

その逆もしかり...。

しかし、ログ全体がエラーで埋め尽くされてしまう...。

ティックごとに閉じようとしているように見えるが、条件がない......。



 
オーダーセレクトは どこにあるのですか?
 
わからない)だから、ここに来たんだ...正しく理解するために...。
 
sergeev >> :
オーダーセレクトは どこにあるのですか?

この機能について読む...このバリアントに変換されました。

void ClosePos()
   {
      double pp;
        if (OrderSelect(0, SELECT_BY_POS)==true) // Если есть открытый ордер
            { 
               if (OrderType()==OP_BUY)
                  {
                  pp=MarketInfo(OrderSymbol(), MODE_BID);
                  OrderClose( OrderTicket(), OrderLots(), Bid, 0, Blue);
                  }
               if (OrderType()==OP_SELL)
                  {
                  pp=MarketInfo(OrderSymbol(), MODE_ASK);
                  OrderClose(OrderTicket(), OrderLots(), Ask, 0, Red);
                  }
            }      
   }
 

モデリングのクオリティが低ければ、好きだったんだけどなぁ

 
何に依存するのか?
 

を検索すると、履歴をダウンロードして再計算する必要があります。

 
ALex2008 писал(а)>>
何に依存するのか?

分足ローソク足(例:Alpari社)をダウンロードし、分足ローソク足でテストする。

4時間足のローソク足で5pipsのストップをテストすることはできません。